前提: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. 構建結果
構建結果