Jenkins所在服務器linuxA、應用服務器LinuxB
a生成的公鑰 放到B服務器
服務器B,在/root/.ssh路徑下建立authorized_keys文件
將服務器A生成的id_rsa.pub(公鑰)內容複製到authorized_keys文件***意,是文件,不文件夾)
重啓服務器B的SSH,命令:service sshd restart
打開Jenkins-系統管理-系統配置
Passphrase:密碼(key的密碼,如果你設置了)
Path to key:key文件(私鑰)的路徑
SSH Server Name:標識的名字(隨便你取什麼)
Hostname:需要連接ssh的主機名或ip地址,此處填寫應用服務器IP(建議ip)
Username:用戶名
Remote Directory:遠程目錄(根據需要填寫文件傳到此目錄下)
「Use password authentication, or use a different key」:使用密碼驗證(這裏使用了**認證所以不開啓)
PS:使用過程中,一直傳輸文件爲0個
Source Files:填寫 **/*.war(可以寫**/aa.war,但是寫絕對路徑或者相對路徑都拿不到文件,奇怪?)
Remove prefix:移除目錄(只能指定Transfer Set Source files中的目錄,先試了一次,不寫移除目錄,看了一次傳輸過來的文件是什麼路徑,才確認移除的目錄從哪裏開始)
Remote directory:上傳至文件的路徑,由於在public over SSH中配置了「/」(根目錄),這裏就從配置的根目錄下開始寫
Exec Command:傳輸完成後,執行重啓的命令。
參考::
#!/bin/bash PID=`lsof -i:8895| grep LISTEN |awk '{print $2}'` //獲取端口號8081的線程pid echo ${PID} #export BUILD_ID=dontKillMe if [[ $PID -ge 0 ]];then kill -9 $PID fi //執行啓動 nohup /home/jdk/jdk1.8.0_271/bin/java -jar /home/test3035/finance-v1.0.0-SNAPSHOT.jar --server.port=8895 > /home/test3035/order.log 2>&1 &