最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解使用Jenkins部署Spring Boot項(xiàng)目

 更新時(shí)間:2017年11月13日 11:38:41   作者:純潔的微笑  
這篇文章主要介紹了詳解使用Jenkins部署Spring Boot,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

jenkins是devops神器,本篇文章介紹如何安裝和使用jenkins部署Spring Boot項(xiàng)目

jenkins搭建 部署分為三個(gè)步驟;

  1. 第一步,jenkins安裝
  2. 第二步,插件安裝和配置
  3. 第三步,Push SSH
  4. 第四步,部署項(xiàng)目

第一步 ,jenkins安裝

準(zhǔn)備環(huán)境:

  1. JDK:1.8
  2. Jenkins:2.83 Centos:7.3
  3. maven 3.5‘

jdk默認(rèn)已經(jīng)安裝完成

配置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
## 移動(dòng)
mv apache-maven-3.5.0 /usr/local/maven3

修改環(huán)境變量, 在/etc/profile中添加以下幾行

MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

記得執(zhí)行source /etc/profile使環(huán)境變量生效。

驗(yàn)證 最后運(yùn)行mvn -v驗(yàn)證maven是否安裝成功

配置防護(hù)墻

關(guān)閉防護(hù)墻

#centos7
systemctl stop firewalld.service
==============================
#以下為:centOS 6.5關(guān)閉防火墻步驟
#關(guān)閉命令: 
service iptables stop 
#永久關(guān)閉防火墻:
chkconfig iptables off

兩個(gè)命令同時(shí)運(yùn)行,運(yùn)行完成后查看防火墻關(guān)閉狀態(tài)

service iptables status

jenkins 安裝

下載

cd /opt
wget http://mirrors.jenkins.io/war/2.83/jenkins.war

啟動(dòng)服務(wù)

java -jar jenkins.war &

Jenkins 就啟動(dòng)成功了!它的war包自帶Jetty服務(wù)器

第一次啟動(dòng)Jenkins時(shí),出于安全考慮,Jenkins會(huì)自動(dòng)生成一個(gè)隨機(jī)的按照口令。注意控制臺(tái)輸出的口令,復(fù)制下來(lái),然后在瀏覽器輸入密碼:

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

*************************************************************
*************************************************************
*************************************************************

訪問(wèn) 瀏覽器訪問(wèn):http://localhost:8080/

 

輸入:0cca37389e6540c08ce6e4c96f46da0f

進(jìn)入用戶自定義插件界面,建議選擇安裝官方推薦插件,因?yàn)榘惭b后自己也得安裝:

 

接下來(lái)是進(jìn)入插件安裝進(jìn)度界面:

插件一次可能不會(huì)完全安裝成功,可以點(diǎn)擊Retry再次安裝。直到全部安裝成功

 

等待一段時(shí)間之后,插件安裝完成,配置用戶名密碼:

 

輸入:admin/admin

系統(tǒng)管理-》全局工具配置 jdk路徑,

 

第二步,插件安裝和配置

有很多插件都是選擇的默認(rèn)的安裝的,所以現(xiàn)在需要我們安裝的插件不多,Git plugin和Maven Integration plugin,publish over SSH、CVS插件管理SSH。

插件安裝:系統(tǒng)管理 > 插件管理 > 可選插件,勾選需要安裝的插件,點(diǎn)擊直接安裝或者下載重啟后安裝

 

配置全局變量

系統(tǒng)管理 > 全局工具配置

JDK

配置本地JDK的路徑,去掉勾選自動(dòng)安裝

 

Maven

配置本地maven的路徑,去掉勾選自動(dòng)安裝

其它內(nèi)容可以根據(jù)自己的情況選擇安裝。

配置 SSH免登陸

ssh的配置可使用密鑰,也可以使用密碼,這里我們使用密鑰來(lái)配置,在配置之前先配置好jenkins服務(wù)器和應(yīng)用服務(wù)器的密鑰認(rèn)證 jenkins服務(wù)器上生成密鑰對(duì),使用ssh-keygen -t rsa命令

輸入下面命令 一直回車,一個(gè)矩形圖形出現(xiàn)就說(shuō)明成功,在~/.ssh/下會(huì)有私鑰id_rsa和公鑰id_rsa.pub

ssh-keygen -t rsa

將jenkins服務(wù)器的公鑰id_rsa.pub中的內(nèi)容復(fù)制到應(yīng)用服務(wù)器 的~/.ssh/下的 authorized_keys文件

ssh-copy-id -i id_rsa.pub 192.168.0.xx
chmod 644 authorized_keys

在應(yīng)用服務(wù)器上重啟ssh服務(wù),service sshd restart現(xiàn)在jenkins服務(wù)器可免密碼直接登陸應(yīng)用服務(wù)器

之后在用ssh B嘗試能否免密登錄B服務(wù)器,如果還是提示需要輸入密碼,則有以下原因

a. 非root賬戶可能不支持ssh公鑰認(rèn)證(看服務(wù)器是否有限制)
b. 傳過(guò)來(lái)的公鑰文件權(quán)限不夠,可以給這個(gè)文件授權(quán)下 chmod 644 authorized_keys
c. 使用root賬戶執(zhí)行ssh-copy-id -i ~/.ssh/id_rsa.pub 這個(gè)指令的時(shí)候如果需要輸入密碼則要配置sshd_config

vi /etc/ssh/sshd_config
#內(nèi)容
PermitRootLogin no

修改完后要重啟sshd服務(wù)

service sshd restart

最后,如果可以SSH IP 免密登錄成功說(shuō)明SSH公鑰認(rèn)證成功。

第三步,Push SSH

系統(tǒng)管理 > 系統(tǒng)設(shè)置

選擇 Publish over SSH

 

Passphrase 不用設(shè)置 Path to key 寫上生成的ssh路徑:/root/.ssh/id_rsa

下面的SSH Servers是重點(diǎn)

Name 隨意起名代表這個(gè)服務(wù),待會(huì)要根據(jù)它來(lái)選則 Hostname 配置應(yīng)用服務(wù)器的地址 Username 配置linux登陸用戶名 Remote Directory 不填

點(diǎn)擊下方增加可以添加多個(gè)應(yīng)用服務(wù)器的地址

第四步,部署項(xiàng)目

首頁(yè)點(diǎn)擊新建:輸入項(xiàng)目名稱

 

下方選擇構(gòu)建一個(gè)maven項(xiàng)目,點(diǎn)擊確定。

勾選丟棄舊的構(gòu)建,選擇是否備份被替換的舊包。我這里選擇備份最近的10個(gè)

 

源碼管理,選擇svn,配置SVN相關(guān)信息,點(diǎn)擊add可以輸入svn的賬戶和密碼

 

svn地址:http://192.168.0.xx/svn/xxx@HEAD,@HEAD意思取最新版本

構(gòu)建環(huán)境中勾選“Add timestamps to the Console Output”,代碼構(gòu)建的過(guò)程中會(huì)將日志打印出來(lái)

 

在Build中輸入打包前的mvn命令,如:

clean install -Dmaven.test.skip=true -Ptest

意思是:排除測(cè)試的包內(nèi)容,使用后綴為test的配置文件。

 

Post Steps 選擇 Run only if build succeeds

 

點(diǎn)擊Add post-build step,選擇 Send files or execute commands over SSH

 

Name選擇上面配置的Push SSH

 

Source files配置:target/xxx-0.0.1-SNAPSHOT.jar 項(xiàng)目jar包名 Remove prefix:target/ Remote directory:Jenkins-in/ 代碼應(yīng)用服務(wù)器的目錄地址, Exec command:Jenkins-in/xxx.sh 應(yīng)用服務(wù)器對(duì)應(yīng)的腳本。

需要在應(yīng)用服務(wù)器創(chuàng)建文件夾:Jenkins-in,在文件夾中復(fù)制一下腳本內(nèi)容: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舊項(xiàng)目,刪除舊項(xiàng)目,啟動(dòng)新項(xiàng)目,備份老項(xiàng)目。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java連接Vmware中的redis

    Java連接Vmware中的redis

    這篇文章主要為大家介紹了Java連接Vmware中的redis
    2016-01-01
  • Java?Lambda表達(dá)式語(yǔ)法及用法示例

    Java?Lambda表達(dá)式語(yǔ)法及用法示例

    這篇文章主要給大家介紹了關(guān)于Java?Lambda表達(dá)式語(yǔ)法及用法的相關(guān)資料,lambda表達(dá)式是JAVA8中提供的一種新的特性,它支持Java也能進(jìn)行簡(jiǎn)單的"函數(shù)式編程",文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • 基于Java實(shí)現(xiàn)音頻播放功能

    基于Java實(shí)現(xiàn)音頻播放功能

    音頻播放是現(xiàn)代應(yīng)用程序中常見(jiàn)的一項(xiàng)功能,無(wú)論是在桌面應(yīng)用、游戲開發(fā)、媒體播放器、還是在廣告和提示音效中,下面我們就來(lái)看看如何使用Java實(shí)現(xiàn)簡(jiǎn)單的音頻播放功能吧
    2025-03-03
  • springAop實(shí)現(xiàn)權(quán)限管理數(shù)據(jù)校驗(yàn)操作日志的場(chǎng)景分析

    springAop實(shí)現(xiàn)權(quán)限管理數(shù)據(jù)校驗(yàn)操作日志的場(chǎng)景分析

    這篇文章主要介紹了springAop實(shí)現(xiàn)權(quán)限管理數(shù)據(jù)校驗(yàn)操作日志的場(chǎng)景分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java 線程的生命周期完整實(shí)例分析

    Java 線程的生命周期完整實(shí)例分析

    這篇文章主要介紹了Java 線程的生命周期,結(jié)合完整實(shí)例形式分析了java線程周期相關(guān)的加鎖、釋放鎖、阻塞、同步等原理與操作技巧,需要的朋友可以參考下
    2019-10-10
  • Spring boot的上傳圖片功能實(shí)例詳解

    Spring boot的上傳圖片功能實(shí)例詳解

    Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開發(fā)過(guò)程。這篇文章主要介紹了Spring boot 上傳圖片,需要的朋友可以參考下
    2018-03-03
  • springboot配置加密的正確姿勢(shì)分享

    springboot配置加密的正確姿勢(shì)分享

    在Spring boot開發(fā)中,需要在application.yml文件里配置數(shù)據(jù)庫(kù)的連接信息,或者在啟動(dòng)時(shí)傳入數(shù)據(jù)庫(kù)密碼,如果不加密,傳明文,數(shù)據(jù)庫(kù)就直接暴露了,下面這篇文章主要給大家介紹了關(guān)于springboot配置加密的正確姿勢(shì),需要的朋友可以參考下
    2022-11-11
  • Spring中MVC模塊代碼詳解

    Spring中MVC模塊代碼詳解

    這篇文章主要介紹了Spring中MVC模塊代碼詳解,涉及Controller的簡(jiǎn)單介紹,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-11-11
  • SpringMVC如何配置JSP視圖解析器

    SpringMVC如何配置JSP視圖解析器

    這篇文章主要介紹了SpringMVC如何配置JSP視圖解析器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 詳解查看JAVA API及JAVA源碼的方法

    詳解查看JAVA API及JAVA源碼的方法

    這篇文章主要介紹了查看JAVA API及JAVA源碼的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02

最新評(píng)論

汤阴县| 河曲县| 青海省| 筠连县| 旬阳县| 大田县| 方正县| 兴和县| 乌鲁木齐县| 武胜县| 康马县| 抚宁县| 清水县| 麦盖提县| 竹北市| 郴州市| 治县。| 馆陶县| 巧家县| 龙胜| 胶南市| 桑植县| 冀州市| 鹿泉市| 察隅县| 外汇| 逊克县| 湄潭县| 白河县| 灵台县| 佳木斯市| 鸡东县| 册亨县| 张北县| 剑河县| 宁城县| 边坝县| 黑龙江省| 太康县| 屏东市| 瑞昌市|