16 使用环境变量与秘密之环境变量的介绍
在前一篇文章中,我们探讨了作业与步骤的条件执行,以及如何根据条件来控制工作流的执行。现在,让我们深入了解环境变量的使用,特别是如何在 GitHub Actions 中生成和使用环境变量,以及如何处理包含敏感数据的秘密变量。
1. 环境变量的概念
环境变量是一些存储在操作系统环境中的动态值,可以在应用程序运行时被读取。在 GitHub Actions 中,环境变量可以帮助我们传递配置和信息,增强工作流的灵活性。’’’关键’’’环境变量通常用于传递路径、版本或其他重要信息,可以在不同的作业和步骤之间共享。
2. 创建和使用环境变量
2.1 在工作流中定义环境变量
在 GitHub Actions 工作流中,可以在 jobs
或 steps
中通过 env
关键字定义环境变量。环境变量的作用范围依赖于它们被定义的级别。
以下是如何在作业级别和步骤级别定义环境变量的示例:
1 | name: Example Workflow |
在上面的示例中:
GLOBAL_VAR
是在作业级别定义的环境变量,可以在该作业的所有步骤中使用。LOCAL_VAR
是通过将其输送到特殊的$GITHUB_ENV
文件中创建的步骤级别环境变量,它仅在当前步骤后续的步骤中有效。
2.2 传递环境变量到步骤
若需要在不同的步骤间传递变量,可以使用 run
命令或者 with
参数。以下是一个示例:
1 | - name: Set Local Variable |
在这个例子中,MY_VAR
在第一个步骤中被设置,并在第二个步骤中打印。
3. 使用秘密环境变量
GitHub Secrets 提供了一种安全的方式来存储敏感信息,如 API 密钥或密码。为确保安全,秘密变量在运行时会被提供给工作流,但在日志中不会被打印。
3.1 添加和使用秘密变量
在 GitHub 上,您可以通过仓库的设置页面添加秘密变量。添加后,您可以在工作流中使用它们,如下所示:
1 | jobs: |
在上面的代码中,SECRET_API_KEY
是我们在 GitHub 设置中添加的秘密变量。在工作流中,我们通过 ${{ secrets.SECRET_API_KEY }}
访问它。
4. 注意事项
- 变量作用范围:请注意环境变量的作用范围,确保在合适的级别定义它们。
- 安全性:切勿将秘密变量打印到日志中,避免泄漏敏感信息。
- 使用 JSON 格式:如果需要传递多个环境变量,可以考虑使用 JSON 格式并将其解析。
1 | - name: Set Multiple Variables |
5. 小结
在本篇文章中,我们利用示例详细介绍了环境变量和秘密变量的使用。环境变量帮助我们在 GitHub Actions 工作流中灵活传递信息,而秘密变量则保障了我们敏感配置的安全。在下一篇文章中,我们将讨论环境变量与秘密的管理,包括如何有效地维护和使用这些变量。希望本篇的内容能帮助你更好地构建你的 CI/CD 流程!
16 使用环境变量与秘密之环境变量的介绍