一、jenkins代碼自動部署
1.配置免密鑰通信
實現自動化部署首先要解決的是免密碼傳輸,配置jenkins至測試服務器之間免密鑰ssh登錄
測試免密鑰ssh登錄
在測試服務器上編寫一個測試腳本,檢測是否可以執行成功,正式環境可以寫一個自動化部署的腳本
2.jenkins新建部署代碼項目
在構建這里選擇執行shell命令
點擊立即構建
控制臺輸出日志:成功
這樣就實現了使用jenkins代碼的自動化部署
實際情況中我們通常使用版本控制系統管理代碼,svn 或者 git
二、gitlab利用webhook實現push代碼后jenkins自動構建
jenkins服務器:192.168.239.134
gitlab服務器: 192.168.239.136
PS:如果gitlab與jenkins在同一臺服務器,需要更改其中一個的端口,默認都是8080
之前部署了gitlab的代碼托管平臺和jenkins代碼發布平臺,通常是開發后的代碼先推到Gitlab上管理,然后在Jenkins里
通過腳本構建代碼發布。這種方式每次在發版的時候,需要人工去執行jenkins上的構建動作,有時顯得過于繁瑣
于是就想到了Gitlab的Webhook功能,通過Webhook的相關設置,可以實現代碼Push后
自動去觸發jenkins上的構建動作,這樣就不需要人工干預去執行發版操作了
提前將jenkins本機的key添加到gitlab賬戶上
jenkins安裝gitlab hook plugin插件
在auto_deploy項目工程里設置代碼的git下載路徑并關聯構建的分支
查看jenkins生成回調地址,在任務構建觸發器下獲取回調URL
下面的URL那一行只有gitlab hook plugina插件下載成功后才能顯示
設置代碼發布的推送腳本
注意:這里使用192.168.239.136的test用戶是與jenkins服務器已經配置了ssh免密鑰登錄
#!/bin/bash SOURCE_DIR=/root/.jenkins/workspace/${JOB_NAME}/DEST_DIR=/var/www/html/REMOTE_IP=192.168.239.136/usr/bin/rsync -e "ssh -p 22" -avpgolr --delete-before --exclude=.git $SOURCE_DIR test@$REMOTE_IP:$DEST_DIR
通過上面的git將代碼下載到jenkins本機jobs里對應任務的workspace下,jenkins部署路徑是/root/.jenkins/workspace/,腳本中${JOB_NAME}是jenkins的內置變量
也可以指定下載目錄,加--exclude忽略哪些文件不需要進行rsync傳輸
#!/bin/bash
SOURCE_DIR=/data/git_tmpdata
再通過rsync將下載的代碼分發到遠程目標機器上
在192.168.239.136上創建/var/www/html/目錄并授權test用戶
mkdir /var/www/html/ -p && chmod -R test.test /var/www/html/
在gitlab上添加webhooks(注意這里是管理員用戶才能添加)
Add Webhook添加完成后,在下方點擊 test進行測試
如果返回Hook successfully executed.表示配置成功。
這樣,下次push代碼后,就會自動觸發jenkins上相關的構建工程進行自動發布了!無需人工干預
在gitlab上push一個文件hello.py,然后測試下是否自動發布了
在jenkins上查看輸出信息
在目標機器192.168.239.136的/var/www/html/目錄下發現hello.py文件已經發布過來了
三、用jenkins 自動部署發布
#注意:jenkins路徑會有差異,不用在意這個,同一個版本部署2次,發現了2個不同的目錄結構,很詫異。
jenkins build玩war包的存放目錄:/data/jenkins/workspace/simple/target
自動發布的腳本存放路徑:/data/jenkins/jobs/simple
腳本的內容:
腳本使用的是scp命令,當然也可以使用wget等。
1 另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章標題:Jenkins環境搭建部署實現代碼自動化發布-創新互聯
成都網站建設公司_創新互聯,為您提供域名注冊、服務器托管、網站設計公司、Google、虛擬主機、App設計 聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯 猜你還喜歡下面的內容
|