使用GitHub Actions做自动化

GitHub Actions是个什么玩意?

今天登陆github时,发现一个玩意:GitHub Actions(其实这玩意推出已经快一年了😂),试用了一下。还是好使的😘。GitHub Actions其实就是我们说的持续集成。

先了解一下几个概念

  • workflow (工作流程):一次持续集成的过程,有N个job组成
  • job(任务):由N个step组成,每一个job运行在不同虚拟环境中。
  • step(步骤) :每一个step运行在同一套虚拟环境中。
  • action(动作/行为):具体的行为或操作。

使用GitHub Actions自动发布NuGet

  • 在Github项目中,Setting-Secret中新增Nuget的SecretKey
    在这里插入图片描述
    点击Action进行配置:
    在这里插入图片描述
    配置yml如下:
name: CodeSnippets Release

on: [push]

jobs:
  build:
    name: Build Project CodeSnippets
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 3.0.100
    - name: Build with dotnet
      run: dotnet build src-snippets/CodeSnippets --configuration Release
  
  
  publish:
    needs: [build]
    name: Publish CodeSnippets To NuGet
    runs-on: [ubuntu-latest]
    steps:
    - uses: actions/checkout@v1
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 3.0.100
    - name: Publish
      run: |
        dotnet build src-snippets/CodeSnippets --configuration Release
        dotnet nuget push src-snippets/CodeSnippets/bin/Release/CodeSnippets.*.nupkg -k ${APIKEY} -s https://www.nuget.org/api/v2/package
      env:
        APIKEY: ${{ secrets.NuGetAPIKey }}

因为每一个job运行在不通虚拟环境中,所以我们在publish这个job中,要使用dotnet build重新编译一个包,不然会出现找不到文件的错误。

当代码push后,将运行Workflows:

在这里插入图片描述
然后会自动发布一个nuget包:
在这里插入图片描述

参考

GitHub Actions 入门教程
使用 GitHub Action 部署 NuGet 包

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章