===== DevOps Practice from Alibaba Cloud =====
==== Install Jekins ====
[[jenkins_debian_10|steps here]]
==== Install Maven ====
[[install_maven_debian_10|steps here]]
==== Install Docker ====
[[docker_debian|steps here]]
==== Configuration ====
=== sudo for jenkins user ===
usermod -aG sudo jenkins
Modify sudoers with visudo as follows:
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
=== create build path ===
mkdir /var/lib/jenkins/build
chown jenkins.jenkins /var/lib/jenkins/build
=== Jenkins configuration ===
Enter to web page and follow steps as show on images:
{{::shot-2020-09-03_17-06-36.jpg?800|}}
{{::shot-2020-09-03_18-07-44.jpg?800|}}
/usr/lib/jvm/java-11-openjdk-amd64/
{{::shot-2020-09-03_18-12-34.jpg?800|}}
/usr/share/maven/
Create a new Freestyle project job:
{{::shot-2020-09-03_18-19-04.jpg?800|}}
{{::shot-2020-09-03_18-23-38.jpg?800|}}
{{::shot-2020-09-03_18-24-51.jpg?800|}}
{{::shot-2020-09-03_18-41-43.jpg?800|}}
#Variables
JENKINS_WAR_HOME='/var/lib/jenkins/workspace/alibabadevops/target'
DOCKERFILE_HOME='/var/lib/jenkins/build'
HARBOR_IP='registry-intl.cn-hongkong.aliyuncs.com/coursedevops/r_coursedevops'
REPOSITORIES='coursedevops/r_coursedevops'
HARBOR_USER=''
HARBOR_USER_PASSWD=''
#Copy the newest war to docker-file directory
\cp -f ${JENKINS_WAR_HOME}/MyMavenApp.war ${DOCKERFILE_HOME}/MyMavenApp.war
#Delete image early version
sudo docker login -u ${HARBOR_USER} -p ${HARBOR_USER_PASSWD} ${HARBOR_IP}
IMAGE_ID=sudo docker images | grep ${REPOSITORIES}| awk '{print $3}'
if [ -n "{IMAGE_ID}"];then
sudo docker rm ${IMAGE_ID}
fi
#Build image
cd ${DOCKERFILE_HOME}
TAG=$(date +%Y%m%d-%H%M%s)
sudo docker build -t ${HARBOR_IP}/${REPOSITORIES}:${TAG} .
#Push to the harbor registry
sudo docker push ${HARBOR_IP}/${REPOSITORIES}:${TAG}
==== Install Terraform ====
[[terraform_debian|steps here]]