🐕

ArgoCDを用いてGitHubのプライベートリポジトリからのCDを実現する

2023/07/31に公開

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を押下

GitHubのアクセストークンはこちらから発行

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
GitHubで編集を提案

Discussion