Github Actions Jobs, работающие с одинаковой конфигурацией матрицы
Я новичок в действиях Github и пытаюсь развернуть код в мультирегиональном режиме AWS с помощью действий github. Для этого я создал сценарий с этой матрицей и экспортирую результат в рабочий процесс.
APP_DEPLOY_TO_DEV='
{
"environment": ["app_dev_eu-central-1", "app_dev_us-east-1" ],
"include":[
{
"aws_env": "app_dev_eu-central-1",
"aws_region": "eu-central-1",
},
{
"aws_env": "app_dev_us-east-1",
"aws_region": "us-east-1",
}
]
}'
MATRIX_PARAMS_COMBINATIONS=$APP_DEPLOY_TO_DEV
echo ::set-output name=matrix_combinations::$MATRIX_PARAMS_COMBINATIONS
Мой код рабочего процесса:
- name: SetUp Matrix Combinations
id: matrix
run: |
chmod +x app_deploy.sh; ./app_deploy.sh
working-directory: .github/scripts
shell: bash
outputs:
matrix-combinations: ${{ steps.matrix.outputs.matrix-combinations }}
build-deploy:
runs-on: ubuntu-latest
timeout-minutes: 10
needs: [Setup-Matrix]
strategy:
matrix: ${{ fromJson(needs.Setup-Matrix.outputs.matrix-combinations) }}
steps:
- name: Print Combinations
run: |
echo "step output"
echo "${{ matrix.aws_env }}"; // here app_dev_us-east-1 is getting printed instead of array
echo "op ${{ toJson(needs.Setup-Matrix.outputs.matrix-combinations) }}" //I am getting proper json array here
Я получаю доступ к значениям матрицы, используя
${{ matrix.variable_names}}
.
Но когда я вижу свои рабочие места, создается 2 рабочих места, но конфигурации такие же (мы идем на восток 1). Не уверен, что, возможно, идет не так. Раньше я пробовал использовать матрицу стратегий GithubActions Strategy Matrix. Я перешел на сценарий оболочки, так как у меня было несколько проверок if, и это делало мой рабочий процесс неуклюжим. Любое руководство будет оценено по достоинству :)