linux实现远程部署

1、部署时有用到rsync命令,如系统没有安装,通过命令yum install rsync。
2、远程部署需要通过ssh连接。
在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的。telnet,因为其不安全性,在linux系统中被搁置使用了。

ssh有一套很有用的工具,其中的ssh-keygen可以用来生成private和public密钥文件.将生成的public密钥文件内容拷贝到远程机器的authorized_keys文件后,可以使ssh到另外一台机器的登陆不用密码.具体方法如下.

1) 在本地机器中的~/.ssh/目录下执行下命令,ssh-keygen -t dsa 或者ssh-keygen -t rsa
将生成两个文件,id_dsa和id_dsa.pub. 或者 id_rsa和id_rsa.pub

2) 将公钥文件id_dsa.pub或者id_rsa.pub的内容添加到远程机器的~/.ssh/authorized_keys文件中.
用 ssh-copy-id 把公钥复制到远程主机上如:ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-server

3) 直接登录远程服务器
ssh remote-server 注:不提示密码即设置成功。

3、编写远程服务器启动脚本tomcat-remote-start.sh

#!/bin/sh
TARGET_SERVER=$1
TARGET_INSTANCE=$2
SSH="ssh -o StrictHostKeyChecking=no"
echo "start tomcat $TARGET_INSTANCE on $TARGET_SERVER"
$SSH $TARGET_SERVER "/opt/app/bin/tomcat-$TARGET_INSTANCE-start.sh"

4、编写远程服务器停止脚本tomcat-remote-start.sh

#!/bin/sh
TARGET_SERVER=$1
TARGET_INSTANCE=$2
SSH="ssh -o StrictHostKeyChecking=no"
echo "stop tomcat $TARGET_INSTANCE on $TARGET_SERVER"
$SSH $TARGET_SERVER "/opt/app/bin/tomcat-$TARGET_INSTANCE-stop.sh"

5、编写远程部署脚本deploy-tomcat.sh

#!/bin/sh
TARGET_SERVER=$1
TARGET_INSTANCES=$2
WAR_FILE=$3
BASE_DIR=$(dirname $0)
if [ "$4" != "--skip-stop" ] ; then
for INSTANCE in $TARGET_INSTANCES;
do
$BASE_DIR/tomcat-remote-stop.sh $TARGET_SERVER $INSTANCE
done
fi
echo "push $WAR_FILE"
rsync -avc $WAR_FILE $TARGET_SERVER:/opt/app/tomcat/$TARGET_INSTANCES/webapps/
for INSTANCE in $TARGET_INSTANCES;
do
$BASE_DIR/tomcat-remote-start.sh $TARGET_SERVER $INSTANCE
done


6、编写调用脚本deploy-local-test.sh

#!/bin/sh
/opt/app/bin/deploy-tomcat.sh remote-server 'local-test' /opt/app/jenkins/workspace/local-test/target/test.war

在Jenkins上调用deploy-local-test.sh,即可实现编译完自动远程部署。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值