使用Github Actions构建、发布和部署NuGet软件包

 

介绍

DevOps的现代时代,自动化已变得越来越流行,而创建/上传软件包已成为过去。而且,软件包的数量在开发人员的生活中日益增加。因此,在NuGet.org上手动构建、发布和部署所有软件包并不容易。我们可以手动管理几个软件包(1-2),但是如果我们需要管理更多的软件包(5,10,依此类推),那么它将变得很繁琐。

使用GitHubactions,我们可以使此过程完全自动化。

这是逐步指导如何自动将程序包生成、发布和部署(发布)到NuGet

步骤

1

GitHub创建一个新的存储库并上传您的代码。

2

创建一个GitHub Action,使构建和发布变得容易。当我们创建工作流程时,它将创建一个.yaml文件。在此示例中,我将为.NET CoreC#)创建工作流。

3

上一步创建.NET Core环境的工作流。它具有预定义的结构,这是构建和测试的良好起点。它具有以下示例代码。

name: .NET Core

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 3.1.101
    - name: Install dependencies
      run: dotnet restore
    - name: Build
      run: dotnet build --configuration Release --no-restore
    - name: Test
      run: dotnet test --no-restore --verbosity normal

4

上面的默认代码足以构建和测试代码。但是我们需要在NuGet.org上发布该软件包。为此,我们需要在.yaml文件中添加一个发布步骤。

注意:我添加了工作目录标签,因为在同一解决方案中有多个项目。

- name: Publish
  uses: brandedoutcast/publish-nuget@v2.5.2
  with:
   PROJECT_FILE_PATH: Extensions/Extensions.csproj
   NUGET_KEY: ${{secrets.NUGET_API_KEY}}

brandedoutcast创建了可重用的GitHub Action以发布NuGet软件包。此操作将查找对.csproj文件中的<version>{}</version>标记的更改。

NuGet.org上进行部署时,我们需要一个API密钥来对此进行验证。为此,我们使用了变量。

5

NuGet.org创建API密钥,然后将其添加到GitHub存储库中的设置 >Secrets下。创建一个变量名NUGET_API_KEY

6

保存.yaml文件并开始操作。您将看到该解决方案将构建并发布在NuGet.org

7

NuGet.org上打包。

摘要

每当我们更新软件包并在master分支中推送代码时,GitHub action都会自动启动并将软件包推送到NuGet.org。现在,我们无需手动管理软件包,也无需担心软件包的数量。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值