当前位置: 首页 > article >正文

DevOps 之 CI/CD入门操作 (二)

CI/CD简介

在这里插入图片描述

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

一、CI流程

1.1 新建项目

  • 新建一个简单的springboot项目

在这里插入图片描述

  • 写一个简单的Controller

在这里插入图片描述

  • 运行测试

在这里插入图片描述

1.2 上传GitLab

  • 创建仓库

在这里插入图片描述
在这里插入图片描述

  • 添加Access tokens

在这里插入图片描述

  • 用Access tokens登录并上传代码

在这里插入图片描述

在这里插入图片描述

1.3 配置Jenkins

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

  • 新建item

在这里插入图片描述

在这里插入图片描述

  • 配置gitlab仓库(用于jenkins拉取代码)

在这里插入图片描述
上述第4步,配置密码
在这里插入图片描述

  • 构建项目

在这里插入图片描述

  • 构建成功

在这里插入图片描述

  • 进入jenkins容器查看
    会发现多了一个workspace文件夹,里面就是构建的项目
#1
docker exec -it jenkins bash
#2
cd ~
#3
cd workspace
#4
cd mytest
#4
ls

在这里插入图片描述

  • 至此,Jenkins已成功拉取Gitlab的代码
    需要Jenkins将拉取的代码通过maven构建成jar包
    添加 Jenkins构建时配置(maven)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 再次构建项目(构建过程需要一定时间,要初始化maven仓库)

在这里插入图片描述

  • 查看构建控制台

在这里插入图片描述
在这里插入图片描述

  • 进入Jenkins容器查看,会发现多了target文件夹和jar包
docker exec -it jenkins bash

在这里插入图片描述

  • Jenkins 构建后配置
    jar包构建成功后,将jar包推送至目标服务器
    需要用到之前安装的 Publish Over SSH 插件

(插件的配置)
指定了jar包上传的服务器(这里用的当前的虚拟机)以及目录
插件的配置

配置Publish Over SSH 和上传源
在这里插入图片描述
在这里插入图片描述

  • 再次构建项目

在这里插入图片描述
在这里插入图片描述

  • 成功后查看目标服务器是否有相应jar包

在这里插入图片描述

1.4 借助docker容器运行jar

jar包上传后要实现将jar包运行在服务器,这里需要借助docker来完成

  • 更改打包名finalName
    在这里插入图片描述

  • 创建Dockerfile,帮助构建镜像

FROM openjdk:8u131  //基础镜像
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:8081  #映射端口

在这里插入图片描述

  • 上传代码及文件
  • 成功上传后,Jenkins重新构建
  • 构建完成后,进入Jenkins容器可以看到新建的docker以及文件
    在这里插入图片描述
  • Publish Over SSH配置增加上传源,并且加上命令
cd /usr/local/test/docker
mv ../target/*.jar ./
docker-compose down
docker-compose up -d --build
docker image prune -f   #删除名字为none的镜像

在这里插入图片描述

  • 构建项目失败
    在这里插入图片描述
  • 将命令拷贝去linux执行
    在这里插入图片描述
  • 再次构建,成功
    在这里插入图片描述
  • 查看镜像,测试
    在这里插入图片描述
    在这里插入图片描述

1.5 测试CI流程

  • 修改代码,提交
    在这里插入图片描述
  • 重新构建,测试
    在这里插入图片描述

二、CD流程

  • 配置git参数 ,以及构建前配置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • GitLab新建tag
    在这里插入图片描述
    在这里插入图片描述

  • 修改并上传代码
    在这里插入图片描述

  • 创建新的tag
    在这里插入图片描述

  • Jenkins可以根据tag构建项目
    在这里插入图片描述

  • 测试,选择不同的tag构建
    在这里插入图片描述


http://www.kler.cn/a/406842.html

相关文章:

  • MySQL数据库学习(持续更新ing)
  • 海洋通信船舶组网工业4G路由器应用
  • 大数据基于Spring Boot的化妆品推荐系统的设计与实现
  • pinia是什么?pinia简介快速入门,创建pinia到vue3项目中
  • 知识中台在多语言客户中的应用
  • 虚拟形象+动作捕捉:解锁品牌N种营销玩法
  • k8s上面的Redis集群链接不上master的解决办法
  • Powershell 命令行窗口 设置行宽、折行、行省略
  • IText创建加盖公章的pdf文件并生成压缩文件
  • 高级java每日一道面试题-2024年11月22日-JVM篇-说说堆和栈的区别?
  • 纯HTMLCSS实现3D旋转地球
  • 嵌入式C语言面试题 - 2024/11/18
  • 【HM-React】01. React基础-上
  • element-plus教程:Layout 布局
  • 从容器到Podman:一个全方位的剖析
  • 电子应用设计方案-20:智能电冰箱系统方案设计
  • 人工智能与自动驾驶:从梦想到现实
  • 事务、视图、索引
  • Kafka-Consumer理论知识
  • “iOS profile文件与私钥证书文件不匹配”总结打ipa包出现的问题
  • R package安装的几种方式
  • gstream插件编译笔记【1.16.3】
  • 仿axios,封装微信小程序的请求
  • Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)(很详细)
  • RHCD-----shell
  • 【Isaac Sim】相关问题汇总