我為我的 Github 作業流程設定了以下輸入
on:
workflow_dispatch:
inputs:
environment:
type: choice
description: Environment
options:
- Development
- QA
- UAT
- Production
如果用戶選擇Development作為環境,我想dev在我的一些字串連接中使用這個詞,如果他們選擇Production我想prod用于相同的目的。
以下是需要進行替換的區域的示例。
- name: Package App
run: |
move-file .env.$TARGET_ENVIRONMET .env
yarn package:$TARGET_ENVIRONMENT
在此示例中,我需要move-file命令move-file .env.dev .env和yarn package命令yarn package:dev用于開發,但我無法映射Development到開發。我查看了dev如果用戶選擇了設定一個變數,Development但看起來唯一的變數支持是設定環境變數,這似乎是有條件的。
所以我不能做這樣的事情
env:
if: inputs.environment == 'Development'
TARGET_ENVIRONMENT: 'dev'
if: inputs.environment == 'Production'
TARGET_ENVIRONMENT: 'prod'
uj5u.com熱心網友回復:
有一些方法可以將您的輸入映射到 env 變數 - 您可以使用執行此操作的操作:
- uses: kanga333/variable-mapper@master
id: export
with:
key: "${{ github.event.inputs.environment }}"
map: |
{
"Development": {
"environment": "dev"
},
"Production": {
"environment": "prod"
}
}
export_to: env
- run: |
move-file .env.$environment .env
或者您可以使用某種 hack 并定義您的環境(在作業級別),如下所示:
env:
TARGET_ENVIRONMET: >
${{ fromJson('{
"Development": "dev",
"Production": "prod"
}')[github.event.inputs.environment] }}
steps:
- run: |
move-file .env.$TARGET_ENVIRONMET .env
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/476734.html
