jenkins --部署项目到服务器需要的脚本

#概要

maven构建后,会生成war包,使war运行需要如下几步:

  • 复制生成的war包到指定的目录(jenkins服务器和应用部署服务器不在同一台服务器) cp /scp
  • 解压文件到指定的目录 unzip

我们需要在下图的中地方,输入需要执行的脚本

这里写图片描述

在post steps 选择 execute shell
这里写图片描述

在 command中输入要执行的脚本

jenkins服务器和应用服务器是同一台服务器

复制文件 cp/scp

cp 目标文件 复制目标目录 (本地复制文件)
scp 目标文件 登录远程服务器用户@ip/域名:复制目标目录 ( 复制文件到远程)
如: jenkins生成的war包位于:

/root/.jenkins/workspace/marketking/target/marketking.war
我们想复制到 /var/www
那么命令如下:

cp /root/.jenkins/workspace/marketking/target/marketking.war /var/www

解压文件 unzip

经过上面的复制,我们可以在。发现 /var/www/marketking.war
解压到 /var/www/marketking

使用:

unzip -o /var/www/marketking.war -d /var/www/marketking 

-o : 不管文件是否存在,直接覆盖
-d : 如果你要解压到指定目录,而不是当前目录

jenkins服务器和应用服务器不在同一台服务器

##需要执行远程命令 ssh

我们使用ssh -l user ip 登录远程服务器,可是在使用自动执行的脚本时候我们没法输入密码,我们需要添加jenkins的公钥在应用服务器。

##查看自己/jenkins服务器的公钥

 cd ~
 cd .ssh/
 ls   // 查看是否有 id_rsa.pub 文件如果有
 //如果有
 cat id_rsa.pub //复制公钥(里面的内容)

如果没有则生成公钥:
参考这里

进入目标服务器,增加公钥:
在 authorized_keys 文件下增加你的公钥(如果没有创建文件)。

添加完成后,就可以使用ssh 不要密码登录服务器了。

最后使用如下命令,执行需要在远程执行的命令(ssh -t -t 会模拟出一个远程终端)

ssh -t -t  应用服务器ip/域名  "要执行的命令"
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值