2 releases
0.0.2 | May 8, 2022 |
---|---|
0.0.1 | May 6, 2022 |
#139 in #deployment
10KB
147 lines
Deployer
A simple Laravel deployer for your projects.
Example
Using the binary
$ cargo install deployer
$ deployer deployer.yml
Using the crate
Add the following dependency to the Cargo.toml file:
[dependencies]
deployer = "0.0.2"
And then get started in your main.rs
:
use deployer::Deployer;
fn main() {
let config = "deployer.yml";
let mut deployer = Deployer::new();
deployer.configure(config);
deployer.deploy();
}
# Dev
$ cargo run -- deployer.yml
# Build
$ cargo build
$ target/debug/deployer deployer.yml
# Test
$ cargo test
Configuration file deployer.yml
---
---
repository: git@github.com:samirdjelal/deployer.git
hostname: 127.0.0.1:22
username: root
password: password
deploy_path: /opt/deployer
keep_releases: 5
http_user: daemon
php_path:
shared_files:
- .env
shared_dirs:
- storage
writable_use_sudo: false
writable_recursive: true
writable_chmod_mode: 0777
writable_dirs:
- bootstrap/cache
- storage
- storage/app
- storage/app/public
- storage/framework
- storage/framework/cache
- storage/framework/sessions
- storage/framework/views
- storage/logs
pre_deploy_commands:
- ls -lah /opt/lampp/xampp
- echo "Hello World" > /root/file.txt
- cat /root/file.txt
post_deploy_commands:
- echo "Good bye!"
License
This project is licensed under the MIT license.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in deployer
by you, shall be licensed as MIT, without any additional terms or conditions.
Dependencies
~6–17MB
~193K SLoC