突破限制!!!尝试Github Actions

GitHub Actions

用过Gitlab的同学基本上都了解过Gitlab持续集成与持续部署,Gitlab CICD是通过自管理的一些Runner按照声明式的的配置清单实现持续集成的自动化任务,利用Github Actions可以自动化管理、构建、部署托管在Github上的代码,当然你可以用它自动化管理和部署你的博客,无需认为干预,也可以利用Actions帮你拉取一些国内拉不到的镜像等,功能有了,至于怎么使用就看个人了,前面我写了几篇关于Gitlab CICD的实践文章以及在Kubernetes上如何使用Gitlab CICD,大家有兴趣的可以前来审校:

在使用Github Actions的时候,虽然原理和使用方式,但是依旧存在不同的概念关键词,下面简单的介绍一下:

Runner

与Gtilab CICD类似,Gitlab Actions也是在一个运行有Github Actions runner application的runner服务器上执行实现定义好的workflow. 同样如果你需要不同的操作系统或者硬件配置需求,你也可以自托管Github的runner,这些可以在Gitlab Action的文档中找到

所以github中的一些列指定都是在Runner中完成的,runner就是github action的执行环境。

Workflows

workflows是github中声明配置的一个自动化过程,与gitlab中的.gitlab-ci.yml一样,有一个或者多个job组成,通过事件驱动构建流程

Jobs

jobs是一系待需要执行的指令的集合,由多个steps组成,可以理解要实现某个目标需要操作的指令集,与gitlab中的stage类似

steps

step是github actions中执行的任务的单元,是job中运行命令的独立任务单元,github社区中有不少别人贡献出来的action,这些都是完成一类任务的指令集合体,所以你可以在steps中直接引用这些action,也可以自己去写命令,同样的,job中的每个step都运行相同的Runner上执行指令,所以他们之间的数据是可以共享的

events

github action是一个事件驱动型的自动化工具,因此在定义workflow的时候,可以灵活的通过on指定事件的类型(如pull,pull_request,tags,branches等)去完成相对应的任务

运行个Demo????

  1. 创建一个空的github代码仓库

  2. 在代码仓库里面创建.github/workflows目录

  3. 创建一个superlinter.yml文件

name: Super-Linter # 定义workflows的名称

# Run this workflow every time a new commit pushed to your repository
on: push # 监听触发的事件

jobs: # 定义job块
  # Set the job key. The key is displayed as the job name
  # when a job name is not provided
  super-lint:
    # Name the Job
    name: Lint code base
    # 指定任务运行的服务器环境
    runs-on: ubuntu-latest

    steps:
     # 拉取代码
      # Checks out a copy of your repository on the ubuntu-latest machine
      - name: Checkout code
        uses: actions/checkout@v2 # 此处使用github社区的action

      # Runs the Super-Linter action
      - name: Run Super-Linter
        uses: github/super-linter@v3
        env:
          DEFAULT_BRANCH: main
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      
      - name: Install tools # 此处使用自己的
        run: apt-get update && apt-get install -y curl && curl cip.cc

然后在Github上查看一下运行的状态

GithubAction-Super-Linter运行的状态
Super-Linter执行日志

从这里看其实和Gitlab在运行CICD的时候是差不多一样的,大家也可以尝试一下,同时在编写workflows的时候,我使用的是VScode编辑器,下载GithubAction插件,会有智能提示,推荐大家试试,点击下面的每个steps,都会显示对应的日志信息。

显示workflows运行日志

你可能还喜欢

点击下方图片即可阅读

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云原生生态圈

你的鼓励是我创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值