美文网首页
记一次本地编译部署到远端服务器的过程

记一次本地编译部署到远端服务器的过程

作者: 欧阳的博客 | 来源:发表于2019-08-16 12:20 被阅读0次

服务环境:springboot+maven+tomcat+centos7,开发环境为windows

发布思路:由于本地有pom依赖库,而且电脑配置比较好,编译成war包比较快,所以在本地进行编译。然后通过bat发布到远端服务器。

发布方式:本地通过package把代码编译成war包,再通过cmd和sftp将编译好的包上传到服务器的/root文件夹内。再通过cmd的git提供的sh.exe执行服务器的shell脚本,把上传的war包发布到tomcat里面。以下为详细步骤:

第一步:通过maven的package打包本地springboot项目成war包。

打包成war

第二步:把war包上传到远端服务器。

sftp -oIdentityFile=C:\Users\admin\Desktop\3.pem root@api.domain.com < c:\Users\admin\Desktop\put.bat

这是我的指定。本地安装了sftp,这里也可以选用ftp。但是由于远程服务器没有开启ftp服务,开启了ssh,所以就用sftp了。效率低一点,但是安全性ok。因为上传的文件也不大,所以将就着用。

-oIdentityFile=C:\Users\soulwolf\Desktop\3.pem 是私钥存放地址。因为用的ssh,所以采用了密钥登陆,不需要账号密码。这个流程主要有两步:(1)生成公钥密钥对(2)服务器上传公钥并开启密钥登陆服务。网上有很多相关资料,这里就不细说了。

root@api.domain.com 服务器的登陆账号和ip地址(或者域名) 

< c:\Users\soulwolf\Desktop\put.bat 后面是sftp的指令文件地址。内容为:

put C:/project/target/dazhi_api.war  #后面的地址就是war包地址。

这样就能够把本地的war包上传到服务器的root目录了。

第三步:本地调用远端服务器的shell脚本进行远端服务器发布。

C:\work\Git\bin\sh.exe --login -i -c 'ssh -T -i C:/Users/admin/Desktop/3.pem root@api.domain.com "sh /root/start.sh"'

这个的原理就是利用本地的git来执行shell指令来登陆远端服务器。同样需要密钥登陆。

C:\work\Git\bin\sh.exe 本地git的路径。

ssh -T -i C:/Users/admin/Desktop/3.pem root@api.domain.com "sh /root/start.sh"  shell指令,后面分别是私钥路径和登陆用户名和ip地址。 "sh /root/start.sh"是要执行的远端shell指令。

相关文章

  • 记一次本地编译部署到远端服务器的过程

    服务环境:springboot+maven+tomcat+centos7,开发环境为windows 发布思路:由于...

  • Goland SSH

    项目开发过程中,一般采用“本地编写+远端编译”的开发模式,即在本地编写完代码然后将代码放到远端的编译机器上编译调试...

  • mac 使用microsoft Remote Desktop 远

    mac使用microsoft remote desktop 连接远端服务器之后,有时候想传输远端文件到本地,输命令...

  • jenkins持续集成

    首先配置从节点 创建流水线项目,进入配置 配置流水线 远端部署文件,仅供参考,不同场景使用方式不同 远端部署,本地...

  • 手把手教你搭建个人博客|使用Hexo框架(二)

      在上一篇文章中已经完成了基于本地服务器的网页页面,这篇将主要讲将网页部署到远端让所有人看到,以及更新和发布的相...

  • Host key verification failed

    问题 首次链接某个ssh服务器时, 由于openssh需要确认远端的服务器是可信的,那么本地机器会验证远端服务器的...

  • Git 提交分支到远程、删除远程分支

    创建新分支 展示分支 切换分支 推送本地新建分支到远端分支(远端会自动创建分支) 删除远端分支 拉取远程分支到本地...

  • Linux scp命令

    从本地复制到远程 从远端复制到本地

  • 对远程服务器利用ssh传输文件

    scp 利用scp传输文件: 传输本地文件到远端: e.g: 然后输个密码就好了。 传输远端文件到本地:

  • Eclipse Che的部署

    记录一下在服务器上部署eclipse che的过程吧。(其实也可以部署在本地,但是别人无法使用) 部署eclips...

网友评论

      本文标题:记一次本地编译部署到远端服务器的过程

      本文链接:https://www.haomeiwen.com/subject/ykufsctx.html