github Actions + jenkins 持续集成

简介

项目托管在Github上,jenkins已经实现自动打包部署任务。每一次代码更新都需要登录jenkins进行点击操作,过于繁琐。

专业词汇

  • CI Continuous Integration 持续集成,Github Actions 提供了持续集成方案
  • CD Continuous Deployment 持续发布
  • WorkFlow 工作流,类似于流水线

目标

Github Actions + Jenkins 实现CI & CD
Github Actions监听master分支push event,curl 发送到之前已经部署好的Jenkins Job API,进行自动打包,停服更新。

物料

像做菜一样,下面使我们拥有的物料 — 沃兹基硕德

  1. Github project

  2. Github Actions

  3. Jenkins Job

步骤

  1. 创建Github Actions
    新建项目或者使用已有项目进行创建Actions
    github Actions + jenkins 持续集成_第1张图片
    选择自定义的方式创建
    github Actions + jenkins 持续集成_第2张图片

创建完成后生成的模板文件
github Actions + jenkins 持续集成_第3张图片
代码文件

# CI名称
name: CI
# 监听事件,可选push,pull request
on: [push]

# 任务创建
jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Run a one-line script
      run: echo Hello, world!
    - name: Run a multi-line script
      run: |
        echo Add other actions to build,
        echo test, and deploy your project.

  1. 写我们自己需要的CI
name: Test - CI

  # Trigger the workflow on push,   
  # but only for the master branch
on:
  push:
    branches:
      - master


jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - name: Jenkins execute
        run: curl http://[ip:port]/job/mall/build?token=[TOKEN]

  • 监听分支master的push事件
  • 运行环境ubuntu-latest
  • 添加任务 curl访问jenkins开放端口
    github Actions + jenkins 持续集成_第4张图片
  • 遇到权限问题时,按下图进行配置jenkins
    github Actions + jenkins 持续集成_第5张图片

你可能感兴趣的:(工具)