欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

向 Gitelb 询问 "环境 "机密和 "存储 "机密的区别。

最编程 2024-06-22 13:23:44
...

若要向霍格答案添加示例工作流,请执行以下操作。GitHub 文档在工作流中使用jobs..environment选项时显示了一个示例,但我认为这是一个更合适的示例。

代码语言:javascript
复制
name: Some task

on:
  push:
    branches:
      - main

jobs:
  prod-task:
    runs-on: ubuntu-latest
    environment: production
    steps:
      # uses production enviroment secrets over repository secrets
      - name: Run node build process
        run: "NODE_ENV=${{ env.NODE_ENV }} npm run build"
  dev-task:
    runs-on: ubuntu-latest
    environment: development
    steps:
      # uses development enviroment secrets over repository secrets
      - name: Run node build process
        run: "NODE_ENV=${{ env.NODE_ENV }} npm run build"
  task:
    runs-on: ubuntu-latest
    steps:
      # uses repository secrets as no environment is defined
      - name: Run node build process
        run: "NODE_ENV=${{ env.NODE_ENV }} npm run build"

注意:在上面的示例中,您可以看到脚本通过上下文使用表达访问环境变量。

因此,当为environment指定job时,该作业中使用的任何秘密在使用存储库机密之前都将使用任何environment-specific机密。

若要设置环境机密,请导航到Environments部分下的回购设置(即https://github.com/<owner>/<repo>/settings/environments)。创建或选择环境。然后添加任何你需要的秘密,见下面的截图。确保在所有要访问它的必需环境中提供秘密,否则该值将从父env作用域继承,或者可能返回''

推荐阅读