运行 rails 带有 Gitlab CI 脚本的服务器?
Running rails server with Gitlab CI Script?
所以我有 Gitlab CI 运行ning,它正在构建项目,我正在尝试 运行 我的 capybara/poltergeist 集成测试,但我意识到当 CI 运行s rspec 命令执行这些操作时....服务器实际上 运行ning.
那么我的 CI.yaml 文件中我应该把我的 "Bundle exec rails s" 放在哪里?
就在 rspec 命令之前?
作为参考,这是我的 CI 文件。
before_script:
- rbenv install --skip-existing `cat .ruby-version`
- bundle install
- RAILS_ENV=test bundle exec rake db:drop db:create db:migrate db:seed
rspec:
script:
- bundle exec rspec . --tag type:feature
tags:
- ruby
还有一个附带问题:构建完成和测试完成后...我将如何关闭正在 运行 的 Rails 服务器。还是会自动关闭?
通常 Capybara 会启动自己的应用程序实例,并在完成后将其关闭,您只需确保 Capybara.server_host 设置为它可以绑定的接口,并在必要时调整 Capybara.app_host也是。
所以我有 Gitlab CI 运行ning,它正在构建项目,我正在尝试 运行 我的 capybara/poltergeist 集成测试,但我意识到当 CI 运行s rspec 命令执行这些操作时....服务器实际上 运行ning.
那么我的 CI.yaml 文件中我应该把我的 "Bundle exec rails s" 放在哪里?
就在 rspec 命令之前?
作为参考,这是我的 CI 文件。
before_script:
- rbenv install --skip-existing `cat .ruby-version`
- bundle install
- RAILS_ENV=test bundle exec rake db:drop db:create db:migrate db:seed
rspec:
script:
- bundle exec rspec . --tag type:feature
tags:
- ruby
还有一个附带问题:构建完成和测试完成后...我将如何关闭正在 运行 的 Rails 服务器。还是会自动关闭?
通常 Capybara 会启动自己的应用程序实例,并在完成后将其关闭,您只需确保 Capybara.server_host 设置为它可以绑定的接口,并在必要时调整 Capybara.app_host也是。