Jenkins持续集成/部署(CI/CD)教程

持续集成 持续交付 持续布署 (CI/CD)​​​

持续集成

持续集成(Continuous Integration,CI)是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括静态扫描、安全扫描、自动测试等过程)的检验,以尽快发现集成错误。许多团队发现这种方法可以显著减少集成引起的问题,并可以加快团队合作软件开发的速度(以上引用自Martin Fowler 对持续集成的定义)。

持续交付

持续交付(Continuous Delivery)是指频繁地将软件的新版本交付给质量团队或者用户,以供评审,如果评审通过,代码就进入生产阶段。

持续部署

持续部署(Continuous Deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境中。

CI/CD方案

关系图

方案思路

持续集成(CI)。在公司内网服务器安装Jenkins,用于更新代码,上传镜像。

持续部署(CD)。在各部署环境前置机(通互联网)安装Jenkins,用于执行脚本命令,做到通过Jenkins Web页面就能完成项目更新。

Jenkins

Jenkins是什么

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

官方文档

Jenkins 用户手册

安装Jenkins

前置条件

  1. 安装Docker
  2. 安装Docker-compose
  3. docker-compose-server.yml文件

  4. #### 镜像上传
    # 仓库私服: ***
    # 第一步:上传镜像到docker仓库
    # 第二步: 将此yml文件上传服务器,执行启动命令 docker-compose -f ./docker-compose-server.yml up
    version: '2'
    services:
      twqc-jenkins:
        image: ***
        user: root
        ports:
          - 9090:8080 # 确保9090端口没有被占用
          - 50000:50000
        restart: always
        container_name: boot-jenkins
        hostname: boot-jenkins
        volumes:
          - /etc/localtime:/etc/localtime
          - /etc/timezone:/etc/timezone
          - /usr/bin/docker:/usr/bin/docker
          - /var/run/docker.sock:/var/run/docker.sock
          - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
          - /data/jenkins_home:/var/jenkins_home #挂载Jenkins数据
          - /jenkins/maven/settings.xml:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Apache-maven-3.8.7/conf/settings.xml #持续集成需要挂载Maven配置文件,持续部署不需要

    Jenkins数据所挂载文件夹添加权限

  5. chown -R 1000:1000 /data/weique-lowcode/jenkins_home

    启动

  6. docker-compose -f ./docker-compose-server.yml up

    查看密码

  7. docker exec -it 容器id bash

    登入web页面

    填写控制台输出的密码
  8.  安装推荐的插件

  9.  创建用户

  10.  使用Jenkins(​​​​​​​持续集成(CI)

  11. 推荐安装的插件

  • Docker
  • Docker-compose
  • GitLab
  • Maven
  • NodeJS
  • Multiple SCMs

GitLab

在GitLab系统中生成一个Token

配置在Jenkins中

 

Maven

JDK

NodeJS

NodeJS插件自动下载会失败。解决方案:

  1. 服务器本机下载nodejs安装压缩包,解压到Jenkins插件对应nodejs目录(CNPM Binaries Mirror
  2. Jenkins数据已经挂载到宿主机上,直接解压至宿主机Jenkins插件目录(tar -zxvf node-v16.13.1-linux-x64.tar.gz -C /jenkins/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/)
  3. 配置Jenkins中NodeJS路径
  4. 重启容器

 

新建任务​​​​​​​

选择自由风格

源码管理

 构建环境

构建(前端)

 

cd /var/jenkins_home/workspace/twqc/twqc-boot/tw-cloud-web
npm config set proxy false
npm cache verify
npm install --legacy-peer-deps
npm install
npm run build

 构建(后端)

后端根据项目依赖关系,依次添加Maven构建并指定pom.xml文件。

构建/上传镜像

 

cd /var/jenkins_home/workspace/twqc/twqc-boot/tw-cloud-parent
docker-compose -f docker-compose-build.yml build
docker-compose -f docker-compose-build.yml push

 立即构建

查看控制台输出 

Jenkins使用(持续部署(CD))

推荐安装的插件 

Publish Over SSH

​​​​​​​Publish over SSH

新建任务 、构建

 

 

 

  1.  

​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值