29 lines
980 B
Text
29 lines
980 B
Text
def main [host: string, destination: string, ssh_key: path] {
|
|
let ssh_args = [-i $ssh_key $host]
|
|
let scp_args = [-r -i $ssh_key]
|
|
|
|
# For raspberry pi zero 1: "arm-unknown-linux-gnueabihf"
|
|
let target = "aarch64-unknown-linux-gnu"
|
|
|
|
def invoke_ssh [command: list] {
|
|
let args = $ssh_args ++ $command
|
|
print $"Executing: ssh ($args)"
|
|
ssh ...$args
|
|
}
|
|
|
|
def copy_ssh [source: string, destination: string] {
|
|
let args = $scp_args ++ [$source $"($host):($destination)"]
|
|
print $"Executing: scp ($args)"
|
|
scp ...$args
|
|
}
|
|
|
|
cargo build --target $target --release
|
|
invoke_ssh [sudo systemctl stop recipes]
|
|
copy_ssh ./target/($target)/release/recipes $destination
|
|
invoke_ssh [rm -rf recipes/static]
|
|
copy_ssh ./backend/static/ $destination
|
|
copy_ssh ./backend/sql/ $destination
|
|
invoke_ssh [chmod u+x recipes/recipes]
|
|
invoke_ssh [sudo systemctl start recipes]
|
|
print "Deployment finished"
|
|
}
|