えいのうにっき

a-knowの日記です

大事なことは「コード化すること」だけじゃない 〜 Infrastructure as Code を読んだ

「いつか読みたいな」と欲しいものリストに入れていた Infrastructure as Code を、まさかまさか、有り難いことに監訳者である @gosukenator さんからご恵贈いただいたのが、昨年11月のこと。

はやくも4ヶ月が経過してしまった。相変わらずの遅読さよ。すみませんすみません。

続きを読む

コード化したはてなブログリポジトリの更新を CircleCI 2.0 で自動化した

昨日、自分のはてなブログ(このブログ)の内容を GitHub で管理しはじめた、と書いた。

blog.a-know.me

コード化したとはいえ、はてなブログのエディタが使いやすく、僕もそれに慣れきってしまっていることなどもあり、ブログの更新などはいままでどおり、はてなブログの管理画面で実施するつもり。

となると、この状態のままだと、「はてなブログ側は更新されているのに、リポジトリ側がそれに追随できていない状態が発生しやすい」といった課題が残る。

理想的には、「はてなブログ側で記事の更新が発生したら、それをトリガーにリポジトリ側にも Pull Request が作成される」といった仕組みができるといいのだけど、さすがにそれはできないので、次点案として「はてなブログ側とリポジトリ側の差分を定期的にチェックし、差分があったら自動的に Pull Request を作成する」のはどうかと考えた。つまり、フロー的には以下のような感じ。

  1. 僕がはてなブログ管理画面でブログ記事を更新。
  2. 定期的に動作している仕組みが更新による差分を検知。追従するための Pull Request を自動的に作成。
  3. その Pull Request の内容を僕が確認し、問題なければマージする
    • これで master ブランチの内容とはてなブログの内容との差分がなくなる

上記の仕組みを実現するための手段として CircleCI 2.0 を候補に挙げ、あれこれ調べながらやってみたらなんとかそれっぽい仕組みを作ることができたので、今回はその内容を紹介する。ちなみに CircleCI 2.0 を触るのは今回が初めて(古い方のはずっと使ってる)。

続きを読む