持续集成具体实现

Github Actions 介绍

背景

持续集成往往与代码版本管理密切结合,CI的过程往往由git操作触发。Gitlab为此设计了Gitlab Cl,Github提出了Github Actions

特点

  • GitHub提供慷慨的计算资源(为每个workflow也就是一个持续集成过程提供一个独享的1核虚拟cpu,3.75GB的内存,网络权限以及100GB的磁盘空间),使得它的性能十分强大
  • 广泛支持各种语言和框架
  • 实时日志,为你的构建行为提供丰富的反馈
  • 可以自由地创造和分享Actions
     

Github Actions 概念

workflow

持续集成一次运行的过程,就是一个workflow

job

一个workflow由一个或多个jobs 构成。Job是一系列完成某一目的的步骤(step)

Job是并行运行的,除非你指定依赖关系

step

组成job的步骤。可以包含自己写的命令(run),也可以引入其他仓库的action
 

action

对某—种逻辑的封装,每个step可以依次执行一个或多个action
 

Actions 使用

起步

  • 在代码仓库中,新建.github/workflows目录
  • 目录中的每一个.yml文件,就是一个GithubAction的 workflow
     

name

name字段是当前workflow的名称,如果没有,就取.yml的文件名

on

on字段指定触发workflow的条件,可以是某个事件,也可以定时,甚至手动触发

job 和 steps

workflow文件的主体是jobs字段,表示要执行的一项或多项任务。
name: job的名称
runs-on:运行所需要的虚拟机环境
needs:指定当前任务的依赖关系
steps:运行的步骤
 

yml 官方示例

  1. 切到正确Git分支
  2. 安装Node环境
  3. 安装依赖、构建应用
  4. 部署到AWS
     
//next.js
//workflow 名称
name: Deploy productio
on :
    // 触发事件
    push:
        // 切换到master分支
        branches: master
    jobs :
        build:
            name: Deploy production build
            // build job的依赖
            runs-on: ubuntu-latest 
            steps :
                //第一个step 安装node v10  
                // uses: step的外部依赖(action)
                uses: actions/ checkout@v1
                name: Use Node.js v10.x
                uses: actions/setup-node@v1
                // with: 传递给依赖的参数
                with:
                    version:'10.x'
                //第二个step 安装依赖和构建
                name: Install yarn and build
                run: 
                    npm install -g yarn
                    yarn install
                    yarn run build
                //第三个step 部署
                name: Deploy the build via Up
                // env: up action 依赖的配置参数
                env:
                    AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY H}
                    AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }
                    UP_CONFIG:${i secrets.UP_CONFIG }}
                uses: apex/actions / up@v0.5.0
                with:
                    args: deploy production --no-build

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值