Просмотр исходного кода

Merge pull request #89 from sharelatex/csh-issue-601

Csh issue 601
Christopher Hoskin 8 лет назад
Родитель
Сommit
ec1bc9102c

+ 8 - 1
services/clsi/Jenkinsfile

@@ -29,7 +29,13 @@ pipeline {
 
 
     stage('Package and publish build') {
     stage('Package and publish build') {
       steps {
       steps {
-        sh 'make publish'
+        
+        withCredentials([file(credentialsId: 'gcr.io_csh-gcdm-test', variable: 'DOCKER_REPO_KEY_PATH')]) {
+          sh 'docker login -u _json_key --password-stdin https://gcr.io/csh-gcdm-test < ${DOCKER_REPO_KEY_PATH}'
+        }
+        sh 'DOCKER_REPO=gcr.io/csh-gcdm-test make publish'
+        sh 'docker logout https://gcr.io/csh-gcdm-test'
+        
       }
       }
     }
     }
 
 
@@ -47,6 +53,7 @@ pipeline {
   post {
   post {
     always {
     always {
       sh 'DOCKER_COMPOSE_FLAGS="-f docker-compose.ci.yml" make test_clean'
       sh 'DOCKER_COMPOSE_FLAGS="-f docker-compose.ci.yml" make test_clean'
+      sh 'make clean'
     }
     }
 
 
     failure {
     failure {

+ 8 - 3
services/clsi/Makefile

@@ -1,7 +1,7 @@
 # This file was auto-generated, do not edit it directly.
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 # https://github.com/sharelatex/sharelatex-dev-environment
-# Version: 1.1.3
+# Version: 1.1.7
 
 
 BUILD_NUMBER ?= local
 BUILD_NUMBER ?= local
 BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD)
 BRANCH_NAME ?= $(shell git rev-parse --abbrev-ref HEAD)
@@ -15,6 +15,8 @@ DOCKER_COMPOSE := BUILD_NUMBER=$(BUILD_NUMBER) \
 
 
 
 
 clean:
 clean:
+	docker rmi ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
+	docker rmi gcr.io/csh-gcdm-test/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
 	rm -f app.js
 	rm -f app.js
 	rm -rf app/js
 	rm -rf app/js
 	rm -rf test/unit/js
 	rm -rf test/unit/js
@@ -34,9 +36,12 @@ test_clean:
 test_acceptance_pre_run:
 test_acceptance_pre_run:
 	@[ ! -f test/acceptance/scripts/pre-run ] && echo "clsi has no pre acceptance tests task" || $(DOCKER_COMPOSE) run --rm test_acceptance test/acceptance/scripts/pre-run
 	@[ ! -f test/acceptance/scripts/pre-run ] && echo "clsi has no pre acceptance tests task" || $(DOCKER_COMPOSE) run --rm test_acceptance test/acceptance/scripts/pre-run
 build:
 build:
-	docker build --pull --tag gcr.io/csh-gcdm-test/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) .
+	docker build --pull --tag ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) \
+		--tag gcr.io/csh-gcdm-test/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) \
+		.
 
 
 publish:
 publish:
-	docker push gcr.io/csh-gcdm-test/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
+
+	docker push $(DOCKER_REPO)/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER)
 
 
 .PHONY: clean test test_unit test_acceptance test_clean build publish
 .PHONY: clean test test_unit test_acceptance test_clean build publish

+ 7 - 1
services/clsi/bin/install_texlive_gce.sh

@@ -1,13 +1,19 @@
 #!/bin/sh
 #!/bin/sh
 METADATA=http://metadata.google.internal./computeMetadata/v1
 METADATA=http://metadata.google.internal./computeMetadata/v1
 SVC_ACCT=$METADATA/instance/service-accounts/default
 SVC_ACCT=$METADATA/instance/service-accounts/default
+PROJECT_URL=$METADATA/project/project-id
 ACCESS_TOKEN=$(curl -s -H 'Metadata-Flavor: Google' $SVC_ACCT/token | cut -d'"' -f 4)
 ACCESS_TOKEN=$(curl -s -H 'Metadata-Flavor: Google' $SVC_ACCT/token | cut -d'"' -f 4)
 if [ -z "$ACCESS_TOKEN" ]; then
 if [ -z "$ACCESS_TOKEN" ]; then
 	echo "No acccess token to download texlive-full images from google container, continuing without downloading. This is likely not a google cloud enviroment."
 	echo "No acccess token to download texlive-full images from google container, continuing without downloading. This is likely not a google cloud enviroment."
 	exit 0
 	exit 0
 fi
 fi
+PROJECT=$(curl -s -H 'Metadata-Flavor: Google' $PROJECT_URL)
+if [ -z "$PROJECT" ]; then
+	echo "No project name to download texlive-full images from google container, continuing without downloading. This is likely not a google cloud enviroment."
+	exit 0
+fi
 docker login -u '_token' -p $ACCESS_TOKEN https://gcr.io
 docker login -u '_token' -p $ACCESS_TOKEN https://gcr.io
-docker pull --all-tags gcr.io/henry-terraform-admin/texlive-full #TODO NEED TO MAKE THIS AN ENV VAR
+docker pull --all-tags gcr.io/$PROJECT/texlive-full
 cp /app/bin/synctex /app/bin/synctex-mount/synctex
 cp /app/bin/synctex /app/bin/synctex-mount/synctex
 
 
 echo "Finished downloading texlive-full images"
 echo "Finished downloading texlive-full images"

+ 5 - 4
services/clsi/docker-compose.ci.yml

@@ -1,25 +1,27 @@
 # This file was auto-generated, do not edit it directly.
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 # https://github.com/sharelatex/sharelatex-dev-environment
-# Version: 1.1.3
+# Version: 1.1.7
 
 
 version: "2"
 version: "2"
 
 
 services:
 services:
   test_unit:
   test_unit:
-    image: gcr.io/csh-gcdm-test/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
+    image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
     command: npm run test:unit:_run
     command: npm run test:unit:_run
 
 
   test_acceptance:
   test_acceptance:
     build: .
     build: .
-    image: gcr.io/csh-gcdm-test/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
+    image: ci/$PROJECT_NAME:$BRANCH_NAME-$BUILD_NUMBER
     extends:
     extends:
       file: docker-compose-config.yml
       file: docker-compose-config.yml
       service: ci
       service: ci
     environment:
     environment:
+      ELASTIC_SEARCH_DSN: es:9200
       REDIS_HOST: redis
       REDIS_HOST: redis
       MONGO_HOST: mongo
       MONGO_HOST: mongo
       POSTGRES_HOST: postgres
       POSTGRES_HOST: postgres
+      MOCHA_GREP: ${MOCHA_GREP}
     depends_on:
     depends_on:
       - mongo
       - mongo
       - redis
       - redis
@@ -30,4 +32,3 @@ services:
 
 
   mongo:
   mongo:
     image: mongo:3.4
     image: mongo:3.4
-

+ 3 - 1
services/clsi/docker-compose.yml

@@ -1,7 +1,7 @@
 # This file was auto-generated, do not edit it directly.
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
 # Instead run bin/update_build_scripts from
 # https://github.com/sharelatex/sharelatex-dev-environment
 # https://github.com/sharelatex/sharelatex-dev-environment
-# Version: 1.1.3
+# Version: 1.1.7
 
 
 version: "2"
 version: "2"
 
 
@@ -24,6 +24,7 @@ services:
       file: docker-compose-config.yml
       file: docker-compose-config.yml
       service: dev
       service: dev
     environment:
     environment:
+      ELASTIC_SEARCH_DSN: es:9200
       REDIS_HOST: redis
       REDIS_HOST: redis
       MONGO_HOST: mongo
       MONGO_HOST: mongo
       POSTGRES_HOST: postgres
       POSTGRES_HOST: postgres
@@ -32,6 +33,7 @@ services:
       - mongo
       - mongo
       - redis
       - redis
     command: npm run test:acceptance
     command: npm run test:acceptance
+
   redis:
   redis:
     image: redis
     image: redis
 
 

+ 3 - 4
services/clsi/package.json

@@ -8,17 +8,16 @@
   },
   },
   "scripts": {
   "scripts": {
     "compile:app": "([ -e app/coffee ] && coffee $COFFEE_OPTIONS -o app/js -c app/coffee || echo 'No CoffeeScript folder to compile') && ( [ -e app.coffee ] && coffee $COFFEE_OPTIONS -c app.coffee || echo 'No CoffeeScript app to compile')",
     "compile:app": "([ -e app/coffee ] && coffee $COFFEE_OPTIONS -o app/js -c app/coffee || echo 'No CoffeeScript folder to compile') && ( [ -e app.coffee ] && coffee $COFFEE_OPTIONS -c app.coffee || echo 'No CoffeeScript app to compile')",
-    "compile": "npm run compile:app && npm run compile:test:acceptance && npm run compile:test:smoke",
     "start": "npm run compile:app && node $NODE_APP_OPTIONS app.js",
     "start": "npm run compile:app && node $NODE_APP_OPTIONS app.js",
     "test:acceptance:_run": "mocha --recursive --reporter spec --timeout 30000 --exit $@ test/acceptance/js",
     "test:acceptance:_run": "mocha --recursive --reporter spec --timeout 30000 --exit $@ test/acceptance/js",
     "test:acceptance": "npm run compile:app && npm run compile:acceptance_tests && npm run test:acceptance:_run -- --grep=$MOCHA_GREP",
     "test:acceptance": "npm run compile:app && npm run compile:acceptance_tests && npm run test:acceptance:_run -- --grep=$MOCHA_GREP",
-    "test:unit:_run": "mocha --recursive --reporter spec  --exit $@ test/unit/js",
+    "test:unit:_run": "mocha --recursive --reporter spec --exit $@ test/unit/js",
     "test:unit": "npm run compile:app && npm run compile:unit_tests && npm run test:unit:_run -- --grep=$MOCHA_GREP",
     "test:unit": "npm run compile:app && npm run compile:unit_tests && npm run test:unit:_run -- --grep=$MOCHA_GREP",
     "compile:unit_tests": "[ ! -e test/unit/coffee ] &&  echo 'No unit tests to compile' || coffee -o test/unit/js -c test/unit/coffee",
     "compile:unit_tests": "[ ! -e test/unit/coffee ] &&  echo 'No unit tests to compile' || coffee -o test/unit/js -c test/unit/coffee",
     "compile:acceptance_tests": "[ ! -e test/acceptance/coffee ] && echo 'No acceptance tests to compile' || coffee -o test/acceptance/js -c test/acceptance/coffee",
     "compile:acceptance_tests": "[ ! -e test/acceptance/coffee ] && echo 'No acceptance tests to compile' || coffee -o test/acceptance/js -c test/acceptance/coffee",
-    "compile:all": "npm run compile:app && npm run compile:unit_tests && npm run compile:acceptance_tests",
+    "compile:all": "npm run compile:app && npm run compile:unit_tests && npm run compile:acceptance_tests && npm run compile:smoke_tests",
     "nodemon": "nodemon --config nodemon.json",
     "nodemon": "nodemon --config nodemon.json",
-    "compile:smoke_tests": "[ -e test/smoke ] && coffee -o test/smoke/js -c test/smoke/coffee || echo 'No smoke tests to compile, skipping'"
+    "compile:smoke_tests": "[ ! -e test/smoke/coffee] &&  echo 'No smoke tests to compile' || coffee -o test/smoke/js -c test/smoke/coffee"
   },
   },
   "author": "James Allen <james@sharelatex.com>",
   "author": "James Allen <james@sharelatex.com>",
   "dependencies": {
   "dependencies": {