4 ms·
Keep working on this. It’s a splendid idea. Would be cool to eventually have a recipe where you import the crate, then program the deploy in rust, invoking your
by cdaringe 5y ago
Keep working on this. It’s a splendid idea. Would be cool to eventually have a recipe where you import the crate, then program the deploy in rust, invoking your tool which builds my-build.rs, or a proper cargo build.
The following not true apples to apples, but pretty close. Rather than another crummy stringy DSL, the ocaml community said “we want to program our CI pipelines in OCaml”. So, they created https://github.com/ocurrent/ocurrent https://github.com/ocurrent/ocurrent. You build your pipeline in an incredible language—then the CI server simply invokes your pipeline code, assuming you’ve implemented a basic interface.
- linkdd 5y agoThank you for your feedback! :) > Would be cool to eventually have a recipe where you import the crate, then program the deploy in rust This is actually one of the goals and already somewhat possible since v0.5.0 (i'm at v0.8.0 now, working on the test suite to reach 1.0.0) if you don't mind writing shell commands as strings in Rust :P The currently available tasks are: - info: to get what's in the inventory (and later infos about the remote host) - exec: to run a (templated) shell command - upload: to upload files or render templates - download: to download files With this, you can already upload archives, extract them, create systemd files, start the service, etc... It's a bit more manual than with ansible/puppet/... but it works :) I think, at the moment, a more correct comparison would be with Fabric[0] in Python. I have some ideas for post-1.0.0 relying on TCP/IP tunneling through the SSH session (docker builds on remotes, querying remote services hiding behind an SSH bastion, ...), I'd love to hear more ideas though :) [0] - https://www.fabfile.org/