LINEで送る
Pocket

メーリークリスマス!

まずはこれを見てほしい!

以下、Orbsを使わず旧UISlack連携をしてしまうと上記のように見にくいし、エラーが出たときはメンションを飛ばすなどできません。Orbsを使えば様々なカスタマイズが可能になります。というわけで今回個人で運用しているDigitalOcean x Terraform CIを修正してみました。Terraform CIに関しては以下参考にできればと思います。

そもそも旧UIから以下の設定ってどこでやるのだろうか…むしろ辿り着けない!?

https://circleci.com/docs/ja/2.0/notifications/

[DigitalOcean]CircleCIでTerraformのCI/CD環境を実装してみた


■circleci/slack@3.4.2

https://circleci.com/developer/ja/orbs/orb/circleci/slack?version=3.4.2

最新はv4.1.4になりますが、4系だとカスタムが増えてより細かく通知できるのですが、そこまで工数かけたくないため、v3.4.2でシンプルに作ってみました。今回は notifystatus を使えばOKですね。


■config.yml

まずはversion 2.1必須になります。 3行目 でslackのバージョンを指定しましょう。あとはJobs配下に指定するだけなので、 terraform validate から通知させてみます。TerraformのイメージはAlpine Linuxを使っていることから 47行目bash、curl、jqをインストールしないと最後のSlack Notificationで通知できません。messageにはCircleCIの既存で設定されているユーザ名、ブランチ名の環境変数を指定することで出力可能になります。

56行目 では slack/statusのfail_only によってエラーが起きたらメンション付きで@hereにしました。slackのユーザ名は個人情報なのでGitHubでは管理したくないので…といっても自分は既にバレてるな。

最後に 58行目slack/notify で成功したらSlack通知させるようにしました。これで通知したいチャンネルをミュートしても誰でも気づくはずだと思います。webhookは事前に環境変数を登録しましょう。ではpushとマージしてみましょう!


■Slack

  • Other project

他のプロジェクトにも設定してみましたが、エラーを出すとちゃんとメンション来ているのでOK!


■まとめ

Orbsめちゃくちゃ見やすくなったので良き!イカしてるぜ!これでエラー出たときのみCircleCIのコンソール画面で確認してデバッグするだけとなりました。あとでv4でも作ってみよう!またブログします!

LINEで送る
Pocket

カテゴリー: CircleCI

adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、グループ会社のインフラをECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください