基于docker部署
1.部署jenkins
$ yum -y install java
$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode) $ wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo $ rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key $ yum -y install jenkins
2.部署gitlab
$ wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-9.1.3-ce.0.el6.x86_64.rpm $ rpm -ivh gitlab-ce-9.1.3-ce.0.el6.x86_64.rpm $ gitlab-ctl reconfigure $ gitlab-ctl start
3.harbor仓库部署
http://www.unmin.club/?p=252
4.gitlab新建项目
![](http://upload-images.jianshu.io/upload_images/9644303-25d2f89de33a5a3a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
图片.png
5.jenkins配置
![](http://upload-images.jianshu.io/upload_images/9644303-66f6337be3f66e04.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
图片.png
![](http://upload-images.jianshu.io/upload_images/9644303-002d716b22088d04.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
图片.png
node{
stage('git下载'){
//check CODE
git credentialsId: '664b2611-19e9-458f-beba-e215bbcb96f1', url: 'git@gitlab.example.com:root/my-test.git'
}
stage('构建'){ sh ''' cd /root/.jenkins/workspace/pipe/ cat >Dockerfile <<EOF FROM tomcat:tomcat RUN rm -rf /usr/src/tomcat/webapps/ROOT/index.jsp COPY ./index.jsp /usr/src/tomcat/webapps/ROOT/ WORKDIR /usr/src/tomcat EXPOSE 9090 ENTRYPOINT ["./bin/catalina.sh", "run"] EOF ''' } stage('上传到仓库'){ sh ''' docker build -t tomcat:2 . docker tag tomcat:2 www.zam.com/os/tomcat:2 docker login -u admin -p Harbor12345 www.zam.com docker push www.zam.com/os/tomcat:2 docker rmi www.zam.com/os/tomcat:2 docker rmi tomcat:2 ''' } stage('给docker集群部署'){ sh ''' ssh 192.168.16.238 'bash -x -s' </root/test.sh ''' } }
6.jenkins主机编写脚本(需要源镜像tomcat)
#!/bin/bash
docker login -u admin -p Harbor12345 www.zam.com
docker rmi -f www.zam.com/os/tomcat:2
docker pull www.zam.com/os/tomcat:2
docker rm -f tomcat
docker run -itd --name tomcat --net host www.zam.com/os/tomcat:2
7.构建
![](http://upload-images.jianshu.io/upload_images/9644303-f1443fc89b5830e1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)