gpt4 book ai didi

Github 工作流程 : How to map input option to value

转载 作者:行者123 更新时间:2023-12-03 08:06:11 25 4
gpt4 key购买 nike

我为我的 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 .envyarn package 命令成为用于开发的 yarn package:dev ,但我在将 Development 映射到 dev 时遇到问题。我考虑了如果用户选择了 Development,则将变量设置为 dev,但看起来唯一的变量支持是设置环境变量,而且这似乎不可能有条件地实现.

所以我不能做这样的事情

env:
if: inputs.environment == 'Development'
TARGET_ENVIRONMENT: 'dev'
if: inputs.environment == 'Production'
TARGET_ENVIRONMENT: 'prod'

最佳答案

有一些方法可以将您的输入映射到环境变量 - 您可以使用执行此操作的操作:

- 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

关于Github 工作流程 : How to map input option to value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72221417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com