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

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

 

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

至少需要这四个服务

 

首先登陆gitlab服务器

 

然后登陆jenkins服务创建项目

 


内容:

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服务器下生成的文件

 

接下来看一下效果

  

访问一下

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

 

 

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

 

 

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


开始构建:

看看效果: