pipeline流水线服务呢,是防止在测试环境测试可以到了生产环境就失败的自动化流程,减少了构建失败的次数
而且配合docker服务,docker的可移植性好,99.9%系统兼容,所以这里写一篇对流水线的文章
首先呢需要通过gitlab和jenkins、harbor仓库、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' </jiaoben/test.sh
'''
}
}
然后进行构建
这是日志第四部分的日志
看一下jenkins服务器下生成的文件
接下来看一下效果
访问一下
出现乱码是因为容器中没有修改字符集
在看看仓库中是不是有了镜像
这里有一点不好就是需要写一个脚本到远程docker的服务器上面,如果吧这个解决了就完美了,暂时没想到好的办法