リリース設定はプロジェクトの他の設定と共に管理されます。プロジェクトを開き、 「設定」を選択し、「リリース」を展開します。画面は3つあり、それぞれが1つの質問に答えます。
- 環境
- リリースはどこへ進むのか? 経由地点を追加し、順序を決定してください。
- 承認ルール
- 事前に満たす必要がある条件は何か? 環境ごとに承認者、役割、チェックリスト、緊急修正のルールが設定されます。
- デプロイパイプライン
- 誰がデプロイし、Coroidはどのように結果を把握するのか? 貴社のパイプラインまたはCoroidがデプロイを開始し、報告用のトークンによりCI/CDが結果を確認します。
リリース設定を変更できるのはオーナーと管理者のみで、他のユーザーは閲覧のみ可能です。まずはリポジトリを接続してください。すべてのリリースはそのリポジトリ内のコミットを参照します。
環境
リリースはどこへ、どの順序でデプロイされるか?
各プロジェクトには最初から本番環境が含まれています。ステージングやQAなど、他のデプロイ先を追加するには「環境を追加」を使用します。各環境に名前を付けてください。Coroidは
名前からキーを生成します。例えばstagingのようになります。パイプラインが利用を始めた後は、そのキーを安定させておいてください。なぜなら、CI/CDはデプロイ報告時にそのキーを使用するからです。
順序は「次に続く環境」で設定します。何も続かないステージングと、ステージングの後に続く本番環境で構成されるパスは「ステージング › 本番」となります。リリースページではこの順序でロールアウト経路が表示され、承認ルールにより先行する環境でのデプロイが成功したことを条件とする場合もあります。
承認ルール
リリースがここにデプロイされる前に満たすべき条件は何か?
上部で環境を選択します。ルールは環境ごとに適用されるため、ステージングは緩やかで本番環境は厳格に設定できます。
- 必要な承認数:何人が承認すればよいか。0に設定すると、チェックが通過した時点で即座にリリースがデプロイされます。
- 承認可能なユーザー:承認を許可される組織内の役割です。
- 申請者と承認者を分ける:デプロイを開始した人が承認できないほか、リリースノートを編集した人も承認できません。
- 品質チェックの通過:常に有効です。プロジェクトの品質グラフが
release_validationトリガーにより、対象コミットに対して実行されます。そのグラフはプロジェクトの品質設定から公開できます。 - 前の環境を先に通過させる:現在の環境にデプロイする前に、その前に続く環境へのデプロイが完了している必要があります。
- 承認済みリリースノート:現在のノートに承認が必要で、以降の編集には新たな承認が求められます。
- チェックリスト:リリースページ上で確認される手動の手順で、「データベース移行のレビュー済み」などがあります。項目を必須または任意に設定でき、必須項目には一時的な例外を許可できます。オーナーまたは管理者が理由と最大24時間の有効期限を記録し、その例外は該当するコミットと環境にのみ適用されます。
- 緊急修正用ルール:緊急修正向けの緩やかなルールで、承認数や前の環境・ノート承認の適用有無が決まります。品質チェックと必須のチェックリスト項目は常に適用され、緊急修正の承認はオーナーと管理者のみが行えます。
「ルールを公開」を選択して保存します。公開するとルールの新しいバージョンが作成されます。旧バージョンで得られた承認は無効になるため、進行中のリリースでは再度承認を求められます。公開されたルールが設定されていない環境ではチェックを通過できず、画面にその旨が表示されます。
デプロイパイプライン
誰がデプロイを開始し、Coroidはどうやってその結果を把握するのか?
上部で環境を選択し、デプロイの開始方法を指定します:
- 自社のパイプラインが自動でデプロイ:現在のプロセスを維持します。Coroidは CI/CDからの報告がある場合、またはオーナーや管理者がリリースページで外部デプロイを記録した場合にデプロイ情報を記録します。
- CoroidがGitHub Actionsワークフローを開始またはCoroidがGitLabの CI/CDパイプラインを開始:プロジェクトのリポジトリが該当プロバイダー上にある場合に表示されます。リリースコミットを指すブランチまたはタグ、GitHub用のワークフローファイル、デプロイを行うジョブの正確な名前を入力します。Coroidは実行開始前に参照をチェックし、成功を認める前に指定されたジョブを確認します。
「デプロイ報告」の下で、環境用の報告用トークンを作成し、CI/CD内のシークレットとして保存します。Coroidはトークンを一度だけ表示し、そのハッシュ値のみを保持します。トークンを置き換えると古いトークンは即座に無効になります。同じ画面にはエンドポイント、プロジェクトID、パイプラインで必要な環境キーに加え、報告が届いているかどうかも表示されます。デプロイイベントとCI設定にはイベントのフォーマットと例が記載されています。
組織間での設定の移行
設定のエクスポートとインポートでは、環境とその順序、パイプライン設定、公開済みのルール(緊急修正用ルールを含む)が移行されます。報告用トークンはエクスポートされません。インポート後は新たに作成してください。