コンテンツにスキップ

CI/CD@マイクロサービスアーキテクチャ

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


マイクロサービスリポジトリ

yq

マイクロサービスリポジトリのCIで yq コマンドを実行し、Helmチャートリポジトリのyamlを更新する。

command: |
  wget https://github.com/mikefarah/yq/releases/download/v4.22.1/yq_linux_amd64
  sudo chmod +x /usr/local/bin/yq
  yq e -i '.image |="<コミットハッシュ値>"' ./values.yaml


Updatecli

マイクロサービスリポジトリのCIでUpdatecliを実行し、Helmチャートリポジトリのyamlを更新する。

name: Update image tag on values.yaml

# 共通処理
scms:
  setup:
    kind: github
    spec:
      branch: main

# 変更内容の値
sources:
  imageTag:
    kind: shell
    spec:
      command: echo "{{ env "CI_COMMIT_TAG" }}"

# 変更対象
targets:
  helmValues:
    name: Update image tag on values.yaml
    kind: yaml
    scmid: setup
    spec:
      file: ./values.yaml
      key: $.image.tag
    sourceid: imageTag

# プルリクエストの内容
actions:
  default:
    kind: github/mergerequest
    scmid: setup
    spec:
      automerge: false
      description: |
        values.yamlのイメージタグを `{{ env "CI_COMMIT_TAG" }}` に更新しました
      title: "Update image tag to {{ env "CI_COMMIT_TAG" }} on values.yaml"


Helmチャートリポジトリ

記入中...