jenkins部署源代码到远程服务器

jenkins要想在远程服务器执行命令,发送文件等操作,必然要处理jenkins与远程机的免交互问题。
下面如何让jenkins与目标主机实现免交互。

jenkins安装插件 :

系统管理-- 插件安装--搜索ssh --安装Publish Over SSH

安装完成后,在jenkins端生成秘钥对(公钥id_rsa.pub 私钥id_rsa)

执行 ssh-keygen,一路回车,即可生成秘钥对
  • 将生成的公钥id_rsa.pub发送到目标主机
ssh-copy-id  user@目标ip 

输入一次密码,以后就免密了。输入完可以用ssh 登陆试一下。

  • 将生成的私钥id_rsa保存到jenkins插件配置里。
    系统管理---系统配置--找到ssh插件的那里--写入私钥--填写目标机器信息(可以测试连接。)


    image.png

部署源代码到远程服务器

我们以最简单的一个例子来演示,部署一个Html页面到远程服务器的nginx网站目录下,实现页面上线。
首先,刚才jenkins配置ssh插件,注意填写远程服务器信息的那里的remote directory这个地方指的发送到远程服务器的哪个目录下。


image.png

在job配置中


image.png

上图的配置就是,将jenkins上的项目文件init.html发送到远端主机192.168.1.112的/var/www/html下
保存,退出。

远端主机的nginx配置:

server {
    listen 83;
    server_name 192.168.1.112;
    index index.html init.html;
    root /var/www/html;
}

点击构建。


image.png

结果:部署成功


image.png

例子比较简单,后期会更新java的部署过程。

你可能感兴趣的:(jenkins部署源代码到远程服务器)