Skip to content

Commit 9669f19

Browse files
committedApr 14, 2020
Added alternatives section
1 parent 04d7b0b commit 9669f19

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed
 

‎README.md

+22-4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Table of Contents
1919
* [Predefined Variables](#predefined-variables)
2020
* [Template Expansion](#template-expansion)
2121
* [Missing Primitives?](#missing-primitives)
22+
* [Alternatives](#alternatives)
2223
* [Github Setup](#github-setup)
2324

2425

@@ -203,15 +204,15 @@ Then have a tree of files:
203204
└── redis.conf
204205

205206
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+
207208
$ deployr run --set "API_KEY=foobar" ...
208-
209+
209210
Then use the `API_KEY`:
210211

211212
Run "curl api.example.com/releases/latest -H 'Authorization: Bearer ${API_KEY}'"
212-
213+
213214
In a CI environnement, use command-line arguments to retrieve environnement variables available in the CI.
214-
215+
215216
$ deployr run --set "RELEASE=$CI_COMMIT_TAG" ...
216217

217218
### Predefined Variables
@@ -268,6 +269,23 @@ If there are primitives you think would be useful to add then please do
268269
[file a bug](http://github.com/skx/deployr/issues).
269270

270271

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+
271289
## Github Setup
272290

273291
This repository is configured to run tests upon every commit, and when

0 commit comments

Comments
 (0)
Please sign in to comment.