五、Integrate工具 & 实现基础CI/CD

系列文章目录

一、DevOps介绍
二、Code阶段工具
三、Build阶段工具
四、Operate阶段工具
五、Integrate工具



前言

持续集成、持续部署的工具很多,其中Jenkins是一个开源的持续集成平台。
Jenkins涉及到将编写完毕的代码发布到测试环境和生产环境的任务,并且还涉及到了构建项目等任务。
Jenkins需要大量的插件保证工作,安装成本较高,下面会基于Docker搭建Jenkins。


1、Jenkins介绍

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具。
Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab、Docker、K8s作为实现DevOps的核心工具。
Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来自动化CI/CD过程中的各种琐碎功能。
在这里插入图片描述

CI/CD可以理解为:

  • CI过程即是通过Jenkins将代码拉取、构建、制作镜像交给测试人员测试。
  • 持续集成:让软件代码可以持续的集成到主干上,并自动构建和测试。

CD过程即是通过Jenkins将打好标签的发行版本代码拉取、构建、制作镜像交给运维人员部署。

  • 持续交付:让经过持续集成的代码可以进行手动部署。
  • 持续部署:让可以持续交付的代码随时随地的自动化部署。

2、Jenkins安装

  • 拉取Jenkins镜像

    docker pull jenkins/jenkins:lts-jdk21
    
  • 编写docker-compose.yml

    version: "3.1"
    services:
      jenkins:
        image: jenkins/jenkins:lts-jdk21
        container_name: jenkins
        ports:
          - 8080:8080
          - 50000:50000
        volumes:
          - ./data/:/var/jenkins_home/
    
  • 将docker-compose.yml放到/usr/local/docker/jenkins_docker 文件夹下,docker/jenkins_docker是我新建的文件夹。

    cd /usr/local
    mkdir -p docker/jenkins_docker
    cd docker/jenkins_docker/
    
  • 在jenkins_docker文件夹下创建data文件夹,并附上读写权限

    mkdir data
    chmod -R a+w data/
    
  • 启动Jenkins

    cd /usr/local/docker/jenkins_docker
    docker compose up -d 
    
  • 启动Jenkins容器后,由于Jenkins需要下载大量内容,但是由于默认下载地址下载速度较慢, 需要重新设置下载地址为国内镜像站。

    # 修改数据卷中的hudson.model.UpdateCenter.xml文件
    <?xml version='1.1' encoding='UTF-8'?> <sites>
    	<site>
    		<id>default</id>
    		<url>https://updates.jenkins.io/update-center.json</url>
    	</site> 
    </sites>
    
    
    
    # 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
    <?xml version='1.1' encoding='UTF-8'?>
    <sites>
    	<site>
    		<id>default</id>
    		<url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
    	</site>
    </sites>
    
    # 清华大学的插件源也可以
    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
    
  • 再次重启Jenkins容器,访问Jenkins(需要稍微等会)

    # 重启Jenkins
    docker compose restart
    

    在这里插入图片描述

  • 查看密码登录Jenkins,并登录下载插件

    docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
    

    在这里插入图片描述

  • 创建管理员用户
    在这里插入图片描述

  • 实例配置
    在这里插入图片描述

  • 安装必要插件

    1. Git Parameter
    2. Publish Over SSH
      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述

3、Jenkins入门配置

1、配置JDK和Maven

1.将JDK和Maven移动到Jenkins的挂载目录下/usr/local/docker/jenkins_docker

cd /usr/local/
mv jdk21/  docker/jenkins_docker/data/
mv maven/  docker/jenkins_docker/data/

2、创建SpringBoot项目,并提交到GitLab。

1、创建SpringBoot项目

在这里插入图片描述

2、编写Dockerfile和docker-compose.yml文件

在这里插入图片描述

3、将代码提交到GitLab

 git init 
 git add .
 git commit -m "初次提交"
 git remote add origin http://101.126.17.78:8929/root/mytest.git
 git branch -M main
 git push -uf origin main

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

3、Jenkins配置Publish over SSH

在这里插入图片描述

在这里插入图片描述

  • Remote Directory这里的参数是推送脚本或者文件的文件夹
    我这里是新建了一个test的目录
    在这里插入图片描述

4、Jenkins全局配置JDK、Maven

1、配置JDK21

  • 添加JDK
    在这里插入图片描述
/var/jenkins_home/jdk21

2、配置Maven

在这里插入图片描述

/var/jenkins_home/maven

5、新建任务及配置

  • 新建任务
    在这里插入图片描述
  • 配置GitLab,拉取代码
    在这里插入图片描述- 配置Maven,拉取代码进行打包。
    在这里插入图片描述
    在这里插入图片描述
clean package -DskipTests
  • 配置SSH,将打包好的jar包推送到指定服务器,并且执行脚本启动项目
    在这里插入图片描述
    在这里插入图片描述
target/*.jar docker/*
cd /usr/local/test/docker
mv ../target/*.jar ./
docker compose down
docker compose up -d --build
docker image prune -f

6、构建项目

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值