jenkins要想在遠(yuǎn)程服務(wù)器執(zhí)行命令,發(fā)送文件等操作,必然要處理jenkins與遠(yuǎn)程機(jī)的免交互問(wèn)題。
下面如何讓jenkins與目標(biāo)主機(jī)實(shí)現(xiàn)免交互。
jenkins安裝插件 :
系統(tǒng)管理-- 插件安裝--搜索ssh --安裝Publish Over SSH
安裝完成后,在jenkins端生成秘鑰對(duì)(公鑰id_rsa.pub 私鑰id_rsa)
執(zhí)行 ssh-keygen,一路回車,即可生成秘鑰對(duì)
- 將生成的公鑰id_rsa.pub發(fā)送到目標(biāo)主機(jī)
ssh-copy-id user@目標(biāo)ip
輸入一次密碼,以后就免密了。輸入完可以用ssh 登陸試一下。
-
將生成的私鑰id_rsa保存到j(luò)enkins插件配置里。
系統(tǒng)管理---系統(tǒng)配置--找到ssh插件的那里--寫入私鑰--填寫目標(biāo)機(jī)器信息(可以測(cè)試連接。)
image.png
部署源代碼到遠(yuǎn)程服務(wù)器
我們以最簡(jiǎn)單的一個(gè)例子來(lái)演示,部署一個(gè)Html頁(yè)面到遠(yuǎn)程服務(wù)器的nginx網(wǎng)站目錄下,實(shí)現(xiàn)頁(yè)面上線。
首先,剛才jenkins配置ssh插件,注意填寫遠(yuǎn)程服務(wù)器信息的那里的remote directory這個(gè)地方指的發(fā)送到遠(yuǎn)程服務(wù)器的哪個(gè)目錄下。

在job配置中

上圖的配置就是,將jenkins上的項(xiàng)目文件init.html發(fā)送到遠(yuǎn)端主機(jī)192.168.1.112的/var/www/html下
保存,退出。
遠(yuǎn)端主機(jī)的nginx配置:
server {
listen 83;
server_name 192.168.1.112;
index index.html init.html;
root /var/www/html;
}
點(diǎn)擊構(gòu)建。

結(jié)果:部署成功

例子比較簡(jiǎn)單,后期會(huì)更新java的部署過(guò)程。
