開発プロジェクトでは、よく以下のようなライフサイクルが回ってる。 テストの実装 プログラムコードの実装 テストの実行 テストが通ったらコードをリポジトリにPush 定期的にCIサーバがリポジトリをチェックし変更があったらCIサーバ上でテスト実行 テストが通った状態のアプリケーションを検証環境へリリース 検証環境でのテストが通ったら、本番環境へリリース ※実際は5~7の間にDBのバックアップやマイグレーションとかいろんなタスクが結構ある。 このうち実際に人がやらないといけない作業は大体1~4ぐらいで、5~7については人が作業する必要はなく、自動化できる対象作業。同じ作業といっても手順が複雑であればミスをする可能性もあるし、人がする必要が無い作業を何度も人がするのはムダだ!ということで、今回はJenkinsを使って5~6の作業を自動化してみた。 必要なプラグイン 以下のJenkinsのプラグイ