LoginSignup
1
0

More than 3 years have passed since last update.

CircleCIの知らなかったお役立ち機能について

Last updated at Posted at 2019-07-01

先日、こちら( https://circleci.connpass.com/event/134220/ )に参加してきて、有用な情報もあったので補記も含めて以下メモを残しておく。

■ワークフローのタイプ

・スケジューリング: ナイトリービルドのように決まった時刻に実行(スケジューリング設定が可能と言う話)
・マニュアル承認: ワークフローの一部で自動実行を中断し、手動による承認によって再開
・ブランチ指定: ブランチの指定が可能
・タグの指定: gitのタグで指定可能

マニュアル承認の存在は初めて知ったが、承認出るまでWorkflowをデプロイ前でHold状態にできる機能だ。
上場企業のIT監査にも耐えれそうなレベルかは確認必要だが、便利なCIツールだと思う。
https://circleci.com/docs/ja/2.0/workflows/#%E6%89%BF%E8%AA%8D%E5%BE%8C%E3%81%AB%E5%87%A6%E7%90%86%E3%82%92%E7%B6%9A%E8%A1%8C%E3%81%99%E3%82%8B-workflow-%E3%81%AE%E4%BE%8B

■SSHデバッグ

Rebuild with SSHを選択すると、ビルド終了後2時間、もしくはSSHセッションが終わって10分はコンテナが行きているのでアクセスして直接確認が可能

■ビルドの高速化

・同一ジョブ間のキャッシュ、同一ワークフロー内の異なるジョブ間でキャッシュを共有できる
・並列処理(例: 10個のテストを4分割して実行)

■設定のパッケージングと再利用(Orbs)

  • OrbsはOrbsレジストリ上で誰でも公開する事ができ誰でも利用できるが、private利用ができないので注意。

■Orbs Registry(https://circleci.com/orbs/registry/)

以下、3種類のOrbsがある
- Certified(CircleCI)
- Partner(CircleCI認定パートナー)
- 3rd party(その他)

世界で一番使われているのは、大規模開発している3rd partyが作ったもの。ソースのビルドに時間がかかってしまうので自作したスクリプトを混ぜているそう。

各Orbsには使い方の事例が掲載されているので、導入もしやすい。

※AWS-CLIのOrbs: 色々とAWS関連のコマンドをCircleCI上で実行できそう。
5421419d8675319328f19f4f521d28f1.png

※Jira用のOrbs: 色々設定すればJiraに通知できそう。
3d854f5a83ed05b8fc5ddd41d26342a6.png

その他概念的な話

■CI/CDのCDについての各社の捉え方

CDという意味は2つの意味合いで活用されている。(会社によって意味合いが分かれる)

  1. Continuous Delivery(継続的デリバリー)
    ・リリース直前までは自動化してリリース時は人の手で行う

  2. Continuous Deployment(継続的デプロイメント)
    ・リリース作業に人間の意志が介在しない

■CircleCI 5metrics

https://www2.circleci.com/rs/485-ZMH-626/images/5-Key-Metrics-Engineering.pdf
→ 以下の時間を意識しましょうと言う話
コードがコミットされてからデプロイされるまでの時間
CIビルドにかかる時間
CIビルドが始まるまでに待たされるまでの時間
Masterブランチが壊れている時間(いかに早くリカバれるかの時間)
ツールのメンテナンスなど開発以外にかかっている時間

まとめ

既知の話もあれば新規の話もあり、話聞けて良かった。
新機能が出る度、話を聞きに外出するのもアリだと思った。

1
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
1
0