GitHub Action 上的 dotnet 包

问题描述

我正在尝试在我的 .Net Core 2.1 GitHub Action 上运行 dotnet bundle。出现错误的动作如下所示:

Run cd ./ProjName
  cd ./ProjName
  dotnet bundle
  shell: /bin/bash -e {0}
  env:
    DOTNET_ROOT: /home/runner/.dotnet
No executable found matching command "dotnet-bundle"

该项目正在使用 BundlerMinifierCore 进行缩小。这应该在命令运行时构建缩小的文件

我对 GitHub 操作还很陌生,并且已经习惯了引入项目需要构建的所有内容。我是否缺少 .Net CLI 工具或类似工具?

YAML 如下:

name: Build and Deploy Develop

on:
  push:
    branches: [ develop ]
  pull_request:
    branches: [ develop ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 2.1.x
    - name: Restore dependencies
      run: |
        cd ./ProjName
        dotnet restore
    - name: Build
      run:  |
        cd ./ProjName
        dotnet build --no-restore
    - name: Bundle JS and CSS Assets
      run:  |
        cd ./ProjName
        dotnet bundle
    - name: Test
      run:   |
        cd ./ProjName
        dotnet test --no-build --verbosity normal
    - name: Build Linux
      run:  |
        cd ./ProjName
        dotnet publish -c Release --self-contained true --runtime linux-x64 --framework netcoreapp2.1 /p:useapphost=true
    - name: copy Files to Develop
      uses: garygrossgarten/github-action-scp@release
      with:
        local: ./ProjName/ProjName.WebApp/bin/Release/netcoreapp2.1/linux-x64/publish
        remote: /home/deploy/ProjName/develop/staging
        host: ${{ secrets.DEPLOY_SERVER }}
        username: deploy
        port: 22509
        privateKey: ${{ secrets.SSH_PRIVATE_KEY }}
    - name: Call deploy.sh on Server
      uses: appleboy/ssh-action@master
      with:
        host: ${{ secrets.DEPLOY_SERVER }}
        port: 22509
        username: deploy
        key: ${{ secrets.SSH_PRIVATE_KEY }}
        script: "sudo /var/aspnetcore/ProjName/develop/deploy.sh"

解决方法

您似乎试图在未安装的情况下使用 dotnet bundle 工具。

在安装 .NET 后尝试安装它。像这样:

    - name: Setup .NET
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 2.1.x
    # only this is new
    - name: Install dotnet tools
      run: |
        dotnet tool install -g BundlerMinifier.Core
    - name: Restore dependencies
      run: |
        cd ./ProjName
        dotnet restore

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...