Appearance
作成したInfrastructure Adapterを利用したリソースのデプロイ
独自に作成したInfrastructure Adapterを利用してリソースをデプロイする方法を解説します。
QVS Configの更新
QVS ConfigのdesignPatternsフィールドにCI/CD Adapterを宣言します。
以下の例では、QVS ConfigにQmonus Value Streamが提供しているOfficial Cloud Native AdapterのCI/CD Adapterを宣言しています。
diff
params:
- name: k8sNamespace
type: string
- name: imageName
type: string
modules:
- name: github.com/qmonus/sample-module
local:
path: .
+ - name: qmonus.net/adapter/official
+ revision: v0.39.0
designPatterns:
- pattern: github.com/qmonus/sample-module/local/web
params:
k8sNamespace: $(params.k8sNamespace)
imageName: $(params.imageName)
+ - pattern: qmonus.net/adapter/official/pipeline/deploy:simpleDeployByPulumiYaml
+ pipelineParams:
+ useCred:
+ kubernetes: true
これによって、QVS ConfigをコンパイルしたときにリソースをデプロイするためのPipeline Manifestを出力できます。
リポジトリに登録
作成したQVS ConfigとAdapterをリポジトリに登録します。
以下の例では、QVS Config、cue.mod、localディレクトリ配下に作成したAdapterをリポジトリに登録しています。
git add qvs.yaml cue.mod/ local/
git commit -m "任意のメッセージ"
git push
(任意) 作成したAdapterをリモートから参照する
作成したAdapterをリポジトリに登録した上で、QVS ConfigとAdapterを管理するリポジトリを分けたい場合は、QVS Configのmodules
フィールドを以下のようにを記載します。
yaml
modules:
- name: github.com/qmonus/sample-module
remote:
repo: <Adapterが登録されているリポジトリのURL>
revision: <任意のリビジョン・タグ>
path: <リポジトリのルートディレクトリから、cue.modまでのパス>
modules
フィールドについての詳細はQVS Configで指定する各フィールドの詳細を参照してください。
(任意) Official Cloud Native Adapterをダウンロードする
Official Cloud Native Adapterをご自身のリポジトリにダウンロードして利用したい場合、qvsctl adapter get
コマンドを実行してダウンロードできます。
以下の例では、独自に作成したAdapterを格納している.valuestream
配下にOfficial Cloud Native Adapterをダウンロードしています。
bash
cd .valuestream
# 認証
qvsctl auth
# 最新版のOfficial Cloud Native Adapterをダウンロード
qvsctl adapter get qmonus.net/adapter/official
# ダウンロードされたofficial Cloud Native Adapterのバージョンを確認
cat qvsctl.mod
# リポジトリに登録
git add cue.mod qvsctl.mod
git commit -m "任意のメッセージ"
git push
ダウンロードしたOfficial Cloud Native Adapterは、QVS Configに以下のように宣言して利用します。
diff
params:
- name: k8sNamespace
type: string
- name: imageName
type: string
modules:
- name: github.com/qmonus/sample-module
local:
path: .
designPatterns:
- pattern: github.com/qmonus/sample-module/local/web
params:
k8sNamespace: $(params.k8sNamespace)
imageName: $(params.imageName)
+ - pattern: qmonus.net/adapter/official/pipeline/deploy:simpleDeployByPulumiYaml
+ pipelineParams:
+ useCred:
+ kubernetes: true
Qmonus Value Streamを利用してリソースをデプロイする
上述した内容を実施することで、作成したInfrastructure AdapterをQmonus Value Stream上で利用する準備が完了します。 以降のデプロイの手順については、リソースのデプロイを参照してください。