Jenkins-pipeline流水线部署

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

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

 

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

至少需要这四个服务

图片1.png 

首先登陆gitlab服务器

图片2.png 

然后登陆jenkins服务创建项目

图片3.png

图片4.png图片5.png

图片6.png 


内容:

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'  </jiaoben/test.sh

        '''

    }

 

}

 图片7.png

图片8.png图片9.png

图片10.png

图片11.png

然后进行构建

图片12.png 

图片13.png 

这是日志第四部分的日志

图片14.png 

 

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

图片15.png 

接下来看一下效果

  图片16.png

访问一下

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

图片17.png 

 

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

图片18.png 

 

这里有一点不好就是需要写一个脚本到远程docker的服务器上面,如果吧这个解决了就完美了,暂时没想到好的办法


猜你喜欢

转载自blog.51cto.com/xiaorenwutest/2165883