🐙️
[Argo CD] Pull Request Generator試し
プル リクエスト ジェネレーターは、SCMaaS プロバイダー (GitHub、Gitea、または Bitbucket Server) の API を使用して、リポジトリ内のオープンなプル リクエストを自動的に検出します。これはプルリクエストを作成する際にテスト環境を構築するスタイルとよく合います。
ローカルクラスターにArgo CDをインストール
クラスター作成
just create-cluster
Argo CDインストール
just apply argo-cd
adminユーザーのログインパスワード
just argocd-password
hostsにargocd.localをlocalhostのエイリアスとして登録しておく
http://argocd.local:54321/ を開き、ユーザー名adminとパスワードでログイン
LOG IN VIA GITHUB
自分用にGitHub Appを作ればSSOも利用できる
ApplicationをSync
argo-cd / app-projects / appsets をSync

podinfo ApplicationSet
http://argocd.local:54321/applications/argo-cd/appsets?resource=&node=argoproj.io%2FApplicationSet%2Fargo-cd%2Fpodinfo%2F0 を開く

spec.generators 抜粋
spec:
generators:
- pullRequest:
github:
labels:
- preview
owner: mikutas
repo: podinfo
requeueAfterSeconds: 120
generator定義は以下の意味
-
https://github.com/mikutas/podinfo の、
previewラベルの付いたプルリクエストを対象にApplicationを生み出す-
mikutas/podinfoは https://github.com/stefanprodan/podinfo のfork - Applicationsetを編集して
ownerを書き換えて対象を自分のforkに変えたり -
repoも書き換えて別のリポジトリにできる
-
- 対象プルリクエストの再認識間隔は120秒
http://podinfo.local:54321/ を開く

template:
spec:
source:
helm:
valuesObject:
fullnameOverride: podinfo-{{.number}}
ingress:
className: traefik
enabled: true
ui:
message: 'PR #{{.number}}: sha={{.head_sha}}'
path: charts/podinfo
repoURL: https://github.com/mikutas/podinfo.git
targetRevision: '{{.head_sha}}'
生成先Applicationで動的に変更させる値
-
{{.number}}プルリクエスト番号 -
{{.head_sha}}プルリクエスト先頭コミットのSHA - 使用可能テンプレート一覧
Discussion