Jenkins部署maven項目到遠端服務器


jenkins服務器地址:192.168.1.203
項目部署機器地址:192.168.1.201,192.168.1.200
代碼托管github
雖然比較low,但是入門是可以的!

Jenkins安裝

參考:https://jenkins.io/zh/doc/book/installing/
下載地址:https://jenkins.io/download/
本示例采用rpm包安裝。
Jenkins需要JDK1.8支持。
Jenkins默認配置文件:/etc/sysconfig/jenkins
Jenkins war包位置:/usr/lib/jenkins/jenkins.war

# java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

安裝過程中該Jenkins實例似乎已離線


解決辦法:
默認是通過https://updates.jenkins.io/update-center.json 進行更新的。此處,將https改為http,重啟Jenkins,重新打開頁面,一切都正常了。

# find / -name "hudson.model.UpdateCenter.xml"
/xx/jenkins/hudson.model.UpdateCenter.xml
# vim /beike/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://updates.jenkins.io/update-center.json</url>
  </site>
</sites>
# /etc/init.d/jenkins restart

No such plugin: cloudbees-folder


因為下載的Jenkins.war里沒有cloudbees-folder插件
需要在網上下載:http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/
下載cloudbees-folder.hpi放在/xxx/webapps/jenkins/WEB-INF/detached-plugins即可

# find / -name "detached-plugins"
/var/cache/jenkins/war/WEB-INF/detached-plugins
# cd /var/cache/jenkins/war/WEB-INF/detached-plugins
# wget http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/latest/cloudbees-folder.hpi
# /etc/init.d/jenkins restart

之后可正常安裝jenkins社區版推薦插件!

Jenkins手動插件安裝

系統管理------>插件管理
如果遇到如下報錯:

解決辦法:
Advanced

將https修改為http即可
需安裝插件:

GIT client plugin
GIT plugin
Git server plugin
GitHub API Plugin
GitHub plugin
SSH Credentials Plugin
SSH plugin
Publish Over SSH
Maven Integration
NodeJS

設置環境變量



不要勾選自動安裝!

Jenkins配置機器信任

配置Jenkins服務器與待發布服務器之間的信任

#  ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.200
#  ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.201

Jenkins中添加已經信任的機器


使用密碼驗證!

配置Jenkins與git信任

配置git認證

Jenkins服務器上生成秘鑰:

# ssh-keygen

將.ssh/id_rsa.pub 復制到git的ssh key中,便於拉取代碼

測試Jenkins服務器可以可以clone代碼!

配置Jenkins認證



此處輸入.ssh/id_rsa

創建項目

創建maven項目

項目描述

SSHF方式,若無認證,會報錯

正常情況:

依賴pom文件的編譯命令:

編譯成功后動作:

連接到部署服務器上,將原來的服務暫時暫停,備份上一次部署的壓縮包,選擇添加遠程shell腳本執行。

把打包好的代碼發送到服務器上,並且啟動服務,選擇通過ssh發送文件並執行命令到遠程服務器。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM