⚡💾⚡ TerraForModel Statefileを使用してGithubワークフローアーティファクトとして保存します.



ワークフロー:
私が始めたかったときmanaging my Github with Terraform 使用integrations/terraform-provider-github 私は、terraform statefileがコードに属しているのを感じました、そして、Azure/AWS/etcの遠い状態としてでなく.

私は適切な解決策を見つけることができなかったので、私は自分自身をロールバックすることを決めた
私が把握するのにしばらくかかりました、しかし、私は最終的に私の状態を各々の実行でデ/暗号化されるワークフローアーチファクトとして保つことに決めました.私は、実際に起こっていたことを見つけるために、すべてのものから私の最初のアクションを作成することを決めた!

🚀 この動作は以下のようになります.🚀
  • 🛠️ まず、それはあなたのリポジトリをダウンロード actions/[email protected] それから、 hashicorp/[email protected] .
  • 📥 使用environment variables 最新のダウンロードworkflow artifact 呼ばれるterraformstatefile ユーザ入力変数encryptionkey .
  • その名前を持つアーティファクトが見つからない場合(多分それがあなたの最初の実行であるかもしれません)、次に、それは以下で進みます.
  • 🏗️ その後、実行に進みますterraform plan オプション変数からのフラグを指定しますcustom_plan_flags
  • 🏢 次は走るterraform apply オプション変数からのフラグを指定しますcustom_apply_flags .
  • これはオプション変数を設定することによってスキップできますapply to false .
  • 🗃️ すべてがうまくいくならば、terraformは現在statefile./terraform.tfstate . このファイルは、encryptionkey .
  • 🤫 私は、Aからこれを得ることを勧めます ${{secret.variable}} 出力が隠されていないので.
  • 💾 最後に、新しいstatefileはアーティファクトとしてアップロードされます!

    - 🎉 泡、リンス、繰り返し!🎉

  • 提出カテゴリ
    DIY展開

    YAMLファイルまたはコードへのリンク
    以下に例を示します.
    steps:
    - uses: sturlabragason/[email protected]
        with:
            encryptionkey: ${{ secrets.encryptionkey }}
    

    sturlabragason / terraform_state_artifact
    TerraformCard StateRange Artifactアクションは、あなたのterraform状態ファイルを暗号化されたGithubワークフローアーティファクトとして格納する複合アクションです.
    テラスソウ
    #actionshackathon21The sturlabragason/terraform_state_artifact アクションは、あなたのterraform状態ファイルを暗号化されたGithubワークフローのアーティファクトとダウンロードとして格納し、次の実行時に状態を復号化する複合アクションです.組み込みはアクションです. actions/[email protected] , hashicorp/[email protected] and actions/[email protected] .
    それに気づくGithub delets artifacts older then 90 days デフォルトでは.あなたはrun your pipeline on a schedule 90日おきに少なくとも新しいアーティファクトを作成します.

  • 🛠️ まず、それはあなたのリポジトリをダウンロード actions/[email protected] それから、 hashicorp/[email protected] .

  • 📥 使用environment variables 最新のダウンロードworkflow artifact 呼ばれるterraformstatefile ユーザ入力変数encryptionkey
  • その名前を持つアーティファクトが見つからない場合(多分それがあなたの最初の実行であるかもしれません)、次に、それは以下で進みます.

  • 🏗️ その後、実行に進みますterraform plan オプション変数からのフラグを指定しますcustom_plan_flags
  • View on GitHub