mirror of
https://github.com/capistrano/capistrano
synced 2023-03-27 23:21:18 -04:00
b5e4aa6d5e
This adds various "doctor" tasks that can be used for troubleshooting. To see all the doctor output, run e.g. `cap production doctor`. This will print a report like this: ``` Environment Ruby ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin14] Rubygems 2.6.2 Bundler 1.11.2 Command cap production doctor Gems capistrano 3.4.0 airbrussh 1.0.1 rake 10.5.0 (update available) sshkit 1.9.0 capistrano-bundler 1.1.4 capistrano-rails 1.1.6 Variables :application "myapp" :assets_prefix "assets" :assets_roles [:web] :branch "master" ... etc. ``` To obtain the variables information in particular, code has been added to audit the setting and fetching of variables. Variables set by Capistrano itself and its plugins are whitelisted, but others are "untrusted". If a variable is untrusted and it seems like it is never used, then `doctor:variables` will print a warning (include source location) for that variable name, like this: ``` :copy_strategy is not a recognized Capistrano setting (config/deploy.rb:14) ``` Finally, the RubyGems API is used to check the remote gem repository to see if any newer versions of Capistrano gems are available (this is gracefully skipped if there is no network connection). Any outdated gems will be indicated in the `doctor:gems` output.
11 lines
306 B
Gherkin
11 lines
306 B
Gherkin
Feature: Doctor
|
|
|
|
Background:
|
|
Given a test app with the default configuration
|
|
|
|
Scenario: Running the doctor task
|
|
When I run cap "doctor"
|
|
Then the task is successful
|
|
And contains "Environment" in the output
|
|
And contains "Gems" in the output
|
|
And contains "Variables" in the output
|