🐕
ArgoCDを用いてGitHubのプライベートリポジトリからのCDを実現する
ArgoCDのインストール
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
プライベートリポジトリへの接続
kubectl port-forward svc/argocd-server -n argocd 8080:443
http://localhost:8080
にアクセス、Settings
> Repositories
> CONNECT REPO
を押下、
設定項目 | 値 |
---|---|
connection method | VIA HTTPS |
Type | git |
Project | default |
Repository URL | リポジトリのパス |
Username | 空文字以外の適当な文字 |
Password | GitHubから取得したアクセストークン |
を設定後CONNECT
を押下
ArgoCDのマニフェスト
argocd.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: sample-argo-cd
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/${GITHUB_ACCOUNT_NAME}/${REPOSITORY_NAME}.git # 対象のリポジトリ
targetRevision: main # 対象のブランチ
path: manifests # 対象のディレクトリ
directory:
recurse: true
destination:
server: https://kubernetes.default.svc
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: true
現状は特定のファイルの指定は出来ず、ディレクトリを指定する必要がある模様
マニフェストの適用
kubectl apply -f argocd.yaml
Discussion