pipeline流水线服务呢,是防止在测试环境测试可以到了生产环境就失败的自动化流程,减少了构建失败的次数

而且配合docker服务,docker的可移植性好,99.9%系统兼容,所以这里写一篇对流水线的文章:希望可以帮到大家

 

首先呢需要通过gitlabjenkinsharbor仓库、docker的服务器

至少需要这四个服务

图片1.png 

首先登陆gitlab服务器

Jenkins-pipeline流水线部署_第1张图片 

然后登陆jenkins服务创建项目

Jenkins-pipeline流水线部署_第2张图片

图片4.pngJenkins-pipeline流水线部署_第3张图片

Jenkins-pipeline流水线部署_第4张图片 


内容:

node{

    stage('git下载'){

        //check CODE

        git credentialsId: '160cbe7c-14ff-47a5-87a0-6fbf81cdc1c0', url: '[email protected]:lxf/lxf-demo.git'

    }

 

 

    stage('构建'){

        sh '''

cd /opt/apache-tomcat-7.0.61/webapps/jenkins/workspace/tomcat-test

mv index.html index.jsp

cat >> Dockerfile << EOF

FROM tomcat:tomcat

RUN rm -rf /usr/local/tomcat/webapps/ROOT/index.jsp

COPY ./index.jsp  /usr/local/tomcat/webapps/ROOT/index.jsp

WORKDIR /usr/local/tomcat

EXPOSE 8080

ENTRYPOINT ["./bin/catalina.sh", "run"]

EOF

    '''

    }

 

    stage('上传到仓库'){

        sh '''

docker build -t tomcat:2 .

docker tag tomcat:2 www.lxf.com/nginx/tomcat:2

docker login -u lixiaofeng -p na5016NAC www.lxf.com

docker push www.lxf.com/nginx/tomcat:2

docker rmi www.lxf.com/nginx/tomcat:2

docker rmi tomcat:2

        '''

    }

    stage('docker集群部署'){

        sh '''

ssh  172.16.4.20  'bash -x -s'  

        '''

    }

 

}

 Jenkins-pipeline流水线部署_第5张图片

Jenkins-pipeline流水线部署_第6张图片Jenkins-pipeline流水线部署_第7张图片

Jenkins-pipeline流水线部署_第8张图片

Jenkins-pipeline流水线部署_第9张图片

然后进行构建

Jenkins-pipeline流水线部署_第10张图片 

Jenkins-pipeline流水线部署_第11张图片 

这是日志第四部分的日志

Jenkins-pipeline流水线部署_第12张图片 

 

看一下jenkins服务器下生成的文件

Jenkins-pipeline流水线部署_第13张图片 

接下来看一下效果

  Jenkins-pipeline流水线部署_第14张图片

访问一下

出现乱码是因为容器中没有修改字符集

Jenkins-pipeline流水线部署_第15张图片 

 

在看看仓库中是不是有了镜像

Jenkins-pipeline流水线部署_第16张图片 

 

容器回滚:把新的容器删掉吧,旧的容器再次启动起来:


Jenkins-pipeline流水线部署_第17张图片

Jenkins-pipeline流水线部署_第18张图片

开始构建:

Jenkins-pipeline流水线部署_第19张图片

看看效果:

Jenkins-pipeline流水线部署_第20张图片


Jenkins-pipeline流水线部署_第21张图片

Jenkins-pipeline流水线部署_第22张图片