From 67eee60cf28c632bd3f2bccb371f05278d15c8d4 Mon Sep 17 00:00:00 2001 From: manoj v <manojv@ilimi.in> Date: Fri, 8 Sep 2017 12:51:46 +0530 Subject: [PATCH] Issue #1 fix : Update Jenkinsfiles and Dockerfiles --- Dockerfile | 2 ++ Jenkinsfile | 7 ++++--- build.sh | 21 ++++++++++++++++----- deploy.sh | 23 ++++++++++++++++++++++- dockerPushToRepo.sh | 18 ++++++++++++++++-- 5 files changed, 60 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index bb69882..820e526 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,5 +15,7 @@ ENV sunbird_mongo_port 27017 ENV sunbird_content_service_port 5000 EXPOSE 27017 EXPOSE 5000 +RUN rm /home/sunbird/mw/content/services/js-services/content_service/content_service.zip +RUN rm /home/sunbird/mw/content_service.zip WORKDIR /home/sunbird/mw/content/services/js-services/content_service CMD ["node", "app.js", "&"] \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index a92d623..63473be 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,8 +16,8 @@ node('build-slave') { env.NODE_ENV = "build" print "Environment will be : ${env.NODE_ENV}" - sh('chmod 777 ./content/services/js-services/content_service/build.sh') - sh('./content/services/js-services/content_service/build.sh') + sh('chmod 777 build.sh') + sh('./build.sh') } @@ -26,7 +26,7 @@ node('build-slave') { echo 'Push to Repo' sh 'ls -al ~/' - dir('./content/services/js-services/content_service') { + dir('.') { sh('chmod 777 ./dockerPushToRepo.sh') sh 'ARTIFACT_LABEL=bronze ./dockerPushToRepo.sh' @@ -43,3 +43,4 @@ node('build-slave') { } } + diff --git a/build.sh b/build.sh index b319440..c46bd9e 100755 --- a/build.sh +++ b/build.sh @@ -1,7 +1,18 @@ +#!/bin/sh +# Build script +# set -o errexit +e () { + echo $( echo ${1} | jq ".${2}" | sed 's/\"//g') +} +m=$(./src/metadata.sh) -docker build -f ./content/services/js-services/content_service/Dockerfile.Build -t sunbird/content_service:0.0.1-build . -docker run --name content_service-0.0.1-build sunbird/content_service:0.0.1-build -containerid=`docker ps -q -a -f name=content_service-0.0.1-build` -docker cp $containerid:/opt/content_service.zip ./content/services/js-services/content_service/content_service.zip +org=$(e "${m}" "org") +name=$(e "${m}" "name") +version=$(e "${m}" "version") + +docker build -f ./Dockerfile.Build -t ${org}/${name}:${version}-build . +docker run --name=${name}-${version}-build ${org}/${name}:${version}-build +containerid=`docker ps -aqf "name=${name}-${version}-build"` +docker cp $containerid:/opt/content_service.zip content_service.zip docker rm $containerid -docker build -f ./content/services/js-services/content_service/Dockerfile -t sunbird/content_service:0.0.1-bronze . +docker build -f ./Dockerfile -t ${org}/${name}:${version}-bronze . \ No newline at end of file diff --git a/deploy.sh b/deploy.sh index d502efe..f6f3678 100644 --- a/deploy.sh +++ b/deploy.sh @@ -1,4 +1,25 @@ #!/bin/sh +# Build script +# set -o errexit +e () { + echo $( echo ${1} | jq ".${2}" | sed 's/\"//g') +} +m=$(./src/metadata.sh) + +org=$(e "${m}" "org") +name=$(e "${m}" "name") +version=$(e "${m}" "version") + +artifactLabel=${ARTIFACT_LABEL:-bronze} +env=${ENV:-null} + +echo "artifactLabel: ${artifactLabel}" +echo "env: ${env}" +echo "org: ${org}" +echo "name: ${name}" +echo "version: ${version}" ansible-playbook --version -ansible-playbook -i ansible/inventory/dev ansible/deploy.yml --tags "stack-sunbird" --extra-vars "hub_org=sunbird image_name=content_image image_tag=0.0.1-bronze" --vault-password-file /run/secrets/vault-pass +ansible-playbook -i ansible/inventory/dev ansible/deploy.yml --tags "stack-sunbird" --extra-vars "hub_org=${org} image_name=${name} image_tag=${version}-${artifactLabel}" --vault-password-file /run/secrets/vault-pass + + diff --git a/dockerPushToRepo.sh b/dockerPushToRepo.sh index 865099d..747aa82 100644 --- a/dockerPushToRepo.sh +++ b/dockerPushToRepo.sh @@ -1,4 +1,18 @@ +#!/bin/sh +# Build script +# set -o errexit +e () { + echo $( echo ${1} | jq ".${2}" | sed 's/\"//g') +} +m=$(./src/metadata.sh) + +org=$(e "${m}" "org") +hubuser=$(e "${m}" "hubuser") +name=$(e "${m}" "name") +version=$(e "${m}" "version") + artifactLabel=${ARTIFACT_LABEL:-bronze} -docker login -u "purplesunbird" -p`cat /home/ops/vault_pass` -docker push sunbird/content_service:0.0.1-bronze + +docker login -u "${hubuser}" -p`cat /home/ops/vault_pass` +docker push ${org}/${name}:${version}-${artifactLabel} docker logout -- GitLab