Appearance
環境定義
環境要件
Qmonus Value Streamを利用するために必要な環境は、以下のとおりです。
- アプリケーションのソースコードを管理しているGitリポジトリ
- プライベートリポジトリの場合、リポジトリへのアクセス権のあるトークン
- アプリケーションをデプロイするクラウド環境
- 環境については、用意する環境を参照してください。
- デプロイに必要な権限を有したサービスアカウント、またはそのサービスアカウントを利用するためのトークン
- ドメイン名、および、SSL証明書
- Qmonus Value Streamを利用する際に、Cloud Native Adapterを用いて クラウドのマネージド証明書によるDV(Domain Validation)証明書を自動発行できます。DV証明書以外を使用する場合は、事前にSSL証明書の準備が必要です。
サポートしているプロバイダ
- Provisioning Target:
Amazon Web Services
・Microsoft Azure
・Google Cloud(GCP)
・Kubernetes
- Repository:
Backlog
・Bitbucket
・GitHub
・GitLab
Backlog
・Bitbucket
: git cloneに使用可能なプロトコルはsshのみとなります。GitHub
・GitLab
: git cloneに使用可能なプロトコルはhttps/ssh双方に対応しています。
- Secret Backend:
Azure Key Vault
・GCP Secret Manager
クライアント要件
- 推奨ブラウザは、
Google Chrome
・Mozilla Firefox
になります。 - 推奨OSは、
Mac OS
・Microsoft Windows (Windows Subsystem for Linux)
になります。- Windows(WSL)の方は、qvsctlなどのQmonus Value Streamが提供するバイナリをご利用の場合、Linuxのバイナリをご利用ください。
- VMインスタンスおよびコンテナを利用する場合、CLIを利用したAPI認証の手順が一部異なります。詳細はVMインスタンスやコンテナ内からのアクセストークンの取得をご確認ください。
用意する環境
Qmonus Value Streamは、アプリケーション開発における試験フェーズと運用フェーズをサポートしています。
結合試験環境は1つのみ、総合試験環境・商用環境は複数の環境に対応しています。
試験フェーズでは、結合試験をスコープとする環境が1つ必須であり、総合試験をスコープとする環境も1つ用意することを強く推奨します。運用フェーズでは、商用環境をスコープとする環境が1つ必須です。なお、各環境の名称は任意で設定できます。
Qmonus Value Streamで想定している開発~運用までのフェーズと対応する環境は、以下のとおりです。
- 開発フェーズ
- 開発環境
- Pull Request試験環境
- 試験フェーズ
- 結合試験環境 (名称例:Staging環境)
- 総合試験環境 (名称例:Pre-Production環境)
- 運用フェーズ
- 商用環境 (名称例:Production環境)
開発フェーズにおける開発環境・Pull Request試験環境については、Qmonus Value Streamではサポートしません。
アプリケーション開発者が各フェーズで用意する環境とQmonus Value Streamのサポート範囲を以下の図に示します。Promotionについては、ページの下部を参照して下さい。
Info
Promotion
を行うことで、AssemblyLine(A)の処理が完了した後、(A)の実行結果(例えば、イメージビルドしたDocker Image名など)を入力パラメータとして利用して後段のAssemblyLine(B)を実行できます。
![Qmouns Value Streamがサポートする範囲](/images/environment.png)
環境とAssemblyLineの推奨パターン
![環境とAssemblyLineの推奨パターン](/images/cicd-golden-pattern.png)
各リソースの推奨のまとめ方は以下を参考にしてください。
Task
- 再利用可能な単位で処理の実行をまとめる
- 失敗時に再実行したい単位でまとめる
- 例:git-checkout, docker-image-build
Pipeline
- Applicationに対する作業でまとめる
- 例: build-axis, deploy-axis, release-axis
AssemblyLine
- Promotionを挟みたい単位でまとめる
- マイクロサービス(=リリースサイクルが同じでまとめてリリースしたいApplication群)でまとめる
- リリースサイクルが同じで複数の環境に同時にデプロイしたい場合も、同一AssemblyLineにまとめる
- 例:総合試験のために機能試験用の環境(A)と非機能試験用の環境(B)に同時にリリース、商用の東京リージョンと大阪リージョンに同時リリース、etc.