Jenkins--SSH連接目標服務器

前提:jenkins容器或jenkins所在宿主機本地已經生成ssh(ssh-keygen)

1. SSH插件下載與配置

1.1 下載Publish over SSH插件
  • 系統管理---》管理插件
  • 下載后的本地路徑:$JENKINS_HOME/plugins/publish_over
1.2 全局配置SSH服務器
  • 系統管理---》系統設置--》拉到底部Publish over SSH
  • Passphrase和Key二選一即可 。Passphrase是密碼方式登錄服務器,Key是免密碼方式登錄服務器(具體步驟:將Jenkins所在機子的public_key添加到待部署服務器的~/.ssh/authorized_keys即可)。
  • Remote Directory: 填寫當前用戶有權限操作的,并且必須是已經存在的路徑(例如用戶的主目錄)。
  • SSH服務器默認端口號是22,點擊高級即可設置Port。
  • 配置完成后,點擊 Test Configuration 返回Success即證明Jenkins所在宿主機可以正常鏈接到待部署機。
配置待部署的服務器
  • 備注1: 添加多個部署機器時,默認是使用之前配置的Passphrase或Key,如果配置不一樣,只需在高級中勾選Use password authentication, or use a different key,重新填寫即可。
  • 備注2: 同時操作多臺待部署服務器時,可以將Jenkins所在宿主機的public_key添加到所有待部署服務器上,這樣jenkins配置中只需要填寫一個Key就可以了而不必密碼方式登錄。

2. job配置

1. 構建環境中添加操作目標服務器
  • 勾選 Send files or execute commands over SSH before the build starts,即在構建開始之前,通過SSH登錄目標服務器進行操作。
  • 勾選 Send files or execute commands over SSH after the build runs, 即在構建完成之后,通過SSH登錄目標服務器進行操作。
2. 構建步驟中添加操作目標服務器
  • 構建步驟選擇: Send files or execute commands over SSH
  • Remote directory:如果不存在則會基于配置的Remote Directory創建目錄。
  • Exec command是基于當前用戶的主目錄,而不是Remote Directory請注意!!。
對目標服務器的操作
3. 構建結果
構建結果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。