24小时在线平台

当前位置: 24小时在线平台 > 部署教程大全 > 文章页

一文详解 Jenkins 与 Docker 的自动化 CI/CD 实战

时间:2025-07-04 11:02来源: 作者:admin 点击: 8 次
要想做到一个高效的 CI/CD 流程,需要有能力整合 DevOps 工具链及多环境适配,并且设计之初以自动化为原则,如一键部署、一键升级。

复制

node ("192.168.30.128") { #指定slave标签#拉取代码stage('Git Checkout') { checkout([$class: 'GitSCM',branches: [[name: '$Tag']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'git@192.168.30.130:/home/git/solo.git']]])} #$Tag引用用户交互输入的tag#代码编译stage('Maven Build') { sh ''' export JAVA_HOME=/usr/local/jdk /usr/local/maven/bin/mvn clean package -Dmaven.test.skip=true '''}#项目打包到镜像并推送到镜像仓库stage('Build and Puah Image') { sh ''' docker login -u admin -p Harbor12345 harbor.uqp.com REPOSITORY=harbor.uqp.com/project/solo:${Tag} cat > Dockerfile2 <<EOF FROM harbor.uqp.com/library/tomcat-85:latest RUN rm -rf /usr/local/tomcat/webapps/ROOT COPY target/*.war /usr/local/tomcat/webapps/ROOT.war CMD ["catalina.sh","run"]EOF docker build -t $REPOSITORY -f Dockerfile2 . docker push $REPOSITORY ''' #根据$Tag作为镜像版本号}#部署到Docker主机stage('Deploy to Docker') { sh ''' REPOSITORY=harbor.uqp.com/project/solo:${Tag} docker rm -f blog-solo | true docker image rm $REPOSITORY | true docker login -u amdin -p Harbor12345 harbor.uqp.com docker container run -d -v /usr/local/jdk:/usr/local/jdk --name blog-solo -p 88:8080 $REPOSITORY '''}}

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-07-04 20:07 最后登录:2025-07-04 20:07
栏目列表
推荐内容