GitHub Actions 是 GitHub 的自动化工具,它可以帮助开发者直接在 GitHub 仓库中自动执行软件开发工作流程。如果您需要从 VERSION 文件加载环境变量到 GitHub Action,可以通过编写工作流程步骤来实现。下面是一个如何做到这一点的示例:
首先,您需要在仓库中有一个 VERSION 文件,例如:
1.0.0
然后,您可以在 .github/workflows 目录下的一个工作流程 YAML 文件中使用如下步骤:
name: Load VERSION file as environment variable on: [push] jobs: load-version: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Load VERSION run: echo "VERSION=$(cat VERSION)" >> $GITHUB_ENV # 下面的步骤是为了展示如何使用加载的环境变量,不是必须的 - name: Print VERSION run: echo "The version is $VERSION"
在这个工作流程中:
- 
on: [push]表明这个工作流程会在每次向仓库推送代码时触发。
- 
jobs:下定义了工作流程中的任务,这里只有一个任务load-version。
- 
runs-on: ubuntu-latest指定了运行该任务的虚拟环境是最新版本的 Ubuntu。
- 
steps:下面有几个步骤。- 
Checkout repository步骤会检出代码到运行工作流程的虚拟环境中。
- 
Load VERSION步骤使用 shell 命令读取VERSION文件的内容,并将其输出格式为VERSION=<内容>的形式追加到$GITHUB_ENV环境变量文件中。这样做会让VERSION这个环境变量在后续的所有步骤中都可以访问。
- 
Print VERSION步骤是一个示例步骤,它会打印出之前加载的VERSION环境变量的值。这个步骤证明了环境变量已经被成功设置并可以在工作流程中使用。
 
- 
以上步骤展示了如何从一个文件中读取内容并设置为 GitHub Actions 的环境变量。这样设置后,您就可以在之后的步骤中使用这个变量,例如用于构建过程、部署或者其他需要该版本信息的场景。在GitHub Actions中,您可以使用各种操作(Actions)来读取文件内容并设置环境变量。如果您有一个名为VERSION的文件,其中包含版本信息,并希望建立一个工作流程,可以从该文件加载环境变量,您可以使用read-file动作配合echo命令以及GITHUB_ENV文件来设置环境变量。
以下是一个工作流程的例子,展示了如何从VERSION文件加载环境变量:
name: Load Version as Env Var on: [push] jobs: set-env-var: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Read VERSION file id: version run: echo "VERSION=$(cat VERSION)" >> $GITHUB_ENV - name: Use VERSION run: echo "The version is $VERSION"
在上面的工作流程中:
- 当有push事件发生时,工作流程会被触发。
- set-env-var工作定义了工作流程中的任务。
- Checkout repository步骤使用了- actions/checkout@v2动作,这个动作会检出您的仓库到运行工作流程的GitHub Action的运行器上。
- Read VERSION file步骤定义了一个名为- version的步骤,其中运行了一个shell命令,使用- echo和重定向操作符- >>将- VERSION文件的内容写入到- $GITHUB_ENV环境变量文件中。这会创建或更新一个名为- VERSION的环境变量。
- Use VERSION步骤演示了如何在后续步骤中使用- VERSION环境变量。
请注意,这个VERSION环境变量在被设置后,在当前工作流程的后续步骤中都可用。如果您的VERSION文件包含复杂的数据,例如多行或需要解析的特定格式,您可能需要使用更复杂的shell命令或者编写一个脚本来解析数据并设置环境变量。
