Linuxword Global
当前位置: Linux技术 > Jenkins+Gitlab+Docker容器化工程自动化部署

d7fc48ab3ea5ce585a027ca8270c46fa_800x467

在软件开发过程中,如果我们每一次提交的代码都能够进行一次完整的编译、测试、打包、发布,就能及早发现问题、及早修复,在保证代码质量的同时让产品快速迭代。这就是持续集成(CI)、持续部署(CD)的好处。

目前 CI/CD 的方案有很多,本文将展示一个用 Docker + Jenkins 实现的完整过程。

本文的 CI/CD 流程

开发人员提交代码到自己的分支并 push 到远程仓库 ==> 触发远程仓库(GitHub/GitLab)的 Webhooks ==> Jenkins 接到通知自动执行之前准备好的一个流程(克隆代码,对代码进行编译、测试、打包,没有问题后会执行 docker 命令进行镜像构建)==> 最终发布到测试服务器中。

环境说明

  • 本文选用的测试环境是阿里云的服务器,所以全程也是在服务器上操作的,无需本地安装 docker,当然在本地操作也是可以的。
  • 本文选用的远程代码库是 Gitlab 仓库。
  • 本文中所用的 Jenkins 也是用的 docker 版。

步骤1:

创建springboot项目

步骤2:

创建Jenkins项目maven类型

步骤3:

配置 Webhooks

步骤4:

编写自动任务脚本进行 CI/CD

1cbafaae85b2b107277f6b35d7312199_935x397

#!/bin/bash
set fileformat=unix 

APP_PATH="/usr/hj/apps/hmall-service-auth-jwt"
APP_NAME="hmall-service-auth-jwt"
IMAGE_NAME=${APP_NAME}
CONTAINER_NAME=${APP_NAME}

cp /var/lib/jenkins/workspace/${APP_NAME}/target/${APP_NAME}.jar  ${APP_PATH}

echo "删除之前的镜像和容器"
docker stop ${CONTAINER_NAME}
docker rm   ${CONTAINER_NAME}
docker rmi  ${IMAGE_NAME}


echo "构建镜像" 
cd ${APP_PATH}
docker  build  -t ${IMAGE_NAME}  .
         
echo "发布应用" 

docker  run  -d  -p  9001:9001    -e "spring.profiles.active=test"    ${APP_NAME}  --name   ${CONTAINER_NAME}  ${IMAGE_NAME}

8251394b5abf91b541ce7aff800a0f15_695x575

 

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) *** 在线联系博主***
+1(323)529-5889

TeleGram联系

WhatsAPP联系

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

关于VmShell INC

VMSHELL INC 是一家成立于2021年的美国云计算服务公司,总部位于怀俄明州谢里丹,专注于提供全球数据中心的虚拟机服务器租赁和全球金融服务。 公司旗下品牌包括VmShell 和ToToTel,业务覆盖亚洲和美洲以及欧洲,致力于为外贸企业提供高效、稳定的网络解决方案。购买CMI香港服务器

站点统计

  • 文章总数: 3140 篇
  • 草稿数目: 0 篇
  • 分类数目: 9 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 48026 个
  • 注册用户: 139 人
  • 访问总量: 8,649,846 次
  • 最近更新: 2025年12月5日