我有一个有点复杂的部署程序,我喜欢编写脚本。我不确定它会变得多么容易或多么困难。以下是需要发生的事情:
我喜欢你们中的一员是:
答案 0 :(得分:2)
需要一些摆弄。 SSH和SCP可以用来做这样的事情,但是你需要配置密钥等。
答案 1 :(得分:2)
“是的,这很简单,只是shell脚本的用途”
需要注意的是,您需要设置一些SSH身份验证方法,该方法不需要在控制台中输入密码。 (作为我所指的简短示例,请参阅http://www.eng.cam.ac.uk/help/jpmg/ssh/authorized_keys_howto.html。)
这是一个粗略的,未经测试的bash脚本,可以执行您想要的操作:
#!/bin/bash
SERVER_ACCOUNT="username"
SERVER_A="servera.domain.com"
SERVER_B="serverb.domain.com"
TARGET_PATH="/path/to/destination/on/server"
WARFILE="myApp.war"
scp $WARFILE $SERVER_ACCOUNT@$SERVER_A:$TARGET_PATH
ssh $SERVER_A "scp $TARGET_PATH/$WARFILE $SERVER_ACCOUNT@SERVER_B:$TARGET_PATH"
ssh $SERVER_B "jar xvf $TARGET_PATH/$WARFILE"
答案 2 :(得分:1)
只需设置无密码身份验证并运行此
scp localfile user@remotehost:location/ # step 1: copy the file
ssh user@remotehost bin/remote_script.sh # step 2: run remote script
答案 3 :(得分:0)
这是可行的但是做自动ssh / sftp很棘手(比以前的rsh / rcp要棘手)
答案 4 :(得分:0)
如果你不反对某些ruby而不是shell,你可以使用Capistrano,专门针对这类任务。