Skip to content

cnc4e/terraform-cicd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

105 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

リポジトリの概要

本リポジトリはGithubActionsを使用したTerraformコードのCICDパイプラインの仕組みと構築方法を解説したものです。

パイプライン環境として、tfstateのリモートバックエンドとGithubActionsのセルフホストランナーをTerraformで構築します。

また、パイプラインの動作を確認するためのサンプルTerraformコードやポリシーチェックで使用するOPAのリファレンスも用意しています。

本リポジトリで作成する環境のイメージは次の通りです。

パイプライン環境図

環境図

CICDフロー図

CICDフロー図

バージョン

本リポジトリのモジュール群は以下のバージョンを前提としています。(構築時のバージョンも記載します。)

terraform 0.13.2 以上 (構築時 0.14.7)
aws providor 3.5.0以上 

構成ツール

本リポジトリでは主に以下のようなツールを使用してCICDパイプラインを構成しています。

ドキュメント

モジュールや使い方などのドキュメントは以下になります。

ディレクトリ説明

利用者が意識する主要なディレクトリ・ファイルについて説明します。

.
├── documents                 # 本リポジトリのドキュメント一式を格納しています。
│   ├── cicd.md               # CICDの流れを説明したドキュメントです。
│   ├── howtouse.md           # 本リポジトリのモジュールを使用して環境を構築する方法を解説したドキュメントです。
│   ├── module.md             # 用意しているTerraformモジュールを説明したドキュメントです。
│   └── rego.md               # ポリシーチェックで使用するOPA/Regoのリファレンスです。
├── sample-repos              # パイプライン動作確認用のサンプルTerraformコード一式を格納しています。
│   ├── .github/workflows     # GithubActionsのワークフローファイルを格納しています。
│   ├── main-template         # パイプラインを通じて構築されるテンプレートです。
│   ├── modules               # モジュールを実装したコードを格納しています。
│   └── policy                # OPAでポリシーチェックを行うためのポリシーを格納しています。
└── terraform/environment     # パイプライン環境構築用のTerraformコード一式を格納しています。
    ├── main-template         # PJごとに1度構築するテンプレートです。
    └── modules               # モジュールを実装したコードを格納しています。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors