【devops】六、CI、CD入门操作

六、CI、CD入门操作

基于Jenkins拉取GitLab的SpringBoot代码进行构建发布到测试环境实现持续集成

基于Jenkins拉取GitLab指定发行版本的SpringBoot代码进行构建发布到生产环境实现CD实现持续部署

6.1 CI操作(3)——持续集成

为了让程序代码可以自动推送到测试环境基于Docker服务运行,需要添加Docker配置和脚本文件让程序可以在集成到主干的同时运行起来。

1、gitlab上添加Dockerfile文件和docker-compose.yml文件

● 添加Dockerfile文件
在这里插入图片描述

Dockerfile文件内容:
FROM daocloud.io/library/java:8u40-jdk
COPY mytest.jar /usr/local/
WORKDIR /usr/local
CMD java -jar mytest.jar
  • 添加docker-compose.yml文件

在这里插入图片描述

version: '3.1'
services:
  mytest: 
    build: 
      context: ./
      dockerfile: Dockerfile
    image: mytest:v1.0.0
    container_name: mytest
    ports: 
      - 8081:8080    #注意端口号不要与gitlab的默认端口冲突

由于我这里没有java编译软件,所以这里我直接在gitlab上创建Dockerfile和docker-compose.yml文件
在这里插入图片描述

2、追加配置Jenkins构建后操作脚本命令

保存后点击立即构建,有可能会失败,解决方法是把配置好的dockerfile命令放在目标服务器上执行一遍,再次点击立即构建。
在这里插入图片描述

命令内容:
cd /usr/local/test
mv ./target/*jar ./
docker-compose down
docker-compose up -d --build
docker image prune -f   # 删除虚悬镜像
3、Jenkins立即构建推送到目标服务器
构建日志
在这里插入图片描述
查看目标服务器镜像,多了一个mytest,正常docker ps应该可以看到一个容器实例,但这里由于我的代码有问题无法在网页上打开,所以只能看到镜像
在这里插入图片描述
  • 正常来说,构建成功后,容器实例也跑起来之后,就会由测试人员测试部署到目标服务器的程序,再测试就会在网页上看到相关的内容。
    | 查看目标服务器并测试接口: |
    |:–|
    | 在这里插入图片描述|
    在这里插入图片描述|

6.2 持续交付、部署

程序代码在经过多次集成操作到达最终可以交付,持续交付整体流程和持续集成类似,不过需要选取指定的发行版本。

1、下载Git Parameter插件

在这里插入图片描述

2、设置项目参数化构建
  • 添加tag参数
    在这里插入图片描述
    在这里插入图片描述
3、切换指定标签并构建项目
  • 任务构建时,采用Shell方式构建,拉取指定tag版本代码
    在这里插入图片描述
    在这里插入图片描述
4、给git项目添加tag版本
  • 添加tag版本
    在这里插入图片描述
    在这里插入图片描述
    修改docker-compose.yml文件中的版本,以及java文件中的内容后,再次创建一个tag标签v2.0.0,
    在这里插入图片描述
5、基于Parameter构建任务,选择版本将任务发布到目标服务器

构建任务:
在这里插入图片描述
可以看到日志中 先切换版本再执行打包的操作:
在这里插入图片描述

docker ps 可以看到构建的镜像版本:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是小bā吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值