bash/shell を使用して Docker コンテナのビルド/実行コマンドに GitHub Actions シークレットを動的に設定する

bash/shell を使用して Docker コンテナのビルド/実行コマンドに GitHub Actions シークレットを動的に設定する

私は自動化されたパイプラインを構築する初期段階にあります。まだ探索段階です。現在、アプリを実行するコンテナの環境変数の設定に苦労しており、いくつかの異なるアプローチを模索しています。

アイデアとしては、環境変数を GitHub Actions Secrets として設定し、docker container コマンドを実行するときにコンテナー内で構成することです。コンテナーは Docker Composer ファイルから構築されました。

私が考えていたアプローチの 1 つは次のようになります。

  - 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"

基本的には、コードの別のセクションで動的に構築する配列をループします。次に、それらすべてをループ内に設定します。

これを実現することは可能でしょうか? もし可能であれば、エラーが発生しているので、構文で何が欠けているのでしょうか。

関連情報