2021-01-16 (土)

tfupdate orb の circleci/orb-tools を v8.27.5 から v10.0.3 にアップデートした [CircleCI]

[2019-12-20-1] で circleci/orb-tools を解説しました。リリースフローがよく出来ていたので、感動した記憶があります。

CircleCI-Public/orb-tools-orb

Various tools for authoring and publishing CircleCI orbs



しかし、記事を書いた時にはすでに v9.0.0 がリリースされており、それはそれは大きな BREAKING CHANGES でした...。

やる気が出なかったので、tfupdate orb で使っているバージョンはずっと据え置いていましたが、今日急にやる気になったので、最新の v10.0.3 にアップデートしました。

当該 PR はこちらです。.circleci/config.yml がかなり短くなりました。
https://github.com/masutaka/circleci-tfupdate-orb/pull/2

公式ドキュメントcircleci/orb-tools のドキュメントはありますが、よく分からないのと、今までの経緯からあまり信用できないので、v10.0.3 のコードリーディングをして理解しました。

circleci/orb-tools 自身の .circleci/config.yml も読みました。結果的にここまで複雑にする必要はなかったです。
https://github.com/CircleCI-Public/orb-tools-orb/blob/v10.0.3/.circleci/config.yml

今までは master ブランチに commit するたびに orb のバージョンが自動的に上がっていきました。セマンティックバージョンの制御はできません。

現在はその commit message によって、orb バージョンを半自動的に上げられるようになりました。セマンティックバージョンを制御可能です。

続きを読む

2020-10-30 (金)

CircleCI の旧 UI で設定した Slack Integration の設定を確認も変更も削除もできない件への対応方法 [CircleCI]

今年の春くらいに CircleCI の UI が新しくなったタイミングで、各プロジェクトで設定した Slack 通知用の設定ページはどこかにいってしまいました。

こんな画面でした。

以前の Chat Integration

各プロジェクトの設定ページによると、現在は Slack orb を使う必要があるそう。
例: https://app.circleci.com/settings/project/github/masutaka/example/slack

それはまあ移行すれば良いのですが、旧 UI で設定した Slack の Webhook URL を確認したくても出来ません。Slack orb に移行した場合に、旧 UI で設定した通知を無効にしてくれるのかも気になります。

CircleCI のサポートに聞いたところ、残念ながらそのような UI は用意されておらず、Slack orb に移行しても自動的な無効化はしてくれないそう。

マジすか・・・!

Undocumented API を使って無効化が必要とのこと。新 UI では確認も変更も削除もできないとのこと。それはさすがに困る人が多いんじゃないかなあ...?全部サポート対応するのかしら。

それはそれとして、この記事ではその Undocumented API を使って、旧 UI で設定した Slack Integration の確認と変更、削除のやり方をまとめます。説明しませんが、IRC も出来ると思います。

※ 9 月にサポートに聞いた時、「Undocumented API を使うのは構わないのだけど、やり方自体も Undocumented なのは変なのでヘルプページに書いて欲しい」と伝えたけど、書かれてないようなのでこの記事を書いています。

続きを読む

2020-09-02 (水)

CircleCI の orb を fork して PR を送る前の動作確認方法 [CircleCI]

今回 pbrisbin/pushover orb を変更した。PR を送る前に、動作確認がてらしばらく使っている。今後のためにやり方を残しておく。

1. 動作確認用の orb を publish するために masutaka/pushover という scope を作る。orb の scope は一度作ったら削除できず、リネームしか出来ないようだ。自分用なので気にしないことにする。

$ circleci orb create masutaka/pushover
You are creating an orb called "masutaka/pushover".

You will not be able to change the name of this orb.

If you change your mind about the name, you will have to create a new orb with the new name.

✔ Are you sure you wish to create the orb: `masutaka/pushover`: y
Orb `masutaka/pushover` created.
Please note that any versions you publish of this orb are world-readable.
You can now register versions of `masutaka/pushover` using `circleci orb publish`.



続きを読む

2019-12-20 (金)

circleci/orb-tools を使った Orb のリリースフローが良く出来ていたので紹介する [CircleCI]



先日、tfupdate の CircleCI Orb を作りました。

masutaka/circleci-tfupdate-orb

CircleCI orb for tfupdate.



tfupdate とは


tfupdate は terraform のアップデートを支援してくれるツールです。ローカルの .tf ファイルに書かれた、terraform と terraform provider のバージョンを最新にしてくれます。

minamijoyo/tfupdate

Update version constraints in your Terraform configurations



.circleci/config.yml に組み込むと、定期的に pull request を作ってくれます。
例: https://github.com/minamijoyo/tfupdate-circleci-example/blob/cd8e5561b7eabb25aa3cd024dfcf5b868c4bda45/.circleci/config.yml

タイムリーなことに、作者の minamijoyo さんが書かれた記事があります。詳しくはこちらをどうぞ。
tfupdateでTerraform本体/プロバイダ/モジュールのバージョンアップを自動化する - Qiita

続きを読む

2017-04-16 (日)

CircleCI 2.0 で capistrano デプロイしてみた [CircleCI][capistrano]

このブログは GitHub で管理しており、master に commit が追加される
と、CircleCI が capistrano を使ってデプロイします。

[2017-04-13-1] でテストを CircleCI 2.0 で動かしたので、デプロイも
試してみました。

続きを読む

2017-04-15 (土)

CircleCI 2.0 をローカルで実行できる circleci コマンドとは何者か [CircleCI]

CircleCI

先日の [2017-04-13-1] で気になったので調べてみました。

初めに結論から。

circleci コマンド(シェルスクリプト。macOS 等で実行可能)
└ docker run circleci/picard
 └ /usr/bin/circleci (https://github.com/circleci/build-agent)

・circleci コマンドは build-agent というコマンドを Dockerize した
シェルスクリプト。

・build-agent は golang 製のツールで、/usr/bin/circleci としてコン
テナ内に存在する。おそらく private repository
https://github.com/circleci/build-agent で開発されている。

・Docker Image は https://hub.docker.com/r/circleci/picard/ だが、
Dockerfile は公開されていない。Alpine Linux ベースのようだ。

・この Docker Image には docker コマンドは存在しない。
/usr/bin/circleci が Docker Hub の API を使って、docker pull 相当
のことなどを実行するようだ。

続きを読む

2017-04-13 (木)

Rails リポジトリに CircleCI 2.0 を導入した [CircleCI][Rails][Docker]

CircleCI

先日素振りがてら、個人の小さな Rails リポジトリを Dockerize しました。
https://github.com/masutaka/github-organization-watcher/pull/45

現在クローズドβの CircleCI 2.0 は Docker 前提らしいので、これも素
振りがてら移行してみました。
https://github.com/masutaka/github-organization-watcher/pull/48

CircleCI 2.0 はここから申請すれば、すぐ使えるようです。
https://circleci.com/beta-access/#request-access

続きを読む

2015-08-30 (日)

サーバの CI を EC2 から Docker に変更したけどモヤモヤ [CircleCI][Chef][Docker][AWS]

サーバの CI ってどうするのが良いのでしょうね。現状やむを得ず行って
いますが、やり過ぎ感も否めないです。

[2014-09-14-1] に Wercker+Vagrant+EC2 の組み合わせでこのサーバの
CI を始めてから、[2015-02-08-2] に CircleCI+Vagrant+EC2 に変更しま
した。そして今回、CircleCI+Docker に変更しました。

理由は EC2 を使うのは大げさだと思い始めたからです。CI 時間の短縮を
期待しましたが、ほとんど変わりませんでした。結果的に、時々 EC2 イ
ンスタンスを起動するのに 30 分以上かかり、CircleCI のタイムアウト
時間を超える問題は解決出来ましたが。

Docker 入門できて自己満足は得られたのですが、Docker の使い方ではな
いなあというのが正直な感想です。

続きを読む

この記事に言及しているこのブログ内の記事

2015-07-28 (火)

【保存版】自前で継続的 bundle update を導入する方法 [Ruby][CircleCI][Heroku]

俺得な保存版記事です。設定するたびにやり方を思い出すのが面倒になり。

1. CircleCI の設定


GitHub の Personal access tokens のページで token を作成し、
CircleCI の Project Setting -> Environment variables に
GITHUB_ACCESS_TOKEN という名前で追加します。

CircleCI の URL は以下になります。

https://circleci.com/gh/{ユーザ名}/{リポジトリ名}/edit#env-vars

続きを読む

2015-03-03 (火)

継続的bundle updateを簡単に導入できるGemを作った [CircleCI][Ruby]

[2015-01-25-1]のバージョンアップ。

個人、会社含めて、複数リポジトリで継続的bundle updateを始めて一ヶ月。
汎用コードをGemに外出ししました。

circleci-bundle-update-pr | RubyGems.org | your community gem host

RubyGems.org is the Ruby community's gem hosting service. Instantly publish your gems and install them. Use the API to interact and find out more information about available gems. Become a contributor and enhance the site with your own changes.



circle.ymlで完結できるのでなかなか良さげです。ただし[2015-01-25-1]
のスクリプト部分をGem化しただけで、テストもなく、名前が安直です。
でもとりあえず動いています。

続きを読む

この記事に言及しているこのブログ内の記事

2015-02-08 (日)

サーバのCIをWerckerからCircleCIに移行した [CircleCI][Wercker][vagrant][AWS][serverspec][Chef]

画像

[2014-01-09-1]からWerckerを使い始めて1年とちょっと。このたび
CircleCIに移行しました。理由は以下のとおり。

- 会社のJenkinsが壊れてCircleCIを使い始めた。2つ覚えているのが面倒
- [2015-01-25-1]の継続的bundle updateをやりたい(WerckerはAPIがないっぽい)
- [2014-01-09-1]当時と違いCircleCIは1コンテナまで無料になった

Werckerは自分のBoxを簡単に作れたのが良かったんですけどね。
(masutaka/wercker-box-rvm-vagrant-awsの更新は停止します。)

続きを読む

2015-02-08 (日)

bundle updateを定期実行した時、更新されたGemのDiffも分かるようにした [CircleCI][Ruby]

feedforce/tech.feedforce.jp#55で、tachikoma.ioの中の人とこんなやりとりが。

画像

続きを読む

2015-01-25 (日)

CircleCIを使ってbundle updateを定期実行するHerokuアプリを作った [CircleCI][Ruby][Heroku]

CircleCIを使ってbundle updateを定期実行する - Qiita

こちらの「1. CircleCIを起動する」のシェルスクリプトをRubyスクリプ
トにしてみました。Herokuボタンで簡単に設置できます。

masutaka/ci-build-trigger

A trigger of bundle update



続きを読む

2015-01-15 (木)

GitHubにpushしたらCircleCIが自動デプロイしてim.kayacに通知する [CircleCI][chalow][IRC]

画像

[2015-01-13-1]でデプロイ時にchalowが実行されるようになったので、
GitHubへのPushをトリガーにして自動デプロイを実装してみました。

文字で分かりづらいですが、よくある自動デプロイと同じです。(chalow
でここまでやっている人はいるのかな?)

続きを読む

検索


最近の話題
- 2021-01-16
  tfupdate orb の circleci/orb-tools を v8.27.5 から v10.0.3 にアップデートした
- 2021-01-05
  思考を寝かせて、優先順位を決めるための「やるかもしれないリスト」がとてもうまくワークしている
- 2020-12-20
  『データマネジメントが30分でわかる本』を読んだ
- 2020-12-03
  優先度より優先順位のほうが偉い
- 2020-11-10
  『理論から学ぶデータベース実践入門』を読んだ
- 2020-10-30
  CircleCI の旧 UI で設定した Slack Integration の設定を確認も変更も削除もできない件への対応方法
- 2020-09-03
  Looker User Meetup in Tokyo #4(BEACON Japan 前夜祭)に参加した #lookermeetup
最近追記された記事
- 2014-11-02-2 (303日前)
- 2020-01-22-1 (309日前)
- 2019-02-11-1 (483日前)
- 2019-02-03-1 (483日前)
- 2019-01-28-1 (483日前)
- 2019-02-03-1 (525日前)
- 2018-11-28-1 (539日前)
- 2019-05-07-1 (619日前)
- 2018-04-30-1 (634日前)
- 2018-01-28-1 (646日前)
カテゴリ
- Android (2)
- Anthy (3)
- Apache (11)
- Apple (1)
- ATOK (4)
- au (3)
- AWS (24)
- Bazaar (1)
- Berkshelf (2)
- BigQuery (1)
- BitBar (4)
- Book (111)
- Boxen (2)
- Bugsnag (1)
- capistrano (4)
- chalow (57)
- ChatWork (1)
- Chef (17)
- Chrome (3)
- Chromecast (1)
- CircleCI (14)
- clang (26)
- Comics (2)
- Cooking (10)
- cvs (15)
- cygwin (12)
- D3.js (1)
- Debian (55)
- Docker (5)
- E-mail (9)
- elasticsearch (4)
- Emacs (225)
- Emacs講座 (10)
- English (4)
- feedforce (7)
- fetchmail (3)
- Firefox (20)
- Fluentd (4)
- ftp (2)
- Game (21)
- GCP (1)
- Gem (5)
- Git (9)
- GitHub (23)
- golang (11)
- Google (1)
- gpg (4)
- GrowthForecast (7)
- Health (7)
- Heroku (21)
- Homebrew (10)
- HTML (6)
- iBook (1)
- iOS (1)
- iPad (1)
- iPhone (17)
- IRC (1)
- Jenkins (8)
- JS (1)
- Karabiner (1)
- KeySnail (3)
- Kibana (1)
- Kindle (1)
- Kubernetes (2)
- Langrich (7)
- LDAP (6)
- Life (24)
- Linux (7)
- Mackerel (1)
- macOS (1)
- Mew (18)
- MongoDB (1)
- Mozilla (19)
- Music (1)
- MySQL (1)
- NAS (4)
- nginx (6)
- NHK (1)
- Node (1)
- ntp (4)
- OOP (2)
- OpenID (2)
- openssl (1)
- Opera (2)
- OSX (41)
- Perl (14)
- PHP (19)
- PostgreSQL (1)
- procmail (4)
- Programing (3)
- Puppet (1)
- Python (2)
- Rails (13)
- Rake (2)
- RaspberryPi (2)
- Redash (1)
- RedHat (29)
- Redmine (3)
- RSpec (2)
- Ruby (54)
- samba (3)
- screen (7)
- sed (5)
- serverspec (6)
- sh (8)
- Slack (4)
- Solaris9 (22)
- Spring (2)
- ssh (4)
- StatusNet (21)
- svn (12)
- Swift (1)
- Tablet (1)
- tdiary (3)
- Terraform (3)
- Twitter (15)
- Twmode (6)
- Ubuntu (5)
- UNIX (102)
- vagrant (8)
- Video (21)
- vim (1)
- Wercker (9)
- Windows (29)
- Wine (3)
- XML (11)
- XP (1)
- zsh (26)
- インストールメモ (33)
- クイックシェイプ (12)
- ネタ (15)
- 勉強会 (19)
- 携帯 (6)
- 正規表現 (4)
過去ログ
2021 : 01 02 03 04 05 06 07 08 09 10 11 12
2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12