2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[CircleCI]ベストオブOrbs

Last updated at Posted at 2023-05-01

こんにちは!CircleCIカスタマーサクセスチヨです。過ごしやすい日が続いていますね。
本日はCircleCIのOrbsで取り入れてほしい5つのタイプを紹介します。

はじめに

Orbsとはパッケージ化されたコンフィグです。スタンプのように一行足すだけで、何十行ものコンフィグが短くなり、何度も繰り返す作業などを簡略化できます。
そのほかサードパーティツールとの連携などもOrbsを使用することで簡単にできます。
今回は主にSlack Orbsの連携方法を紹介し、他にも効率化に役立つorbsを紹介します。

Slack Orbs

社内でSlackを使っている場合、絶対に使ってほしいSlack Orbsを試してみました。こちらのorbsを使用することで、決まった時間帯にSlack通知を送ったり、テストの失敗や成功に基づいて送ることも可能です。またapproval jobと組み合わせて使用する事で、job完了後slackから許可することが可能です。Slack orbsはnode orbsに続く最も使用されているorbsです。

こちらのNode.jsを使用したチュートリアルを参考にしました。チュートリアルでは詳しくNest.jpアプリケーションを作成するところから説明がありますが、こちらは割愛しCircleCIとSlackの連携と、通知のテストを行います。
Nest.jpアプリが作成されたら.circleciフォルダーをルートフォルダーに作成し、新しくconfig.ymlを作成します。
以下のコンフィグをyml内にペーストし、保存します。Screenshot 2023-04-27 at 0.21.21.png

次に早速Slackを連携していきます。初めて使う方は新たにworkspaceを作成しブラウザからSlack APIの設定にアクセスします。create new appをクリックしワークスペースの名前とアプリの名前を入力します。slack orbを使用するにはチャンネルにファイルを投稿する権限が必要です。
Screenshot 2023-04-24 at 1.55.50.png
左側のpermissionからscopeを追加します。Screenshot 2023-04-27 at 1.31.01.png

OAuth Tokenを作成し、後にCircleCI側に登録するので保存します。Screenshot 2023-04-27 at 1.34.34.png
CircleCIのプロジェクトからSlack OAuthからコピーした環境変数を入力します。
Screenshot 2023-04-27 at 1.48.42.png

再度、yamlファイルを更新します。今回はslack: circleci/slack@4.12.1を追加します。
Screenshot 2023-04-27 at 1.38.55.png

:hand_splayed:orbは新しいバージョンが作成されている場合もありますので、developer hubから確認ください。今回は失敗すると通知が来る設定をsrcファイルにしておりますので、チャンネルに通知が行きます。

言語に対応しているOrbs

続いて言語に対応しているOrbsです。言語に対応しているorbsを使用することでプロジェクトに必要な環境変数をインストールしておくことができます。Slackの通知プロジェクトでもnode.jsを使っていました。

Node
Ruby
Go
Maven
Python
上記を使用することでsave_cacheコマンドの手間が省けます。また以下はPhytonとNodeのOrbsを使った実行時間の変化ですが、使用した方が短くなっているのがわかります。(CircleCI Blogから引用)Screenshot 2023-04-27 at 3.58.51.png

DevOps toolとしてのOrbs

DevOpsツールもCircleCIではデモも合わせて紹介しているので確認してみてください。
コードカバレッジを使用し、テストの信用度を高めるorb :video_camera:デモ
・ウェブアプリのE2Eテストとコンポーネントテストを時間をかけずに実行できるorb :video_camera:デモ
・モバイルアプリ開発のためのセキュリティテストを自動化できるorb:video_camera:デモ

各クラウドサービス向けのOrbs

CIサービスを提供しているため、他のクラウドサービスと簡単に連携できるorbsも多種揃っています。
kubernetes
aws cli, S3, ECSなどの各種サービスとの連携
gcp GKEやGCRのマネージング
azure各種サービスとの連携
OIDCも提供が始まっていますので、クラウドサービスと併用してお使いください。

終わりに

orbsには作成者が承認済み、パートナー、コミュニティつ3つの異なるラベリングがあります。ご利用者のセキュリティに合わせてご使用ください。公式ドキュメント
Screenshot 2023-04-26 at 23.33.56.png
またセキュリティーをより考慮される方やパーソナライズされたorbsが必要な場合、プライベートorbsの作成をお勧めいたします。youtubeにチュートリアルが載っていますので、ぜひご確認ください。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?