Skip to content

指摘 追加課題 運用保守 AtlantisによるPRベースのterraform plan/apply #178

@skwt20

Description

@skwt20

メモ

プラクティスがヒントすくなすぎて全く分からない。
example/atlantis/k8sを見ながら進めた。

プラクティス

Atlantisサーバーの構築

追記

  • helm inspect values runatlantis/atlantis > values.yamlコマンドを実行し、values.yamlファイルを生成し、以下を修正する。
    • fullnameOverrideatlantis
    • orgAllowlistgithub.com/cnc4e/*
    • typeClusterIP
    • ingressClassNamealb
    • ingresspath/events
    • ストレージクラス設定は以下の通りであることを確認する。(デフォルトのストレージクラス設定を利用する。)
volumeClaim:
  enabled: true
  dataStorage: 5Gi
  storageClassName: ""
  • Webhook Secretを作成する

    • kubectl -n atlantis create secret generic atlantis-webhook-secret --from-literal=secret=<任意の文字列>コマンドを実行し、Secretを作成する。
    • githubリポジトリ>Settings>Webhooks>Add webhook
      • Payload URLhttps://<Ingress(ALB)のDNS名>/events
      • Content typeapplication/json
      • Secretcreate secret genericコマンドで入力した<任意の文字列>
      • SSL verificationDisable (not recommended)
      • Which events would you like to trigger this webhook?Let me select individual events.
        • Pull requests,Pull request reviews,Pushes,Issue comments
      • Activeはチェック
  • 以下コマンドを実行しインストールする。

helm install atlantis runatlantis/atlantis -f values.yaml \
  --set github.user=${USER} \
  --set github.token=${GITHUB_TOKEN} \
  --set github.secret=${WEBHOOKSECRET}
  • helm installのコマンド全文をcodes/atlantis/k8sディレクトリ配下のREADME.mdに書いて保存すること

  • Atlantisにより自動でplanが実行され結果がPRにコメントされることを確認する

表示例
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions