BuildでCI/CDパイプラインを構築するところまでをまとめています。BuildでRSpecによる自動テストの動作確認テスト失敗時テスト成功時RailsにRSpecを導入するまずはRailsにRSpecを導入します。実際にローカル環境でRSpecによるテストができるところまでの手順をまとめています。installします。'rails-controller-testing'endRSpecに必要なファイルを生成する以下のコマンドでRSpecに必要なファイルを生成します。rspec:install成功すると以下の3つのファイルが生成されていることが確認できます。Botの設定をrails_helper.rbに追加します。FactoryBot::Syntax::MethodsendRails.loggerのログを出力するには以下を追加します。Logger.new(STDOUT)rspec用のテストファイルを作成するために、application.rbに以下を追加します。"spec/factories"end.rspecに以下を追加するとテストの実行結果が見やすくなります。documentationテストを作成するfactoriesやcontrollerを用意し、テストを作成していきます。今回はテスト作成の過程は省略します。詳しくは以下の記事などを参考にしてください。Qiita概要Railsで作成されたAPIのテストについてこちらを参考に必要最低限の情報を...qiita.com例として本のデータを取得するAPIの本コントローラのshowメソッドに対してテストを行います。eq(@book.name)endendendendローカルでテストが実行できるか確認します。rspec正常にテストが成功すると以下のようなログが出力されます。BuildにRSpecを組み込んでCI/CDパイプラインを構築していきます。Dockerfileの作成Rubyの公式イメージを元に作成しています。テストする際のDBの接続先はMariaDBを使用します。$APP_ROOTテスト用のDB設定database.ymlに以下のようにテスト用のDBを設定します。Buildで実行するシェルスクリプトを作成します。MariaDBを起動して、DBを作成しテストを実行できる環境を整えます。その後、テストを実行します。rspecDockerイメージを作成し、RSpecのテストを行いGAEにデプロイするcloudbuild-staging.yamlのスクリプトでDockerイメージの作成、RSpecのテスト、GAEのステージング環境にデプロイを行います。いわゆるCI/CDパイプラインを構築して、実行しています。Gitでプッシュするとcloudbuild.yamlのスクリプトが自動で実行されるようにしています。BuildとGitの連携方法に関してはここでは省略しています。BuildでRSpecによる自動テストの動作確認テスト失敗時テスト失敗した際の挙動を確認します。Buildのステップが停止し、デプロイされることはありません。テスト成功時テスト成功時の挙動を確認します。テストが成功すると、そのままGAEへのデプロイが始まり、無事完了しました。LUCKという会社で代表兼エンジニアをしている齊藤です。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。