使用 bash/shell 在 Docker 容器构建/运行命令上动态设置 GitHub Actions Secrets

使用 bash/shell 在 Docker 容器构建/运行命令上动态设置 GitHub Actions Secrets

我正处于构建自动化管道的早期阶段。仍处于探索阶段。现在,我正在努力为要运行应用程序的容器设置环境变量,并探索几种不同的方法。

我的想法是将我的环境变量设置为 GitHub Actions Secrets,并在运行 docker 容器命令时在容器中配置它们。该容器是由 Docker Composer 文件构建的。

我想到的一个方法是这样的:

  - name: Backend - Build Container (proof of concept)
    run: |
      declare -a SECRET_KEYS=("GITHUB_USER" "GITHUB_REPO_NAME" "TEST_1" "TEST_2");
      for key in "${SECRET_KEYS[@]}"; do
        ENV_VARS+="$key=\"\${{ secrets.$key }}\" "
      done
      BACKEND_CONTAINER_SH_SCRIPT="$ENV_VARS docker-compose -f ss-build-files/ubuntu-container-build.yml up -d && docker-compose -f ss-build-files/ubuntu-container-build.yml logs; exit;";
      ssh -v -t -t -i id_rsa_ssh_key_server_temp.pem -o StrictHostKeyChecking=no ubuntu@${{ env.CONFIG_SERVER_IP }} "$BACKEND_CONTAINER_SH_SCRIPT"

本质上,我会循环遍历一个数组,我会在代码的另一部分动态构建该数组。然后,在循环中设置它们。

这可以实现吗?如果可以,那么语法中我遗漏了什么,因为它是错误的。

相关内容