`

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,即可实现编译完自动远程部署。
分享到:
评论

相关推荐

    一个基于Linux的集群部署方案.pdf

    在基于Linux的集群部署方案中,研究Linux启动过程,结合远程启动技术,实现了集群的快速部署和管理。 远程启动技术 远程启动技术是指通过网络启动计算机的技术。在基于Linux的集群部署方案中,远程启动技术用于实现...

    Linux下远程启动Linux

    在“Linux下远程启动Linux”这一主题中,我们将深入探讨如何在Linux环境中利用DHCP(动态主机配置协议)、TFTP(Trivial File Transfer Protocol)服务以及现有内核和文件系统,在PXE(Preboot Execution ...

    基于LINUX的远程实时监控系统设计与实现.pdf

    【基于Linux的远程实时监控系统设计与实现】 在信息技术飞速发展的今天,远程实时监控系统在各个领域,如家居安全、实验室环境管理等,都扮演着重要的角色。本篇文章主要探讨了如何基于Linux操作系统设计并实现一个...

    基于嵌入式Linux的远程监控系统的设计

    综上所述,基于嵌入式Linux的远程监控系统设计不仅考虑了系统架构的合理性,还关注了软件开发的具体实现细节,以及对硬件平台的优化选择,这为实现高效稳定的远程监控系统提供了有力的技术支撑。

    linux系统远程工具-ssh

    Linux系统远程工具SSH(Secure Shell)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。SSH在Linux和Unix-like操作系统中广泛使用,但也可以在Windows系统上安装和配置,以便与Linux服务器...

    基于嵌入式Linux的远程监控系统的设计.pdf

    嵌入式设备通过以太网直接连接到代理服务器,实现远程监控功能。 - **方案二**:嵌入式设备直接作为Web服务器接入互联网。这种方式对嵌入式设备的硬件要求较高,但能够更灵活地部署系统,尤其是在不适合额外配置PC...

    【计算机毕业设计】PHP基于Linux的远程管理系统客户端的实现【源码+lw+部署文档】

    源码提供了完整的前后端代码实现,部署文档详细介绍了系统的部署步骤和环境配置要求,讲解内容涵盖了系统的功能模块、技术选型理由、设计思路以及使用方法。 适合人群:对PHP和Linux服务器管理有一定了解,并希望...

    SSH远程连接linux服务器工具

    文件上传下载功能则允许用户在本地计算机和远程服务器之间传输文件,这对于软件部署、日志分析和数据备份等场景非常实用。 "sshsecure"这个标签进一步强调了SSH的安全性。SSH通过公钥加密技术实现用户认证,确保...

    linux 虚拟机远程工具

    在IT行业中,Linux虚拟机远程工具是至关重要的,它们允许用户在本地计算机上通过网络连接操作远程Linux系统,实现高效、便捷的运维管理。这里我们将深入探讨几种常用的Linux虚拟机远程工具及其特点。 1. **Secure ...

    linux远程连接工具

    通过编写shell脚本,可以实现批量执行远程命令或者自动化部署任务。例如,使用`ssh -t user@host 'command'`可以执行单个命令,而`ssh user@host 'bash -s' 则可以执行整个脚本。 了解并熟练掌握这些远程连接工具...

    SecureCRT Linux远程客户端工具

    SecureCRT是一款强大的、备受IT专业人士青睐的终端模拟器,尤其在Linux系统远程访问方面表现出色。它提供了丰富的功能,使得管理远程服务器变得更加便捷和高效。本文将深入探讨SecureCRT的特性,以及如何利用这些...

    基于Java的Linux远程登录系统研究与实现.pdf

    基于Java的Linux远程登录系统研究与实现涉及了Java编程语言、Linux操作系统、远程登录技术以及跨平台应用开发等方面的知识。 首先,Java语言具备了良好的跨平台性,这使得基于Java开发的应用可以运行在不同操作系统...

    Linux部署web网页

    通过以上步骤,不仅解决了 Linux 是否支持 SQL Server 的疑问,还进一步探讨了如何安装 MQTT 并实现了消息推送的功能。这对于希望在 Linux 平台上部署 Web 应用的企业和个人来说,提供了一套完整的解决方案。

    linux远程安装系统

    8. **应用场景**: PXE 远程安装 Linux 在无光驱、无软驱的计算机上尤为有用,特别是批量部署操作系统,如在数据中心或大规模计算机群中,能够显著提高效率和便于维护。 9. **挑战与注意事项**: 需要确保 DHCP ...

    基于LabVIEW及Linux的远程结构监测系统的设计.pdf

    本文重点探讨了一种基于LabVIEW(Laboratory Virtual Instrument Engineering Workbench)和Linux操作系统设计的远程结构监测系统,旨在实现对大型结构的实时、动态监测,以便及时发现潜在的安全问题。 LabVIEW是一...

    Linux下利用NBD实现远程实时备份.pdf

    【Linux下利用NBD实现远程实时备份】 在当前数字化时代,数据的安全性和可靠性至关重要,特别是在企业和组织中。Linux操作系统因其开源、稳定和高效的特点,被广泛应用于各种业务场景。为了确保数据安全,实时备份...

    java通过代码登录远程linux服务器并执行linux命令源码以及jar包

    在Java编程中,有时我们需要实现一个功能,即通过代码远程登录Linux服务器并执行特定的Linux命令。这在自动化运维、远程脚本执行等场景中非常常见。本篇将详细讲解如何实现这一目标,并提供相关源码及jar包。 首先...

Global site tag (gtag.js) - Google Analytics