第一篇文章中项目部署,是以每台目标服务器做为一个Jenkins的节点,然后在每个节点中拉取代码,编译,打包,测试,部署。这样的好处,在有大量的任务部署时,可以同时进行,不用等待一个个的任务执行。缺点,每台目标主机,都需要拉取代码,浪费磁盘空间。

  第二种方式部署:

  1)在一个Jenkins节点中,进行拉取代码,然后打包,再把包 scp 到对应的服务器中。

 

  让Jenkins免密登录目标主机:

  1. 在Jenkins所在的主机中,生成ssh秘钥对

    # ssh-keygen -t rsa  

  2.  将.ssh 目录下的公钥, scp到目标服务中用户目录下的.ssh目录中,并重命名为authorized_keys (该文件名是固定的)

     # scp id_rsa.pub sto@192.168.1.48:/home/sto/.ssh/authorized_keys

  3.  Jenkins,如果要登录多台目标主机,只需要将公钥拷贝到目标主机中即可,重复第2步

 

  Jenkins任务创建时,在BUILD(构建)模块哪里,

    先选Execute Shell (这个本地执行shell),再添加一个Execute shell script on remote host using ssh (远程主机执行shell)选项,

  说明:本地执行shell ,包括打包,和scp 包到目标主机

     远程执行shell,包括停止应用服务器,替换新包,启动应用服务器

posted on 2019-08-28 16:34  小桥听雨  阅读(257)  评论(0编辑  收藏  举报