Appearance
[共通] マイグレーション後の対応
(Qmonus SDK以外)Build taskの修正
Legacy/v2からコピーしてきたTektonのBuild Taskについて、FAQ に該当するため、直接修正する必要があります。
手順2の valuestream-migration migrate-pipelines
コマンドでValue Streamに登録されたTaskは、manifests-v3/${v3_project_name}/tasks
というフォルダに出力されます。以下の手順にしたがい、上記ドキュメント中に記載されているWorkaroundを適用したTaskをQmonus Value Streamに再登録してください。
bash
sed -i 's/docker:git/docker:20.10.14-git/g' manifests-v3/${v3_project_name}/tasks/*
qvsctl pipeline -p ${project_name} apply -f manifests-v3/${v3_project_name}/tasks/
WARNING
valuestream-migration migrate-pipelines
コマンドを再実行すると、上記で実施した修正を上書きしてしまうため、再度上記手順を実行ください。
(ステージングのみ)v3-migration branchのマージ
WARNING
本手順はステート移行処理が安全に終了し、v2のワークフローが無効化されたことを確認してから実施してください。 ワークフローの無効化ができていない場合、マージをトリガーとして、v2のワークフローが起動してしまいます。
ステート移行後のワークフロー無効化が完了した場合、マイグレーションツールから以下の文言が出力されます。
bash
disable-workflow successfully completed.
ステージングのデプロイに利用するブランチ(通常はmain/masterになるかと思います)に、本マイグレーション手順で作成したv3-migration
ブランチをマージください。 各環境のマイグレーションに v3-migration
ブランチは必要なので、全ての環境のマイグレーションが完了するまではv3-migration
ブランチは削除しないでください。
(ステージングのみ)GitリポジトリのWebhook設定
ガイドを参照して、v3 AssemblyLineをGit連携してください。 あわせて、Gitリポジトリ側のWebhook設定でv2 APIを呼び出す箇所を削除してください。Qmonus Value Stream v2プラットフォーム側の設定変更・削除は不要です。
Pipelineのコード管理
valuestream-migration migrate-pipeline
(Qmonus SDK以外) または valuestream-migration migrate-bluegreen-pipelines
コマンドで生成・登録したAssemblyLine、Pipeline、およびTaskは、v3プラットフォームで実際に利用しているリソースであるため、コード管理いただくことを推奨します。 変更を加えたい場合、直接編集しQmonus Value Stream v3へ変更を適用ください。 変更の適用についてはqvsctl仕様を参照してください。
なお、公式のCI/CD Adapterを利用することで、Pipeline/Taskを直接管理する必要がなくなります。詳しくはOfficial Cloud Native Adapterを参照してください。
AssemblyLineのPromote設定
マイグレーションでは、環境ごとに独立したAssemblyLineを作成します。ご自身のリリースフローに従って、AssemblyLine間を連結してください。 具体的には、Staging環境用のAssemblyLineと、Production環境用のAssemblyLineをPromote設定により連結いただくことを推奨します。
Promote設定については、ガイドを参照してください。
DANGER
以下の並列で複数環境にデプロイするAssemblyLineは現在サポートしておりません。ご迷惑をおかけしますが、環境ごとにAssemblyLineを作成する形でご利用ください。
v2でMulti-promote機能を利用されている場合、すなわちRelease Workflowを使ってデプロイ先Scopeを指定してデプロイしている場合、デプロイ対象の環境の数だけAssemblyLineが生成されます。これらを1つ1つPromoteにより連結しても良いですが、並列で複数の環境にデプロイしたい場合は、1つのAssemblyLineにまとめてください。以下の例のように、stages
フィールドで異なるDeployment (デプロイ先) を配列で指定いただくことで並列でデプロイ可能です。
yaml
apiVersion: vs.axis-dev.io/v1
kind: AssemblyLine
metadata:
name: prod-deploy
spec:
params: ...
stages:
- name: deploy-prod1
spec:
pipeline: deploy
deployment:
app: your-app
name: prod1
- name: deploy-prod2
spec:
pipeline: deploy
deployment:
app: your-app
name: prod2
ステート移行に利用したパイプラインの削除
後ほど手順を案内しますのでお待ちください。