- 公開日
はじめてのCircleCI Orbsを公開した
目次
I published my first CircleCI Orb! » CircleCI Orb Registry - toshimaru/bundle-install https://t.co/Ikd11JmEFd
— toshimaru (@toshimaru_e) November 30, 2018
はじめてのCircleCI Orbsを公開した。そのメモ。
CircleCI Orbsとは
2018年11月に正式公開されたCircleCI Orbs。
本日Orbsをリリースしました🥳OrbsはWorkflow以来のメジャーアップデートです。OrbsはCircleCIの設定をパッケージ化する仕組みで、誰でも自分のOrbsを公開できます。これはCI/CDサービスとしては初の試みで、今後はユーザーやパートナーを巻き込んでCircleCIのエコシステムを構築することができます。
— CircleCI Japan (@CircleCIJapan) November 7, 2018
要はいろんなレポジトリで使っている共通のCircleCIの設定を共通化できる仕組みのこと。
作ってみた
僕もいろんなRuby on Railsプロジェクトでよく使うコマンド、bundle install
をCircleCI Orbsを使って共通化してみることにしてみました。
- 結果できたのがこちら: CircleCI Orb Registry - toshimaru/bundle-install
- GitHubソースコードはこちら: toshimaru/bundle-install
作り方
Install circleci command
まずはcircleciコマンドを入手。MacOSの場合下記のようにbrewで入れることができます。
brew install circleci
namespace 作成
namespaceを取得します。
$ circleci namespace create toshimaru github toshimaru
Orb 作成
namespace以下のorb名を作成します。
$ circleci orb create toshimaru/bundle-install
Orb toshimaru/bundle-install created.
Please note that any versions you publish of this orb are world-readable.
You can now register versions of toshimaru/bundle-install using circleci orb publish.
Publish CircleCI Orb
作成したorb.yml
を公開します。
$ circleci orb publish src/orb.yml toshimaru/bundle-install@0.0.1
Orb toshimaru/bundle-install@0.0.1 was published.
Please note that this is an open orb and is world-readable.
作成したOrbを使う
次に作成したOrbを使う側、呼び出す側の設定です。
orbs:
bundle-install: toshimaru/bundle-install@0.1.0
jobs:
build:
docker:
- image: circleci/ruby
steps:
- checkout
- bundle-install/bundle-install
# - bundle exec rspec
実際に下記のPRでOrbの変更例が見れますのでご参照ください。
Introduce CircleCI Orbs by toshimaru · Pull Request #264
参考にした記事
- 全体的にこちらの手順を参考にさせていただきました。 CircleCI Orbs 入門 | tsub’s blog
- ファイルの構成などこちらを参考にさせていただきました。https://github.com/sue445/circleci-ruby-orbs