中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 服務器 > 
  • jenkins中如何通過Publish Over SSH插件將項目部署到遠程機器上

jenkins中如何通過Publish Over SSH插件將項目部署到遠程機器上

發布時間:2021-07-29 14:16:16 來源:億速云 閱讀:174 作者:小新 欄目:服務器

這篇文章將為大家詳細講解有關jenkins中如何通過Publish Over SSH插件將項目部署到遠程機器上,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Publish Over SSH插件使用

在使用Publish Over SSH之前,需要制作SSH私鑰。機器間做免密登錄配置。假設機器A,ip為192.168.AA.AAA,機器B: 192.168.BB.BBB,機器A能夠免密登錄機器B,機器B能夠免密登錄機器A,制作方式是:

進入A機器,執行:

cd ~
ssh-keygen -t rsa

通過下面的命令,表示可以通過機器192.168.AA.AAA免密登錄到機器192.168.BB.BBB

ssh-copy-id 192.168.BB.BBB

jenkins中如何通過Publish Over SSH插件將項目部署到遠程機器上

驗證方式是:在A機器上執行ssh 192.168.BB.BBB,然后執行ifconfig檢查當前的ip,若發現機器的ip已經變成了192.168.BB.BBB說明免密登錄設置成功。

進入B機器,執行:

cd ~
ssh-keygen -t rsa
ssh-copy-id 192.168.AA.AAA

驗證方式是:在B機器上執行ssh 192.168.AA.AAA,然后執行ifconfig檢查當前的ip,若發現機器的ip已經變成了192.168.BB.BBB說明免密登錄設置成功。

在系統配置中配置Publish Over SSH

進入Jenkins—>系統管理—>系統設置,配置Publish over SSH

jenkins中如何通過Publish Over SSH插件將項目部署到遠程機器上

參數說明:

Passphrase:密碼(key的密碼,如果你設置了)
Path to key:key文件(私鑰)的路徑
Key:將私鑰復制到這個框中
Disable exec:禁止運行命令
私有配置:
SSH Server Name:標識的名字(隨便你取什么)
Hostname:需要連接ssh的主機名或ip地址(建議ip)
Username:用戶名
Remote Directory:遠程目錄
Use password authentication, or use a different key:可以替換公共配置(選中展開的就是公共配置的東西,這樣做擴展性很好)
私有配置的高級:
Port:端口(默認22)
Timeout (ms):超時時間(毫秒)默認即可
Disable exec:禁止運行命令
Test Configuration:測試連接

對構建的項目中的SSH進行配置:

在執行前要配合Build–>Post Steps中的Execute shell配置,執行scp命令,將要拷貝的項目先遠程拷貝到遠程機器上。在Execute shell中的內容如下:

scp -r /root/.jenkins/workspace/youxuan_api_pre/qt360-web/target/youxuan_api root@192.168.BB.BBB:/usr/local/jenkinsTempFolder/
export BUILD_ID=DONTKILLME

點擊構建的項目—>配置–>構建后操作,選擇Send build artifacts over SSH,進行如下配置(注意:下面的Exec command是遠程機器上執行的腳本):

jenkins中如何通過Publish Over SSH插件將項目部署到遠程機器上

腳本內容如下:

#!/bin/bash
echo "==================start deploy project========================="
ps -aux | grep /usr/local/tomcat/ | grep -v grep > tomcat_info.txt
sed 's/ / /g' tomcat_info.txt > tomcat_info1.txt
sed 's/ / /g' tomcat_info1.txt > tomcat_info.txt
sed 's/ / /g' tomcat_info.txt > tomcat_info1.txt 
cat tomcat_info1.txt | cut -d' ' -f 2 > tomcat_info.txt
for line in `cat tomcat_info.txt`
do
  kill -9 $line
done
cd /usr/local/tomcat/webapps
rm -rf youxuan_api*
mv /usr/local/jenkinsTempFolder/youxuan_api /usr/local/tomcat/webapps
/etc/init.d/tomcat start
sync
echo 3 > /proc/sys/vm/drop_caches
echo "==================deploy project success========================="

參數說明:

SSH  Server Name:選個一個你在系統設置里配置的配置的名字
Transfer Set Source files:需要上傳的文件(注意:相對于工作區的路徑。看后面的配置可以填寫多個,默認用,分隔)
Remove prefix:移除目錄(只能指定Transfer Set Source files中的目錄)
Remote directory:遠程目錄(根據你的需求填寫吧,因為我這兒是測試,所以偷懶沒有填寫。默認會繼承系統配置)
Exec command:把你要執行的命令寫在里面
(新版本的要求Transfer Set Source files和Exec command都要填寫,可以不了他。老版本的允許只填寫一個)
高級:
Exclude files:排除的文件(在你傳輸目錄的時候很有用,使用通配符,例如:**/*.log,**/*.tmp,.git/)
Pattern separator:分隔符(配置Transfer Set Source files的分隔符。如果你這兒更改了,上面的內容也需要更改)
No default excludes:禁止默認的排除規則(具體的自己看幫助)
Make empty dirs:此選項會更改插件的默認行為。默認行為是匹配該文件是否存在,如果存在則創建目錄存放。選中此選項會直接創建一個目錄存放文件,即使是空目錄。(個人理解)
Flatten files:只上傳文件,不創建目錄(除了遠程目錄)
Remote directory is a date format:遠程目錄建立帶日期的文件夾(需要在Remote directory中配置日期格式),具體格式參考下表:
Remote directory    Directories created
'qa-approved/'yyyyMMddHHmmss    qa-approved/20101107154555
'builds/'yyyy/MM/dd/'build-${BUILD_NUMBER}'    builds/2010/11/07/build-456 (if the build was number 456)
yyyy_MM/'build'-EEE-d-HHmmss    2010_11/build-Sun-7-154555
yyyy-MM-dd_HH-mm-ss 2010-11-07_15-45-55
Exec timeout (ms):運行腳步的超時時間(毫秒)
Exec in pty:模擬一個終端執行腳步
Add Transfer Set:增加一個配置

關于“jenkins中如何通過Publish Over SSH插件將項目部署到遠程機器上”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定边县| 合作市| 中宁县| 锡林郭勒盟| 绥中县| 凉山| 成都市| 云浮市| 松潘县| 巴塘县| 丹江口市| 友谊县| 兰州市| 黄陵县| 封开县| 无极县| 常德市| 华亭县| 宁晋县| 建水县| 迁西县| 阜阳市| 买车| 博野县| 安康市| 淮安市| 瑞金市| 界首市| 永春县| 铅山县| 西和县| 增城市| 梅州市| 颍上县| 神木县| 永州市| 泗阳县| 武川县| 吴旗县| 济阳县| 邢台市|