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

DevOps之安装和配置 Jenkins (一)
DevOps 之 CI/CD入门操作 (二)
Sonar Qube介绍和安装(三)
Harbor镜像仓库介绍&安装 (四)
Jenkins容器使用宿主机Docker(五)
Jenkins流水线初体验(六)

CI/CD简介

在这里插入图片描述

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

一、CI流程

1.1 新建项目

  • 新建一个简单的springboot项目

在这里插入图片描述

  • 写一个简单的Controller

在这里插入图片描述

  • 运行测试

在这里插入图片描述

1.2 上传GitLab

  • 安装GitLab,编写docker-compose.yml
version: '3.1'
services:
	gitlab:
	image: 'gitlab/gitlab-ce:latest'
	container_name: gitlab
	restart: always
	environment:
		GITLAB_OMNIBUS_CONFIG: |
			external_url 'http://xxx.xxx.xxx.xxx:8929' 
			gitlab_rails['gitlab_shell_ssh_port'] = 2224
	ports:
		- '8929:8929'
		- '2224:2224'
	volumes:
		- './config:/etc/gitlab'
		- './logs:/var/log/gitlab'
		- './data:/var/opt/gitlab'
  • 启动容器
docker-compose up -d
  • 查看root用户密码
docker exec -it gitlab cat /etc/gitlab/initial_root_password
  • 访问http://xxx.xxx.xxx.xxx:8929,并更改密码

在这里插入图片描述

  • 创建仓库

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

  • 添加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构建
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值