はじめに
JenkinsにてRuby on Railsアプリケーションのテスト、デプロイの自動化を実施しました。
そのときに勉強になったことをまとめたいと思います。
ここでは、Jenkinsとは何か、何ができるかについてまとめました。
関連リンク
関連リンクを下記に載せておくので、必要であれば参考にしてください。。
- EC2 で Jenkins 構築する時にやったこと (Railsアプリケーション)
- Jenkins + Backlog + ElasticBeanstalk 連携
Jenkinsとは
Javaで書かれたオープンソースの継続的インテグレーションツール。
Java
Javaをインストールしていないと動作しませんのでご注意ください。
継続的インテグレーションツール
ソフトウェア開発において短期間で品質管理を行う手法。
コンパイル・テスト・デプロイといったソフトウェア開発のサイクル(ビルド)を頻繁に繰り返し実行することで、問題の早期発見や開発の効率化などが
__CI(Continuous Integration)と表記__されることもあります。
Jenkinsで何ができるか
ソフトウェアのビルド、検証、サーバへのインストール等の一連作業を自動化__する事ができる。
作業の開始は手動でも命令可能だが、イベントをトリガとして、例えばバージョン管理システムにおけるコミット、cronのような時刻に基づいたスケジューリング、他のビルドの完了、特定のビルドURLによるリクエストといった__様々な方法で起動することができる。(Wikiより)
個別の具体例となりますが、以下の表のトリガーを実施するとアクション①が自動で実行され、アクション①にエラーがなければアクション②が実行されるというような作業を自動化することができます。
トリガー | アクション① | アクション② |
---|---|---|
Git Commit | テスト | デプロイ |
まとめ
簡単にですが、Jenkinsについてまとめさせていただきました。
具体的な使用例については、その会社のノウハウとして扱われることも多く、参考になる例を見つけるのが難しいです。
個人的にも勉強中なので、色々と学んでいけたらなと思います。
参考
- Jenkins
- Jenkinsをインストールして使ってみよう[Mac/Linux/Windows]
- Wikipedia