Travisを使用した継続的デプロイ
Created by Floor Drees, @floordrees / 翻訳者: @monya_tto
継続的デプロイとは何でしょうか?
継続的デプロイは、継続的デリバリーという「ムーブメント」の一環です。継続的デリバリーの背後にある考え方は、ソフトウェアのデリバリープロセスをできるだけ自動化しようというものです。
継続的デプロイのチェーンを構築することで、Gitデプロイが強化されます(テストするためには全てがコミットされなければならず、デプロイするためには全てがテストされなければなりません)。これにより共同作業が容易になり、素早くデプロイできるようになります。その結果、あなたはアプリをより良いものにすることに集中できます!
数々の先進的な企業が、継続的デプロイの潮流に乗っています。このガイドにおいてはTravis-ciを使用して、GitHubからanyninesへのRuby on Railsアプリの継続的デプロイを設定していきます。
COACH: 継続的デプロイの利点について話してください。
Github、Travis CI と anynines
まずGithubリポジトリ内にアプリケーションが必要です。私たちには既にそれがありますね!次にガイドに従って、anyninesを使ってアプリをデプロイする方法の最後の手順まで終えたことを確認してください。
それから、アプリのメインディレクトリにmanifest.yml
という名前のファイルを作成する必要があります。これによりデプロイについてのいくつかの情報を保存することができます。ターミナルで以下のコマンドを実行してください。
これにより、anyninesへの初回デプロイが開始されます。cf gemはmanifest.yml
が無いことを確認すると、標準的な設定に関する質問をしてきます。 例えば、あなたのアプリインスタンスで希望する数とメモリサイズ、どのサービスをバインドするかどうかなどについてです。中でもとりわけ重要な質問はこれらの情報を保存するかということです。
希望するmanifest.ymlファイルを作成するために、この質問には「もちろんyes」と答えてください!
一度pushが成功すると、あなたの選んだブラウザを使ってアプリにアクセスできるようになります。以上でTravisをセットアップする準備ができました!
今の私たちには「実際のテスト」がありません。そのため次の手順では成功するテストスイートを模倣するTravisの設定ファイルを作成します。まずローカル環境でアプリのディレクトリまで移動し、.travis.yml
ファイルを作成してください。現時点では作成したファイルに次の内容を貼り付けてください。後ほどTravis gemを使って情報を追加します。
これでアプリにTravisの設定が含まれるようになりましたが、TravisはGithubからあなたのコードを取得して、テストを実行するタイミングをどのように知るのでしょうか?ここでGithubフックの出番です!
Travis CIにおけるGithubフックの有効化
コードの変更をコミットし、リポジトリにプッシュしましょう。そしてテストスイートが実行されているか、travis-ci.org を確認してください。あなたのビルドが成功したというメールも届くでしょう。
さて、実際のデプロイを設定できるようになりました。
travis gemを使ってみましょう。
anyninesへのデプロイを設定するためにtravis
コマンドを使ってみましょう。
anyninesのターゲットURLを知らない場合は以下のコマンドを使用してください。
Travisのサインアップに必要なすべての情報を収集します。これには、ターゲットURL、ユーザー名、現在使用している組織とスペースが含まれます。anynines.comへのサインアップが完了した後にウェルカムメールも届くでしょう。
travis
コマンドが完了後、.travis.yml
はおおよそ以下のようになります。
.travis.yml
の変更をコミットし、プッシュすることを忘れないようにしましょう。これは、Githubリポジトリ内で設定を有効にするために必要です。
これからは、Githubリポジトリに変更をコミットするたびに、テストが実行され、アプリがデプロイされます。その後、Travisは次のような長いログを出力します。
これは、作業が完了していて問題なく進めることを意味します!