簡體   English   中英

GitHub 共享相同代碼的操作矩陣 CheckOut

[英]GitHub Actions Matrix sharing the Same Code CheckOut

我嘗試對鏈式作業執行一次步驟操作/checkout@v3,但似乎“構建”作業沒有獲得代碼。 我收到錯誤消息“找不到項目”。

我可以為兩個工作調用 actions/checkout @ v3 一次嗎?

當我兩次調用代碼結帳時它起作用了。

name: publish-nuget
on:
  push:
    branches:
      - main

jobs:
  prepare:
    runs-on: ubuntu-latest
    - name: Checkout code
      uses: actions/checkout@v3

    - name: Get package version
      id: get_package_version
      uses: kzrnm/get-net-sdk-project-versions-action@v1.3.0
      with:
        proj-path: ProjectOne.csproj
    
  build:
    needs: prepare
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v3

    # Add the projects path below
    strategy:
      matrix:
        projects: [
        'ProjectOne.csproj',
        'ProjectTwo.csproj',
        ]

    steps:
    - name: Pack NuGet
      run: dotnet pack ${{ matrix.projects }} -p:PackageVersion=${{ env.PACKAGE_VERSION }} --configuration Release

當我調用一次代碼結帳時(在“准備”工作中),它不起作用。

name: publish-nuget
on:
  push:
    branches:
      - main

jobs:
  prepare:
    runs-on: ubuntu-latest
    - name: Checkout code
      uses: actions/checkout@v3

    - name: Get package version
      id: get_package_version
      uses: kzrnm/get-net-sdk-project-versions-action@v1.3.0
      with:
        proj-path: ProjectOne.csproj
    
  build:
    needs: prepare
    runs-on: ubuntu-latest
    steps:
    # Add the projects path below
    strategy:
      matrix:
        projects: [
        'ProjectOne.csproj',
        'ProjectTwo.csproj',
        ]

    steps:
    - name: Pack NuGet
      run: dotnet pack ${{ matrix.projects }} -p:PackageVersion=${{ env.PACKAGE_VERSION }} --configuration Release

讓一份工作依賴於另一份工作,只是出於邏輯目的,而不是 state 或工件依賴共享。 您實際上是在 2 個不同的代理上運行 2 個作業。 如果你想從准備作業中共享一些東西,你可以使用緩存或工件 API。例如,使用緩存 API 來緩存路徑“somePath”。 下載緩存的步驟相同。

- name: Cached build artifacts
  uses: actions/cache@v2
  id: artifactcache
  with:
    path: somePath
    key: buildArtifacts${{ github.run_number}}

由於將其拆分為 2 個作業不會獲得任何好處,因此我會在一個作業中運行所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM