You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+22-4
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@ Table of Contents
19
19
*[Predefined Variables](#predefined-variables)
20
20
*[Template Expansion](#template-expansion)
21
21
*[Missing Primitives?](#missing-primitives)
22
+
*[Alternatives](#alternatives)
22
23
*[Github Setup](#github-setup)
23
24
24
25
@@ -203,15 +204,15 @@ Then have a tree of files:
203
204
└── redis.conf
204
205
205
206
Another case where this come in handy is when dealing the secrets. Pass your secrets via command-line arguments instead of setting them in the recipe so you don't commit them by mistake, for example:
206
-
207
+
207
208
$ deployr run --set "API_KEY=foobar" ...
208
-
209
+
209
210
Then use the `API_KEY`:
210
211
211
212
Run "curl api.example.com/releases/latest -H 'Authorization: Bearer ${API_KEY}'"
212
-
213
+
213
214
In a CI environnement, use command-line arguments to retrieve environnement variables available in the CI.
214
-
215
+
215
216
$ deployr run --set "RELEASE=$CI_COMMIT_TAG" ...
216
217
217
218
### Predefined Variables
@@ -268,6 +269,23 @@ If there are primitives you think would be useful to add then please do
268
269
[file a bug](http://github.com/skx/deployr/issues).
269
270
270
271
272
+
### Alternatives
273
+
274
+
There are many alternatives to this simple approach. The most obvious two
275
+
would be:
276
+
277
+
*[ansible](https://www.ansible.com/)
278
+
* Uses YAML to let you run commands on multiple remote hosts via SSH.
279
+
* Very featureful, but also a bit hard to be readable due to the YAML use.
280
+
*[fabric](http://www.fabfile.org/)
281
+
* Another Python-based project, which defines some simple primitive functions such as `run` and `put` to run commands, and upload files respectively.
282
+
283
+
As a very simple alternative I put together [marionette](https://github.com/skx/marionette/) which allows running commands, and setting file-content, but this works on the __local__ system only - no SSH involved.
284
+
285
+
For large-scale deployments you'll probably want to consider Puppet, Chef, or something more established and powerful. Still this system has its place.
286
+
287
+
288
+
271
289
## Github Setup
272
290
273
291
This repository is configured to run tests upon every commit, and when
0 commit comments