如果我在具有相同名稱和內容的兩個分支“dev”和“main”中有一個作業流,哪個優先?或者兩個作業流程都會運行?如果兩個作業流的內容不同,但作業流名稱相同,會發生什么情況?
假設我在主分支上有這個作業流程,但我在具有相同檔案名和觸發器的“dev”分支上有一個稍微不同的版本(都在 push 分支 dev 上)。兩者都會在推動“開發”時執行嗎?
name: .NET Core CI
on:
push:
branches:
- dev
env:
AZURE_WEBAPP_NAME: ghactiontest # set this to your application's name
AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
DOTNET_VERSION: '6.0' # set this to the dot net version to use
jobs:
build:
runs-on: ubuntu-latest
steps:
# Checkout the repo
- uses: actions/checkout@main
# Setup .NET Core SDK
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
# Run dotnet build and publish
- name: dotnet build and publish
run: |
dotnet restore
dotnet build --configuration Release
dotnet publish -c Release -o '${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/myapp'
# Deploy to Azure Web apps
- name: 'Run Azure webapp deploy action using publish profile credentials'
uses: azure/webapps-deploy@v2
with:
app-name: ${{ env.AZURE_WEBAPP_NAME }} # Replace with your app name
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} # Define secret variable in repository settings as per action documentation
package: '${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/myapp'
uj5u.com熱心網友回復:
通常,此作業流程將同時運行dev-main您可以發布您的確切作業流程嗎?
具有相同名稱的兩個作業流也將單獨運行,并將被視為具有兩個不同workflow_ids 的兩個不同作業流 - 但它們將使用相同的名稱出現。
uj5u.com熱心網友回復:
由于假設所有作業流都位于.github/workflows目錄中,并且理論上它們不能位于子目錄中,因此您不能在此目錄中創建多個同名的作業流。要回答您的其他問題,如果您想為特定分支運行作業流,您可以使用以下分支語法:
on:
push:
branches:
- main
只需創建具有不同名稱的作業流,并在相應分支觸發推送或拉取請求事件時觸發它們。
uj5u.com熱心網友回復:
我在“main”和“dev”分支上用一個簡單的 hello world 作業流對此進行了測驗。如果給定分支存在“推送”觸發器,則作業流必須存在于該分支上。如果“dev”上沒有相應的作業流,則“main”上的作業流以及“main”和“dev”的觸發器只會在推送到“main”時執行。
name: .NET Core CI Cert
on:
push:
branches:
- cert
- main
jobs:
my-job:
runs-on: ubuntu-latest
steps:
- name: my-step
run: echo "Hello World Cert Branch!"
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/411248.html
標籤:
