diff options
author | notgne2 | 2020-09-28 15:45:53 -0700 |
---|---|---|
committer | notgne2 | 2020-09-28 15:45:53 -0700 |
commit | 239d0f8999b47e9e76589ee1fa2d9f3459c47335 (patch) | |
tree | d9fa64da2385dcb3cf254a92e00fa92d2431c155 /src/utils/deploy.rs | |
parent | a22063343e54da9f589c7235f2f64b57fe5c257b (diff) |
use separate binary for activation, more cleanup
Diffstat (limited to 'src/utils/deploy.rs')
-rw-r--r-- | src/utils/deploy.rs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/utils/deploy.rs b/src/utils/deploy.rs index 900743c..42bd0b4 100644 --- a/src/utils/deploy.rs +++ b/src/utils/deploy.rs @@ -9,6 +9,7 @@ pub async fn deploy_profile( node_name: &str, merged_settings: &data::GenericSettings, deploy_data: &super::DeployData<'_>, + auto_rollback: bool, ) -> Result<(), Box<dyn std::error::Error>> { info!( "Activating profile `{}` for node `{}`", @@ -16,8 +17,16 @@ pub async fn deploy_profile( ); let mut self_activate_command = format!( - "{} activate '{}' '{}'", - deploy_data.current_exe.as_path().to_str().unwrap(), + "{} '{}' '{}'", + deploy_data + .current_exe + .as_path() + .parent() + .unwrap() + .to_str() + .unwrap() + .to_owned() + + "/activate", deploy_data.profile_path, profile.profile_settings.path, ); @@ -40,6 +49,10 @@ pub async fn deploy_profile( ); } + if auto_rollback { + self_activate_command = format!("{} --auto-rollback", self_activate_command); + } + let mut c = Command::new("ssh"); let mut ssh_command = c.arg(format!( "ssh://{}@{}", |