geordi 3.1.0 → 4.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +66 -11
- data/Gemfile.lock +1 -1
- data/README.md +127 -132
- data/Rakefile +18 -8
- data/exe/dumple +10 -0
- data/geordi.gemspec +1 -0
- data/lib/geordi/COMMAND_TEMPLATE +4 -2
- data/lib/geordi/cli.rb +1 -1
- data/lib/geordi/commands/bundle_install.rb +1 -1
- data/lib/geordi/commands/capistrano.rb +1 -1
- data/lib/geordi/commands/chromedriver_update.rb +2 -2
- data/lib/geordi/commands/commit.rb +1 -6
- data/lib/geordi/commands/console.rb +12 -6
- data/lib/geordi/commands/create_databases.rb +7 -5
- data/lib/geordi/commands/cucumber.rb +17 -12
- data/lib/geordi/commands/delete_dumps.rb +0 -1
- data/lib/geordi/commands/deploy.rb +17 -17
- data/lib/geordi/commands/drop_databases.rb +0 -6
- data/lib/geordi/commands/dump.rb +10 -19
- data/lib/geordi/commands/firefox.rb +3 -6
- data/lib/geordi/commands/migrate.rb +4 -4
- data/lib/geordi/commands/rake.rb +7 -3
- data/lib/geordi/commands/rspec.rb +8 -12
- data/lib/geordi/commands/security_update.rb +24 -25
- data/lib/geordi/commands/server.rb +4 -4
- data/lib/geordi/commands/setup.rb +7 -16
- data/lib/geordi/commands/shell.rb +7 -4
- data/lib/geordi/commands/tests.rb +4 -4
- data/lib/geordi/commands/unit.rb +3 -3
- data/lib/geordi/commands/update.rb +4 -15
- data/lib/geordi/commands/vnc.rb +2 -4
- data/lib/geordi/commands/with_rake.rb +3 -3
- data/lib/geordi/commands/yarn_install.rb +1 -1
- data/lib/geordi/cucumber.rb +7 -5
- data/lib/geordi/dump_loader.rb +1 -1
- data/lib/geordi/gitpt.rb +10 -52
- data/lib/geordi/interaction.rb +1 -1
- data/lib/geordi/remote.rb +16 -4
- data/lib/geordi/settings.rb +155 -0
- data/lib/geordi/util.rb +36 -18
- data/lib/geordi/version.rb +1 -1
- metadata +7 -33
- data/exe/cap-all +0 -4
- data/exe/console-for +0 -4
- data/exe/cuc +0 -4
- data/exe/cuc-show +0 -4
- data/exe/cuc-vnc-setup +0 -4
- data/exe/deploy-to-production +0 -4
- data/exe/dump-for +0 -8
- data/exe/gitpt +0 -4
- data/exe/load-dump +0 -4
- data/exe/migrate-all +0 -4
- data/exe/rs +0 -4
- data/exe/run_tests +0 -4
- data/exe/shell-for +0 -4
- data/exe/tests +0 -4
- data/lib/geordi/commands/eurest.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2af11b387f28e87fc2cb89172b1ea8fdcd87dc4bc62697c18ba4a7cc8ddada28
|
4
|
+
data.tar.gz: c0612fe6e8f266a3b5e5a467018b5f6e484224944057ddd323c9162a0b64d858
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e96089335890efaf9e8ea9a0cabea1c4a6447e363513f61fa2e2fe55f43637ca24906fd3732fd3eb0b5adb752bd2a752a263a0be772bedba1b7115e69425b5d2
|
7
|
+
data.tar.gz: bad860e3b8a14d06970351213fda638e2b853dfbf107ea6b6f4e018cd2ecdbb767848a2ebdec34757f3c5a9d47e8a2a3181ac40c729b1b3a9cbb26e62aaf1613
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.5
|
data/CHANGELOG.md
CHANGED
@@ -1,39 +1,96 @@
|
|
1
1
|
# Changelog
|
2
|
+
|
2
3
|
All notable changes to this project will be documented in this file.
|
3
4
|
|
4
5
|
This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
5
6
|
|
6
|
-
|
7
7
|
## Unreleased
|
8
|
+
### Compatible changes
|
9
|
+
### Breaking changes
|
10
|
+
|
8
11
|
|
12
|
+
## 4.1.1 2020-08-28
|
9
13
|
### Compatible changes
|
10
14
|
|
11
|
-
|
15
|
+
* Fixed: System calls are not executed properly if no bin stub is present. This resulted in errors like:
|
12
16
|
|
17
|
+
```
|
18
|
+
% geordi rspec
|
13
19
|
|
14
|
-
|
20
|
+
# Running specs
|
21
|
+
> All specs at once (using parallel_tests)
|
22
|
+
|
23
|
+
x Specs failed.
|
24
|
+
```
|
25
|
+
|
26
|
+
or
|
27
|
+
|
28
|
+
```
|
29
|
+
% geordi migrate
|
30
|
+
|
31
|
+
# Migrating
|
32
|
+
> Development and parallel test databases
|
33
|
+
|
34
|
+
x Something went wrong.
|
35
|
+
```
|
36
|
+
|
37
|
+
|
38
|
+
## 4.1.0 2020-08-18
|
15
39
|
|
16
40
|
### Compatible changes
|
17
41
|
|
18
|
-
-
|
42
|
+
- Added dumple option `--compress` to compress after dumping
|
43
|
+
|
44
|
+
## 4.0.1 2020-08-11
|
45
|
+
|
46
|
+
### Compatible changes
|
47
|
+
|
48
|
+
- Fix `geordi migrate` command, that fails with:
|
49
|
+
|
50
|
+
```
|
51
|
+
Don't know how to build task 'db:migrate parallel:prepare'
|
52
|
+
```
|
53
|
+
|
54
|
+
|
55
|
+
## 4.0.0 2020-07-30
|
56
|
+
|
57
|
+
### Compatible changes
|
58
|
+
- Improved documentation; README now includes command options.
|
59
|
+
- Fix #90: `geordi console`, `geordi deploy`, `geordi rake` and `geordi shell` now work correctly if the project hasn't been bundled before
|
19
60
|
|
20
61
|
### Breaking changes
|
62
|
+
- Removed deprecated executables
|
63
|
+
- Removed `eurest` command
|
64
|
+
- Respect binstubs if available, otherwise fallback to geordi's previous behaviour. Note that this might cause failures, when your binstubs are not working. Please have a look at #109 for how a failure might look like and how you can fix it.
|
21
65
|
|
22
66
|
|
23
|
-
## 3.0
|
67
|
+
## 3.2.0 2020-07-15
|
24
68
|
|
25
69
|
### Compatible changes
|
70
|
+
- Improvement #43: `--select-server` option on `geordi shell` and `geordi console` can take the number of the server to connect to it directly and to skip the menu.
|
71
|
+
- Add a `.geordi.yml` file to change multiple settings in the project and `~/.config/geordi/global.yml` for global settings.
|
72
|
+
- Deprecated the `.pt_project_id` file in favor of `.geordi.yml`.
|
73
|
+
- Deprecated the `~/.gitpt` file in favor of `~/.config/geordi/global.yml`.
|
74
|
+
- Add #91: Now there is an option to start cucumber without a VNC session. This is configured by the .geordi.yml file.
|
75
|
+
- Fixed `git#staged_changes?` detection on Ruby < 2.5.
|
26
76
|
|
27
|
-
- Fix #98: Changing the `config/database.yml` reader from `YAML.load` to `YAML.safe_load` dropped the support for aliases. We now allow aliases and the classes `Time` and `Symbol`. If we encounter further issues with this approach a revert to `YAML.load` would be an option, too.
|
28
77
|
|
78
|
+
## 3.1.0 2020-06-03
|
29
79
|
|
30
|
-
|
80
|
+
### Compatible changes
|
81
|
+
- Update security-update for improved workflow (#89): Deploy staging first and ask user, if application is still running. Then deploy other stages.
|
82
|
+
|
83
|
+
|
84
|
+
## 3.0.3 2020-05-27
|
31
85
|
|
32
86
|
### Compatible changes
|
87
|
+
- Fix #98: Changing the `config/database.yml` reader from `YAML.load` to `YAML.safe_load` dropped the support for aliases. We now allow aliases and the classes `Time` and `Symbol`. If we encounter further issues with this approach a revert to `YAML.load` would be an option, too.
|
33
88
|
|
34
|
-
- Fix #95: Method change from `! *.include?` to `*.exclude?` was not valid as we do not have active support in Geordi. Affected commands where `geordi cucumber` and `geordi deploy`.
|
35
89
|
|
36
|
-
|
90
|
+
## 3.0.2 2020-05-18
|
91
|
+
|
92
|
+
### Compatible changes
|
93
|
+
- Fix #95: Method change from `! *.include?` to `*.exclude?` was not valid as we do not have active support in Geordi. Affected commands were `geordi cucumber` and `geordi deploy`.
|
37
94
|
|
38
95
|
|
39
96
|
## 3.0.1 2020-05-13
|
@@ -45,8 +102,6 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
|
|
45
102
|
|
46
103
|
## 3.0.0 2020-05-04
|
47
104
|
|
48
|
-
### Compatible changes
|
49
|
-
|
50
105
|
### Breaking changes
|
51
106
|
- Remove support for Ruby 1.8.7 and Ruby 1.9.3. Bug fixes might still be backported to 2.x, but we will not add any features to 2.x anymore. Please consider to upgrade the Ruby version of your project.
|
52
107
|
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -19,82 +19,89 @@ You may abbreviate commands by typing only their first letters, e.g. `geordi
|
|
19
19
|
con` will boot a development console, `geordi set -t` will setup a project and
|
20
20
|
run tests afterwards.
|
21
21
|
|
22
|
-
|
23
|
-
`geordi help <command>`.
|
22
|
+
You can always run `geordi help <command>` to quickly look up command help.
|
24
23
|
|
25
24
|
### `geordi apache-site VIRTUAL_HOST`
|
26
|
-
|
27
25
|
Enable the given virtual host, disabling all others.
|
28
26
|
|
29
27
|
|
30
28
|
### `geordi capistrano COMMAND`
|
31
|
-
|
32
29
|
Run a capistrano command on all deploy targets.
|
33
30
|
|
34
31
|
Example: `geordi capistrano deploy`
|
35
32
|
|
36
33
|
|
37
34
|
### `geordi chromedriver-update`
|
38
|
-
|
39
35
|
Update the chromedriver.
|
40
36
|
|
41
37
|
Example: `geordi chromedriver_update`
|
42
38
|
|
43
|
-
This command will find and install the matching chromedriver for the currently
|
39
|
+
This command will find and install the matching chromedriver for the currently
|
40
|
+
installed Chrome.
|
44
41
|
|
45
42
|
|
46
43
|
### `geordi clean`
|
47
|
-
|
48
44
|
Remove unneeded files from the current directory.
|
49
45
|
|
50
46
|
|
51
47
|
### `geordi commit`
|
52
|
-
|
53
48
|
Commit using a story title from Pivotal Tracker.
|
54
49
|
|
55
50
|
Example: `geordi commit`
|
56
51
|
|
57
52
|
Any extra arguments are forwarded to `git commit -m <message>`.
|
58
53
|
|
59
|
-
If there are no staged changes, prints a warning but will continue to create
|
60
|
-
an empty commit.
|
61
|
-
|
62
54
|
On the first execution we ask for your Pivotal Tracker API token. It will be
|
63
|
-
stored in `~/.
|
55
|
+
stored in `~/.config/geordi/global.yml`.
|
64
56
|
|
65
57
|
|
66
58
|
### `geordi console [TARGET]`
|
67
|
-
|
68
59
|
Open a Rails console locally or on a Capistrano deploy target.
|
69
60
|
|
70
|
-
|
61
|
+
Local (development): `geordi console`
|
71
62
|
|
72
|
-
|
63
|
+
Remote: `geordi console staging`
|
73
64
|
|
65
|
+
Selecting the server: `geordi console staging -s` shows a menu with all available
|
66
|
+
servers. When passed a number, directly connects to the selected server.
|
74
67
|
|
75
|
-
|
68
|
+
**Options**
|
69
|
+
- `-s, [--select-server=[SERVER_NUMBER]]`: Select a server to connect to
|
76
70
|
|
71
|
+
|
72
|
+
### `geordi cucumber [FILES and OPTIONS]`
|
77
73
|
Run Cucumber features.
|
78
74
|
|
79
75
|
Example: `geordi cucumber features/authentication_feature:3`
|
80
76
|
|
81
|
-
Runs Cucumber
|
82
|
-
|
83
|
-
|
77
|
+
Runs Cucumber with `bundle exec`, using parallel tests, with a VNC session
|
78
|
+
holding Selenium test browsers, support for using a dedicated testing browser
|
79
|
+
and beta support for re-running failed scenarios.
|
84
80
|
|
85
81
|
- *@solo:* Generally, features are run in parallel. However, scenarios tagged
|
86
|
-
with @solo are excluded
|
82
|
+
with @solo are excluded from the parallel run and executed sequentially instead.
|
87
83
|
|
88
|
-
- *Debugging:*
|
89
|
-
errors. In case a feature fails without
|
90
|
-
or `-d`.
|
84
|
+
- *Debugging:* In some cases, the dot-printing Cucumber formatter swallows
|
85
|
+
errors. In case a feature fails without an error message, try running it with
|
86
|
+
`--debug` or `-d`.
|
91
87
|
|
92
88
|
- *Options:* Any unknown option will be passed through to Cucumber,
|
93
|
-
e.g. `--format
|
89
|
+
e.g. `--format=pretty`. Make sure to connect option and value with an equals
|
90
|
+
sign, i.e. have each option a contiguous string.
|
94
91
|
|
92
|
+
- *VNC:* By default, test browsers will run in a VNC session. When using a
|
93
|
+
headless test browser anyway, you can disable VNC by setting `use_vnc: false`
|
94
|
+
in `.geordi.yml` in the project root.
|
95
|
+
|
96
|
+
**Options**
|
97
|
+
- `-m, [--modified], [--no-modified]`: Run all modified features
|
98
|
+
- `-c, [--containing=STRING]`: Run all features that contain STRING
|
99
|
+
- `-v, [--verbose], [--no-verbose]`: Show the test run command
|
100
|
+
- `-d, [--debug], [--no-debug]`: Run Cucumber with `-f pretty -b`, which helps hunting down bugs
|
101
|
+
- `-r, [--rerun=N]`: Rerun features up to N times while failing
|
95
102
|
|
96
|
-
### `geordi delete-dumps [DIRECTORY]`
|
97
103
|
|
104
|
+
### `geordi delete-dumps [DIRECTORY]`
|
98
105
|
Delete database dump files (*.dump).
|
99
106
|
|
100
107
|
Example: `geordi delete_dumps` or `geordi delete_dumps ~/tmp/dumps`
|
@@ -107,7 +114,6 @@ Geordi will ask for confirmation before actually deleting files.
|
|
107
114
|
|
108
115
|
|
109
116
|
### `geordi deploy [STAGE]`
|
110
|
-
|
111
117
|
Guided deployment across branches.
|
112
118
|
|
113
119
|
Example: `geordi deploy` or `geordi deploy p[roduction]` or `geordi deploy --current-branch`
|
@@ -115,18 +121,18 @@ Example: `geordi deploy` or `geordi deploy p[roduction]` or `geordi deploy --cur
|
|
115
121
|
Merge, push and deploy with a single command! **It always tells what it will do
|
116
122
|
before it does it.** There are different scenarios where this command is handy:
|
117
123
|
|
118
|
-
|
119
|
-
|
124
|
+
- *Production deploy:* From the master branch, run `geordi deploy production`.
|
125
|
+
This will merge `master` to `production`, push and deploy to production.
|
120
126
|
|
121
|
-
|
122
|
-
|
127
|
+
- *Feature branch deploy:* From a feature branch, run `geordi deploy staging`.
|
128
|
+
This will merge the feature branch to `master`, push and deploy to staging.
|
123
129
|
|
124
|
-
|
125
|
-
|
126
|
-
|
130
|
+
To deploy a feature branch directly without merging, run
|
131
|
+
`geordi deploy --current-branch`. This feature depends on the environment
|
132
|
+
variable `DEPLOY_BRANCH` to be picked up in the respective deploy file.
|
127
133
|
|
128
|
-
|
129
|
-
|
134
|
+
- *Simple deploy:* If the source branch matches the target branch, merging will
|
135
|
+
be skipped.
|
130
136
|
|
131
137
|
Calling the command without arguments will infer the target stage from the
|
132
138
|
current branch and fall back to master/staging.
|
@@ -139,9 +145,12 @@ When your project is running Capistrano 3, deployment will use `cap deploy`
|
|
139
145
|
instead of `cap deploy:migrations`. You can force using `deploy` by passing the
|
140
146
|
-M option: `geordi deploy -M staging`.
|
141
147
|
|
148
|
+
**Options**
|
149
|
+
- `-M, [--no-migrations], [--no-no-migrations]`: Run cap deploy instead of cap deploy:migrations
|
150
|
+
- `-c, [--current-branch], [--no-current-branch]`: Set DEPLOY_BRANCH to the current branch during deploy
|
142
151
|
|
143
|
-
### `geordi drop-databases`
|
144
152
|
|
153
|
+
### `geordi drop-databases`
|
145
154
|
Interactively delete local databases.
|
146
155
|
|
147
156
|
Example: `geordi drop_databases`
|
@@ -151,61 +160,52 @@ and offer to delete them. Excluded are databases that are whitelisted. This come
|
|
151
160
|
in handy when you're keeping your currently active projects in the whitelist files
|
152
161
|
and perform regular housekeeping with Geordi.
|
153
162
|
|
154
|
-
When called with `-P` or `-M` options, only handles Postgres resp. MySQL/MariaDB.
|
155
|
-
|
156
|
-
When called with `--postgres <port or local socket>` or `--mysql <port or local socket>`,
|
157
|
-
will instruct the underlying management commands to use those connection methods
|
158
|
-
instead of the defaults. This is useful when running multiple installations.
|
159
|
-
|
160
163
|
Geordi will ask for confirmation before actually dropping databases and will
|
161
164
|
offer to edit the whitelist instead.
|
162
165
|
|
166
|
+
**Options**
|
167
|
+
- `-P, [--postgres-only], [--no-postgres-only]`: Only clean Postgres
|
168
|
+
- `-M, [--mysql-only], [--no-mysql-only]`: Only clean MySQL/MariaDB
|
169
|
+
- `[--postgres=PORT_OR_SOCKET]`: Use Postgres port or socket
|
170
|
+
- `[--mysql=PORT_OR_SOCKET]`: Use MySQL/MariaDB port or socket
|
163
171
|
|
164
|
-
### `geordi dump [TARGET]`
|
165
|
-
|
166
|
-
Handle dumps (see `geordi help dump` for details).
|
167
|
-
|
168
|
-
When called without arguments, dumps the development database with `dumple`.
|
169
|
-
|
170
|
-
geordi dump
|
171
172
|
|
172
|
-
|
173
|
-
|
173
|
+
### `geordi dump [TARGET]`
|
174
|
+
Handle (remote) database dumps.
|
174
175
|
|
175
|
-
|
176
|
+
`geordi dump` (without arguments) dumps the development database with `dumple`.
|
176
177
|
|
177
|
-
|
178
|
-
|
178
|
+
`geordi dump -l tmp/staging.dump` (with the `--load` option) sources the
|
179
|
+
specified dump file into the development database.
|
179
180
|
|
180
|
-
|
181
|
+
`geordi dump staging` (with a Capistrano deploy target) remotely dumps the
|
182
|
+
specified target's database and downloads it to `tmp/`.
|
181
183
|
|
182
|
-
|
183
|
-
dump into the development database after downloading it.
|
184
|
+
`geordi dump staging -l` (with a Capistrano deploy target and the `--load`
|
185
|
+
option) sources the dump into the development database after downloading it.
|
184
186
|
|
185
|
-
|
187
|
+
**Options**
|
188
|
+
- `-l, [--load=[DUMP_FILE]]`: Load a dump
|
186
189
|
|
187
190
|
|
188
191
|
### `geordi firefox COMMAND`
|
189
|
-
|
190
192
|
Run a command with VNC and test browser set up (alias: chrome).
|
191
193
|
|
192
194
|
Example: `geordi firefox b cucumber` or `geordi firefox --setup 24.0`
|
193
195
|
|
194
196
|
Useful when you need Firefox for Selenium or the VNC set up, but can't use the
|
195
|
-
`geordi cucumber` command.
|
197
|
+
`geordi cucumber` command. This command is aliased `chrome` for users running
|
198
|
+
Selenium in Chrome.
|
196
199
|
|
197
|
-
|
198
|
-
|
199
|
-
This command is aliased `chrome` for users running Selenium in Chrome.
|
200
|
+
**Options**
|
201
|
+
- `[--setup=FIREFOX_VERSION]`: Install a special test runner Firefox with the given version
|
200
202
|
|
201
203
|
|
202
204
|
### `geordi help [COMMAND]`
|
203
|
-
|
204
205
|
Describe available commands or one specific command.
|
205
206
|
|
206
207
|
|
207
208
|
### `geordi migrate`
|
208
|
-
|
209
209
|
Migrate all databases.
|
210
210
|
|
211
211
|
Example: `geordi migrate`
|
@@ -216,7 +216,6 @@ with `db:migrate`.
|
|
216
216
|
|
217
217
|
|
218
218
|
### `geordi png-optimize PATH`
|
219
|
-
|
220
219
|
Optimize .png files.
|
221
220
|
|
222
221
|
Example: `geordi png-optimize some/directory`
|
@@ -227,7 +226,6 @@ Example: `geordi png-optimize some/directory`
|
|
227
226
|
|
228
227
|
|
229
228
|
### `geordi rake TASK`
|
230
|
-
|
231
229
|
Run a rake task in several Rails environments.
|
232
230
|
|
233
231
|
Example: `geordi rake db:migrate`
|
@@ -240,59 +238,56 @@ Example: `geordi rake db:migrate`
|
|
240
238
|
|
241
239
|
|
242
240
|
### `geordi remove-executable-flags`
|
243
|
-
|
244
241
|
Remove executable-flags from files that should not be executable.
|
245
242
|
|
246
243
|
|
247
244
|
### `geordi rspec [FILES]`
|
248
|
-
|
249
245
|
Run RSpec.
|
250
246
|
|
251
247
|
Example: `geordi rspec spec/models/user_spec.rb:13`
|
252
248
|
|
253
|
-
Runs RSpec
|
254
|
-
detection, etc.
|
249
|
+
Runs RSpec with RSpec 1/2 support, parallel_tests detection and `bundle exec`.
|
255
250
|
|
256
251
|
|
257
252
|
### `geordi security-update [STEP]`
|
258
|
-
|
259
253
|
Support for performing security updates.
|
260
254
|
|
261
|
-
Preparation for security update: `geordi security-update
|
262
|
-
|
263
|
-
Checks out production and pulls.
|
255
|
+
Preparation for security update: `geordi security-update`. Checks out production
|
256
|
+
and pulls.
|
264
257
|
|
265
|
-
After performing the update: `geordi security-update finish
|
258
|
+
After performing the update: `geordi security-update finish`. Switches branches,
|
259
|
+
pulls, pushes and deploys as required by our workflow.
|
266
260
|
|
267
|
-
|
268
|
-
what it will do before it does it. In detail:
|
261
|
+
This command tells what it will do before it does it. In detail:
|
269
262
|
|
270
|
-
1.
|
263
|
+
1. Ask user if tests are green
|
271
264
|
|
272
|
-
2.
|
265
|
+
2. Push production
|
273
266
|
|
274
|
-
3.
|
267
|
+
3. Check out master and pull
|
275
268
|
|
276
|
-
4.
|
269
|
+
4. Merge production and push in master
|
277
270
|
|
278
|
-
5.
|
271
|
+
5. Deploy staging, if there is a staging environment
|
279
272
|
|
280
|
-
6.
|
273
|
+
6. Ask user if deployment log is okay and staging application is still running
|
281
274
|
|
282
|
-
7.
|
275
|
+
7. Deploy other stages
|
283
276
|
|
284
|
-
8.
|
277
|
+
8. Ask user if deployment log is okay and application is still running on all stages
|
285
278
|
|
286
|
-
9.
|
279
|
+
9. Inform user about the next (manual) steps
|
287
280
|
|
288
281
|
|
289
282
|
### `geordi server [PORT]`
|
290
|
-
|
291
283
|
Start a development server.
|
292
284
|
|
285
|
+
**Options**
|
286
|
+
- `-p, [--port=PORT]`: Choose a port
|
287
|
+
- `-P, [--public], [--no-public]`: Make the server accessible from the local network
|
293
288
|
|
294
|
-
### `geordi setup`
|
295
289
|
|
290
|
+
### `geordi setup`
|
296
291
|
Setup a project for the first time.
|
297
292
|
|
298
293
|
Example: `geordi setup`
|
@@ -301,67 +296,51 @@ Check out a repository and cd into its directory. Then let `setup` do the tiring
|
|
301
296
|
work: run `bundle install`, create `database.yml`, create databases, migrate
|
302
297
|
(all if applicable).
|
303
298
|
|
304
|
-
If a local bin/setup file is found, Geordi skips
|
305
|
-
|
299
|
+
If a local bin/setup file is found, Geordi skips its routine and runs bin/setup
|
300
|
+
instead.
|
306
301
|
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
geordi setup -d staging
|
311
|
-
|
312
|
-
After setting up, runs all tests when called with the `--test` option:
|
313
|
-
|
314
|
-
geordi setup -t
|
302
|
+
**Options**
|
303
|
+
- `-d, [--dump=TARGET]`: After setup, dump the TARGET db and source it into the development db
|
304
|
+
- `-t, [--test], [--no-test]`: After setup, run tests
|
315
305
|
|
316
306
|
|
317
307
|
### `geordi shell TARGET`
|
318
|
-
|
319
308
|
Open a shell on a Capistrano deploy target.
|
320
309
|
|
321
310
|
Example: `geordi shell production`
|
322
311
|
|
323
|
-
|
312
|
+
Selecting the server: `geordi shell staging -s` shows a menu with all available
|
313
|
+
servers. When passed a number, directly connects to the selected server.
|
324
314
|
|
325
|
-
|
315
|
+
**Options**
|
316
|
+
- `-s, [--select-server=[SERVER_NUMBER]]`: Select a server to connect to
|
326
317
|
|
327
318
|
|
328
319
|
### `geordi tests`
|
329
|
-
|
330
320
|
Run all employed tests.
|
331
321
|
|
332
322
|
|
333
323
|
### `geordi unit`
|
334
|
-
|
335
324
|
Run Test::Unit.
|
336
325
|
|
337
326
|
|
338
327
|
### `geordi update`
|
339
|
-
|
340
328
|
Bring a project up to date.
|
341
329
|
|
342
330
|
Example: `geordi update`
|
343
331
|
|
344
332
|
Performs: `git pull`, `bundle install` (if necessary) and migrates (if applicable).
|
345
333
|
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
geordi update -d staging
|
350
|
-
|
351
|
-
After updating, runs all tests when called with the `--test` option:
|
352
|
-
|
353
|
-
geordi update -t
|
354
|
-
|
355
|
-
See `geordi help update` for details.
|
334
|
+
**Options**
|
335
|
+
- `-d, [--dump=TARGET]`: After updating, dump the TARGET db and source it into the development db
|
336
|
+
- `-t, [--test], [--no-test]`: After updating, run tests
|
356
337
|
|
357
338
|
|
358
339
|
### `geordi version`
|
359
|
-
|
360
340
|
Print the current version of geordi.
|
361
341
|
|
362
342
|
|
363
343
|
### `geordi vnc`
|
364
|
-
|
365
344
|
Show the hidden VNC window.
|
366
345
|
|
367
346
|
Example: `geordi vnc` or `geordi vnc --setup`
|
@@ -369,8 +348,8 @@ Example: `geordi vnc` or `geordi vnc --setup`
|
|
369
348
|
Launch a VNC session to the hidden screen where `geordi cucumber` runs Selenium
|
370
349
|
tests.
|
371
350
|
|
372
|
-
|
373
|
-
|
351
|
+
**Options**
|
352
|
+
- `[--setup], [--no-setup]`: Guide through the setup of VNC
|
374
353
|
|
375
354
|
b
|
376
355
|
---
|
@@ -380,7 +359,7 @@ working directory. If no `Gemfile` is present just runs the given command:
|
|
380
359
|
|
381
360
|
b spec spec/models
|
382
361
|
|
383
|
-
|
362
|
+
See http://makandracards.com/makandra/684-automatically-run-bundle-exec-if-required
|
384
363
|
|
385
364
|
|
386
365
|
dumple
|
@@ -390,7 +369,7 @@ Stores a timestamped database dump for the given Rails environment in `~/dumps`:
|
|
390
369
|
|
391
370
|
dumple development
|
392
371
|
|
393
|
-
|
372
|
+
See http://makandracards.com/makandra/1008-dump-your-database-with-dumple
|
394
373
|
|
395
374
|
|
396
375
|
launchy_browser
|
@@ -403,21 +382,37 @@ browser, as opposed to opening it within the VNC window.
|
|
403
382
|
Contributing
|
404
383
|
============
|
405
384
|
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
385
|
+
When making changes to Geordi, please make sure your code is tested. Not all,
|
386
|
+
but most features of Geordi can be tested. See other tests for inspiration.
|
387
|
+
|
388
|
+
Once you have completed your modifications, please update CHANGELOG and README
|
389
|
+
as needed. Use `rake readme` to regenerate the Geordi section of the README from
|
390
|
+
the command documentations.
|
391
|
+
|
392
|
+
Make sure tests are green in the default Ruby *plus* in the oldest Ruby > 1.8
|
393
|
+
that you have installed on your system (1.8.7 support has been dropped).
|
394
|
+
|
395
|
+
Before releasing your changes, wait for the Travis results to see that tests
|
396
|
+
passed in all Ruby versions.
|
397
|
+
|
410
398
|
|
411
399
|
Adding a new command
|
412
400
|
---------------
|
413
401
|
|
414
402
|
Copy `lib/geordi/COMMAND_TEMPLATE` to `lib/geordi/commands/your_command` and
|
415
|
-
edit it to do what you need it to do.
|
416
|
-
|
417
|
-
calling your local geordi like so (adjust paths to your needs):
|
403
|
+
edit it to do what you need it to do. Please add a feature test for the new
|
404
|
+
command; see features/ for inspiration.
|
418
405
|
|
419
|
-
|
420
|
-
|
406
|
+
To try Geordi locally, call it like this:
|
407
|
+
|
408
|
+
# -I means "add the following directory to load path"
|
409
|
+
ruby -Ilib exe/geordi
|
421
410
|
|
422
|
-
#
|
423
|
-
ruby -
|
411
|
+
# From another directory
|
412
|
+
ruby -I ../geordi/lib ../geordi/exe/geordi
|
413
|
+
|
414
|
+
# With debugger
|
415
|
+
ruby -r byebug -I ../geordi/lib ../geordi/exe/geordi
|
416
|
+
|
417
|
+
You can also *install* Geordi locally from its project directory with
|
418
|
+
`rake install`. Make sure to switch to the expected Ruby version before.
|