Skip to content

Commit

Permalink
Issue #1 fix : learner service docker and jenkins files
Browse files Browse the repository at this point in the history
  • Loading branch information
Manojvv committed Sep 11, 2017
1 parent 02a23e0 commit 4b01fbb
Show file tree
Hide file tree
Showing 7 changed files with 138 additions and 0 deletions.
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM openjdk:8-jre-alpine
MAINTAINER "Manojv" "[email protected]"
RUN apk update \
&& apk add unzip \
&& apk add curl \
&& adduser -u 1001 -h /home/sunbird/ -D sunbird \
&& mkdir -p /home/sunbird/learner
#ENV sunbird_learnerstate_actor_host 52.172.24.203
#ENV sunbird_learnerstate_actor_port 8088
COPY ./service/target/learning-service-1.0-SNAPSHOT-dist.zip /home/sunbird/learner/
RUN unzip /home/sunbird/learner/learning-service-1.0-SNAPSHOT-dist.zip -d /home/sunbird/learner/
RUN chown -R sunbird:sunbird /home/sunbird
USER sunbird
WORKDIR /home/sunbird/learner/
RUN mkdir -p /home/sunbird/learner/logs/
RUN touch /home/sunbird/learner/logs/learningServiceProject.log
RUN ln -sf /dev/stdout /home/sunbird/learner/logs/learningServiceProject.log
CMD java -cp '/home/sunbird/learner/learning-service-1.0-SNAPSHOT/lib/*' play.core.server.ProdServerStart /home/sunbird/learner/learning-service-1.0-SNAPSHOT
15 changes: 15 additions & 0 deletions Dockerfile.Build
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
FROM openjdk:8-jdk-alpine
MAINTAINER "Manojv" "[email protected]"
WORKDIR /opt
RUN apk update \
&& mkdir -p /opt/learner \
&& apk add wget \
&& wget http://www-eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz \
&& tar -xvzf apache-maven-3.3.9-bin.tar.gz
ENV M2_HOME /opt/apache-maven-3.3.9
ENV PATH ${M2_HOME}/bin:${PATH}
COPY learner /opt/learner/
WORKDIR /opt/learner/services
RUN mvn clean install -DskipTests
WORKDIR /opt/learner/services/learning-service
CMD ["mvn", "play2:dist"]
44 changes: 44 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!groovy

node('build-slave') {

currentBuild.result = "SUCCESS"

try {

stage('Checkout'){

checkout scm
}

stage('Build'){

env.NODE_ENV = "build"
print "Environment will be : ${env.NODE_ENV}"
sh 'mvn clean install -DskipTests=true '
dir ('service') {
sh 'mvn play2:dist'
}
sh('chmod 777 ./build.sh')
sh('./build.sh')

}

stage('Publish'){

echo 'Push to Repo'
sh 'ls -al ~/'
sh('chmod 777 ./dockerPushToRepo.sh')
sh 'ARTIFACT_LABEL=bronze ./dockerPushToRepo.sh'
sh './metadata.sh > metadata.json'
sh 'cat metadata.json'
archive includes: "metadata.json"

}
}
catch (err) {
currentBuild.result = "FAILURE"
throw err
}

}
14 changes: 14 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh
# Build script
# set -o errexit
e () {
echo $( echo ${1} | jq ".${2}" | sed 's/\"//g')
}
m=$(./metadata.sh)

org=$(e "${m}" "org")
name=$(e "${m}" "name")
version=$(e "${m}" "version")


docker build -f ./Dockerfile -t ${org}/${name}:${version}-bronze .
23 changes: 23 additions & 0 deletions deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/sh
# Build script
# set -o errexit
e () {
echo $( echo ${1} | jq ".${2}" | sed 's/\"//g')
}
m=$(./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=${org} image_name=${name} image_tag=${version}-${artifactLabel}" --vault-password-file /run/secrets/vault-pass
18 changes: 18 additions & 0 deletions dockerPushToRepo.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/sh
# Build script
# set -o errexit
e () {
echo $( echo ${1} | jq ".${2}" | sed 's/\"//g')
}
m=$(./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 "${hubuser}" -p`cat /home/ops/vault_pass`
docker push ${org}/${name}:${version}-${artifactLabel}
docker logout
6 changes: 6 additions & 0 deletions installDeps.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/sh
# Build script
# set -o errexit

#apk -v --update --no-cache add jq
sudo apt-get install -y jq

0 comments on commit 4b01fbb

Please sign in to comment.