以下是我在 github 中的工作流程:
name: Deploy
on:
push:
branches:
- develop
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ECR_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_ECR_SECRET_ACCESS_KEY }}
aws-region: eu-west-2
如何根据条件设置变量值?像这样
如果 branch = master
那么
aws-access-key-id: ${{ secrets.AWS_ECR_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_ECR_SECRET_ACCESS_KEY }}
其他
aws-access-key-id: ${{ secrets.ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.SECRET_ACCESS_KEY }}
答案 0 :(得分:0)
您可以在步骤级别 jobs.<job_id>.steps[*].env
设置环境变量,也可以在步骤级别使用条件 jobs.<job_id>.steps[*].if
。
您可以找到有关语法 on the official documentation 的一些信息。
因此,如果分支是 master(或另一个分支),则可以使用条件来执行特定步骤。
这是一个例子:
steps:
name: Configure AWS credentials (MASTER)
if: github.ref == 'refs/heads/master'
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ECR_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_ECR_SECRET_ACCESS_KEY }}
aws-region: eu-west-2
name: Configure AWS credentials (NOT MASTER)
if: github.ref != 'refs/heads/master'
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.SECRET_ACCESS_KEY }}
aws-region: eu-west-2
这里,只有分支为master
才会执行第一步,否则会执行第二步。
可以找到另一个引用 on the github community。