如何在 github 操作中从自托管运行器访问环境变量

问题描述 投票:0回答:1

我正在将 EC2 作为自托管运行程序运行。我已将 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 导出到 EC2,我可以看到它们是使用

printenv
命令设置的。

这样做的原因是我不想将 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 保存在 github 秘密中。

有什么方法可以在我的 github 操作工作流程中访问和使用环境变量(AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY)?

amazon-ec2 continuous-integration devops github-actions cicd
1个回答
0
投票

在 GitHub Actions 中,使用自托管运行器时,您可以像在任何其他系统上一样访问环境变量。该过程取决于您在工作流程中使用的脚本或编程语言。

以下是不同脚本/编程语言的示例:

  1. Bash 脚本: 名称:访问环境变量

在: 推: 分支机构: - 主要

工作: 访问环境变量: 运行:自托管

steps:
- name: Checkout code
  uses: actions/checkout@v2

- name: Access Environment Variables
  run: |
    echo "MY_ENV_VARIABLE=${MY_ENV_VARIABLE}"
  1. PowerShell 脚本:

名称:访问环境变量

在: 推: 分支机构: - 主要

工作: 访问环境变量: 运行:自托管

steps:
- name: Checkout code
  uses: actions/checkout@v2

- name: Access Environment Variables
  run: |
    Write-Host "MY_ENV_VARIABLE=$env:MY_ENV_VARIABLE"
  1. Python脚本: 名称:访问环境变量

在: 推: 分支机构: - 主要

工作: 访问环境变量: 运行:自托管

steps:
- name: Checkout code
  uses: actions/checkout@v2

- name: Access Environment Variables
  run: |
    import os
    print(f"MY_ENV_VARIABLE={os.environ['MY_ENV_VARIABLE']}")

记住将 MY_ENV_VARIABLE 替换为您要访问的环境变量的实际名称。

如果环境变量是机密,您可以使用 GitHub Actions 中的机密上下文来访问它。例如: 名称:访问秘密

在: 推: 分支机构: - 主要

工作: 访问秘密: 运行:自托管

steps:
- name: Checkout code
  uses: actions/checkout@v2

- name: Access Secret
  run: |
    echo "MY_SECRET=${{ secrets.MY_SECRET }}"
© www.soinside.com 2019 - 2024. All rights reserved.