使用Jenkins部署Spring Boot
jenkins是devops神器,本篇文章介紹如何安裝和使用jenkins部署Spring Boot專案
jenkins搭建 部署分為三個步驟;
- 第一步,jenkins安裝
- 第二步,外掛安裝和配置
- 第三步,Push SSH
- 第四步,部署專案
第一步 ,jenkins安裝
準備環境:
JDK:1.8
Jenkins:2.83
Centos:7.3
maven 3.5‘
jdk預設已經安裝完成
配置maven
版本要求maven3.5.0
軟體下載
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
安裝
## 解壓
tar vxf apache-maven-3.5.0-bin.tar.gz
## 移動
mv apache-maven-3.5.0 /usr/local/maven3
修改環境變數,
在/etc/profile中新增以下幾行
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
記得執行source /etc/profile
使環境變數生效。
驗證
最後執行mvn -v
驗證maven是否安裝成功
配置防護牆
關閉防護牆
#centos7 systemctl stop firewalld.service ============================== #以下為:centOS 6.5關閉防火牆步驟 #關閉命令: service iptables stop #永久關閉防火牆: chkconfig iptables off
兩個命令同時執行,執行完成後檢視防火牆關閉狀態
service iptables status
jenkins 安裝
下載
cd /opt
wget http://mirrors.jenkins.io/war/2.83/jenkins.war
啟動服務
java -jar jenkins.war &
Jenkins 就啟動成功了!它的war包自帶Jetty伺服器
第一次啟動Jenkins時,出於安全考慮,Jenkins會自動生成一個隨機的按照口令。注意控制檯輸出的口令,複製下來,然後在瀏覽器輸入密碼:
INFO: ************************************************************* ************************************************************* ************************************************************* Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation: 0cca37389e6540c08ce6e4c96f46da0f This may also be found at: /root/.jenkins/secrets/initialAdminPassword ************************************************************* ************************************************************* *************************************************************
訪問
瀏覽器訪問:http://localhost:8080/
輸入:0cca37389e6540c08ce6e4c96f46da0f
進入使用者自定義外掛介面,建議選擇安裝官方推薦外掛,因為安裝後自己也得安裝:
接下來是進入外掛安裝進度介面:
外掛一次可能不會完全安裝成功,可以點選Retry再次安裝。直到全部安裝成功
等待一段時間之後,外掛安裝完成,配置使用者名稱密碼:
輸入:admin/admin
系統管理-》全域性工具配置 jdk路徑,
第二步,外掛安裝和配置
有很多外掛都是選擇的預設的安裝的,所以現在需要我們安裝的外掛不多,Git plugin和Maven Integration plugin,publish over SSH、SSH外掛。
外掛安裝:系統管理 > 外掛管理 > 可選外掛,勾選需要安裝的外掛,點選直接安裝或者下載重啟後安裝
配置全域性變數
系統管理 > 全域性工具配置
JDK
配置本地JDK的路徑,去掉勾選自動安裝
Maven
配置本地maven的路徑,去掉勾選自動安裝
其它內容可以根據自己的情況選擇安裝。
配置 SSH免登陸
ssh的配置可使用金鑰,也可以使用密碼,這裡我們使用金鑰來配置,在配置之前先配置好jenkins伺服器和應用伺服器的金鑰認證
jenkins伺服器上生成金鑰對,使用ssh-keygen -t rsa
命令
輸入下面命令 一直回車,一個矩形圖形出現就說明成功,在~/.ssh/下會有私鑰id_rsa和公鑰id_rsa.pub
ssh-keygen -t rsa
將jenkins伺服器的公鑰id_rsa.pub
中的內容複製到應用伺服器 的~/.ssh/下的 authorized_keys
檔案
ssh-copy-id -i id_rsa.pub 192.168.0.xx
chmod 644 authorized_keys
在應用伺服器上重啟ssh服務,service sshd restart
現在jenkins伺服器可免密碼直接登陸應用伺服器
之後在用ssh B嘗試能否免密登入B伺服器,如果還是提示需要輸入密碼,則有以下原因
- a. 非root賬戶可能不支援ssh公鑰認證(看伺服器是否有限制)
- b. 傳過來的公鑰檔案許可權不夠,可以給這個檔案授權下 chmod 644 authorized_keys
- c. 使用root賬戶執行ssh-copy-id -i ~/.ssh/id_rsa.pub 這個指令的時候如果需要輸入密碼則要配置sshd_config
vi /etc/ssh/sshd_config
#內容
PermitRootLogin no
修改完後要重啟sshd服務
service sshd restart
最後,如果可以SSH IP 免密登入成功說明SSH公鑰認證成功。
第三步,Push SSH
系統管理 > 系統設定
選擇 Publish over SSH
Passphrase 不用設定
Path to key 寫上生成的ssh路徑:/root/.ssh/id_rsa
下面的SSH Servers是重點
Name 隨意起名代表這個服務,待會要根據它來選則
Hostname 配置應用伺服器的地址
Username 配置linux登陸使用者名稱
Remote Directory 不填
點選下方增加可以新增多個應用伺服器的地址
第四步,部署專案
首頁點選新建:輸入專案名稱
下方選擇構建一個maven專案,點選確定。
勾選丟棄舊的構建,選擇是否備份被替換的舊包。我這裡選擇備份最近的10個
原始碼管理,選擇svn,配置SVN相關資訊,點選add可以輸入svn的賬戶和密碼
構建環境中勾選“Add timestamps to the Console Output”,程式碼構建的過程中會將日誌打印出來
在Build中輸入打包前的mvn命令,如:
clean install -Dmaven.test.skip=true -Ptest
意思是:排除測試的包內容,使用字尾為test的配置檔案。
Post Steps 選擇 Run only if build succeeds
點選Add post-build step,選擇 Send files or execute commands over SSH
Name選擇上面配置的Push SSH
Source files配置:target/xxx-0.0.1-SNAPSHOT.jar 專案jar包名
Remove prefix:target/
Remote directory:Jenkins-in/ 程式碼應用伺服器的目錄地址,
Exec command:Jenkins-in/xxx.sh 應用伺服器對應的指令碼。
需要在應用伺服器建立資料夾:Jenkins-in,在資料夾中複製一下指令碼內容:xxx.sh
DATE=$(date +%Y%m%d)
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/java/jdk1.8.0_131
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/root/xxx
JARFILE=xxx-0.0.1-SNAPSHOT.jar
if [ ! -d $DIR/backup ];then
mkdir -p $DIR/backup
fi
cd $DIR
ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9
mv $JARFILE backup/$JARFILE$DATE
mv -f /root/Jenkins-in/$JARFILE .
java -jar $JARFILE > out.log &
if [ $? = 0 ];then
sleep 30
tail -n 50 out.log
fi
cd backup/
ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf
這段指令碼的意思,就是kill舊專案,刪除舊專案,啟動新專案,備份老專案。
轉自:http://www.cnblogs.com/ityouknow/p/7899349.html
相關推薦
springboot(十六):使用Jenkins部署Spring Boot
記得 rmi 啟動 很多 文章 firewalld 情況 try 安裝 jenkins是devops神器,本篇文章介紹如何安裝和使用jenkins部署Spring Boot項目 jenkins搭建 部署分為三個步驟; 第一步,jenkins安裝 第二步,插件安裝和配置
windows系統Jenkins部署spring boot一直無返回結果問題解決辦法
前言 由於我們公司java應用是部署在windows伺服器上的,jenkins在部署spring boot時會一直等待直到超時才結束,這個主要原因是因為spring boot 啟動一直是在前臺執行(控制檯一直在列印),所以jenkins會認為這個任務沒有執行完
Spring Boot(十六):使用Jenkins部署Spring Boot
如何 war包 args 選擇 lib jetty dma light 訪問 Spring Boot(十六):使用Jenkins部署Spring Boot jenkins是devops神器,介紹如何安裝和使用jenkins部署Spring Boot項目 jenkins搭建
使用Jenkins部署Spring Boot
jenkins是devops神器,本篇文章介紹如何安裝和使用jenkins部署Spring Boot專案 jenkins搭建 部署分為三個步驟; 第一步,jenkins安裝 第二步,外掛安裝和配置 第三步,Push SSH 第四步,部署專案 第一步 ,jenki
(轉)Spring Boot(十六):使用 Jenkins 部署 Spring Boot
tails you 文件夾 設置 發布 awk jdk 時間 回車 http://www.ityouknow.com/springboot/2017/11/11/spring-boot-jenkins.html enkins 是 Devops 神器,本篇文章介紹如何安裝和
jenkins 部署 spring boot 至遠端服務指定目錄
安裝jenkins https://jenkins.io/zh/doc/ 配置外掛許可權 Manage Jenkins->C
jenkins 自動化部署 spring boot 專案(多圖)
前置條件 jenkins與部署專案所用伺服器為同一臺 將下載好的war包,放在tomcat的webapps目錄下,啟動tomcat 預設 8080 埠 wget http://mi
Jenkins+Docker自動化部署Spring boot專案 (二)搭建docker私庫Harbor
前言 docker映象的push、pull都需要映象庫。現在不少大廠提供免費的映象庫,如docker hub,163 hub,也可以自己搭建一個私有映象庫。我用了vmware公司開源的harbor作為docker私有庫,相比docker官方提供的私有庫regi
jenkins+gitlab+maven+docker自動化部署spring boot
工作流程: 開發人員在gitLab上打了一個taggitLab把tag事件推送到JenkinsJenkins 獲取tag原始碼,編譯,打包,構建映象Jenkins 複製jar包到遠端伺服器Jenkins 執行遠端指令碼(停止老版本容器,刪除老版本容器,刪除老版本映象,b
Centos上搭建jenkins,並自動部署Spring Boot專案。(附遇到的問題及解決方案)
最近嘗試自己搭建jenkins自動部署環境,將整個過程及遇到的問題記下來,希望能夠幫助到一些朋友! 本文使用的環境是:Cent os7.2,maven3.5.3,JDK8,jenkins2.136 首先需要在你的伺服器上配好相關的JDK與maven,還要在系統上安裝好gi
linux測試環境,部署spring boot打的jar包,簡易偷懶腳本
head 新的 lena fin abs sta log linux nbsp 當前已有jar在運行,上傳新jar之後,需要刪除舊的,執行新的,一不小心可能就把新的刪了,就寫了個腳本,做下記錄 #!/bin/bash path=/work/server/ fileH
linux部署spring-boot
log kill lin spring clas body 直接 nbsp 名稱 先對項目maven clean 然後在項目上maven install 打成jar包,之後到linux上刪除前一個版本的進程 查看java進程的命令 ps -ef | grep ja
從零部署Spring boot項目到雲服務器(準備工作)
開始 frame bubuko ons pac 失敗 地址 進行 pri 自己的博客終於成功部署上線了,回過頭來總結記錄一下整個項目的部署過程! 測試地址:47.94.154.205:8084 註:文末有福利! 一、Linux下應用Shell通過SSH連接雲服務器
Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 開源軟件雲收
Spring Boot Dokcer 雲收藏 只需三步即可部署開源項目雲收藏,打造專屬個人的收藏系統,就是這麽簡單! 雲收藏項目已經開源2年多了,作為當初剛開始學習 Spring Boot 的練手項目,使用了很多當時很新的技術,現在看來其實很多新技術是沒有必要使用的,但做為學習案例來講確實是一個絕
liunx 部署 spring boot
txt ren href java包 remote linux 登錄 god warning Xshell for Xmanager Enterprise 4 (Build 0232)Copyright (c) 2002-2014 NetSarang Com
docker-compose, docker registry2,Python 指令碼 自動化 部署 spring boot 進銷存系統
準備環境 虛擬機器兩臺 centos 7.2 192.168.255.128 centos 7.2 192.168.255.129 maven 3.0.5 java 1.8.0_181 git version 1.8.3.1 Python 2.7.5 docker r
maven,git python指令碼 自動化 部署 spring boot進銷存系統
準備環境 虛擬機器兩臺 centos 7.2 192.168.255.128 centos 7.2 192.168.255.129 maven 3.0.5 java 1.8.0_181 git version 1.8.3.1 安裝 git yum in
開發筆記11 | 部署 Spring Boot 應用到阿里雲
今天晚上,聽了雲棲社群 Java 專家 徐雷frank 老師的《Java Spring Boot開發實戰系列課程》,受益匪淺,回頭就寫了一段程式,藉助阿里雲的外掛工具,順利部署到阿里雲上,分享給大家。 本地開發 無論是編寫雲端執行的,還是編寫本地執行的 Spring Boot 應用程式,程式碼編寫本身並沒
【docker】docker部署spring boot專案在伺服器上
IDE:idea 工具:docker spring boot:2.0.1 ======================================== 簡單記錄一下流程,以供參考: 第一步:首先得有一個spring boot的專案【集成了jpa+mybatis的spring boot 例子:ht
Jenkins 釋出spring boot專案 的 配置 (version: 2.138.2)
配置 一 此配置為 Jenkins在Centos7 上部署 General配置 原始碼管理 - svn地址 + 憑證 構建觸發器 (H/30 * * * * 代表 : 構建一次/30分鐘 ) 構建 + 釋出 ******* 重