真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java利用jenkins做項(xiàng)目的自動化部署-創(chuàng)新互聯(lián)

最近領(lǐng)導(dǎo)要求上海本地的項(xiàng)目需要使用進(jìn)jenkins實(shí)現(xiàn)自動化部署,以便可以直接將項(xiàng)目移交給運(yùn)維的同學(xué),減輕開發(fā)的工作量。記錄下這次爬坑的過程。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供澄海企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為澄海眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

一、前言

Jenkins是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,功能包括:

1、持續(xù)的軟件版本發(fā)布/測試項(xiàng)目。

2、監(jiān)控外部調(diào)用執(zhí)行的工作。

上面是我從百科上down下來的,老實(shí)說沒看懂,這是個(gè)什么玩意???其實(shí)以我現(xiàn)在的理解和應(yīng)用,最多的便是部署了,其他功能待研究╮(╯_╰)╭擼主目前在上海一個(gè)不知名國企打工,我們現(xiàn)在項(xiàng)目的發(fā)布流程是:

1、本地或打包服務(wù)器利用maven打成war包

2、遠(yuǎn)程或者SSH連上項(xiàng)目服務(wù)器

3、停掉tomcat,刪除舊包和緩存,將新打的包放進(jìn)去

4、重啟tomcat。完成看似步驟簡單,其實(shí)占用了大量開發(fā)的的時(shí)間。

然后使用jenkins后:

1、點(diǎn)擊立即構(gòu)建,完成。什么?就點(diǎn)擊個(gè)按鈕就完成了,沒錯,就是個(gè)按鈕。其實(shí)在你點(diǎn)擊按鈕后jenkins已經(jīng)幫你把上述該走的流程后臺跑了一遍了,本次就介紹下怎么讓它后臺跑。

二、安裝構(gòu)建

本次介紹基于windows,可安裝在開發(fā)電腦或者windows server服務(wù)器

1、下載jenkins  

jenkins提供多種安裝方式

1.1jenkins.msi安裝 就像我們平時(shí)安裝軟件一樣,點(diǎn)點(diǎn)點(diǎn)。下載地址:https://jenkins.io/download/

1.2jenkins.war 包 既然是war包,不用說大家都知道怎么啟動了,扔到tomcat就行了。下載地址:http://updates.jenkins-ci.org/download/war/

2、啟動jenkins

我個(gè)人是比較推薦1.1的安裝方式的,1.2我在使用的時(shí)候經(jīng)常遇到內(nèi)存溢出的問題,當(dāng)然內(nèi)存溢出是可以調(diào)整的,但是多出了多余的工作量不是嘛。

采用1.1的安裝方式,安裝完成后我們會在windows的服務(wù)里面看到j(luò)enkins服務(wù)的。如下圖,啟動關(guān)閉重啟直接點(diǎn)服務(wù)就行了。

采用1.2的的方式下載war包的話,其實(shí)有兩種啟動方式。

第一種,放到tomcat容器,

第二種,cmd進(jìn)入安裝目錄,java -jar jenkins.war

3、安裝jenkins

安裝方式1.1和1.2 的流程是一樣的

jenkins默認(rèn)8080端口,可以修改,方法百度。

進(jìn)入http://localhost:8080/。紅色字體路徑有密碼,將密碼填上,然后下一步。

選擇插件,建議選擇官方建議插件,避免很多麻煩。

等待安裝中ing......

安裝好后看到下圖,用戶名密碼登陸用的,全名是用來顯示的。繼續(xù)下一步。

因?yàn)槲乙渴鸬氖莔aven項(xiàng)目,jenkins默認(rèn)的插件中是沒有maven的,首先需要安裝下。

點(diǎn)擊下圖插件直接安裝就行了,maven integration plugins

安裝熱部署插件Deploy to container Plugin

4、配置jenkins

我們需要配下maven的setting文件,jdk以及maven地址,setting文件一定要配,不要用它默認(rèn)的,擼主因?yàn)檫@個(gè)沒配,出問題糾結(jié)好久。

最后Apply然后Save就行了,記得別忘了應(yīng)用保存,不然白配了。

接著我們來新建一個(gè)項(xiàng)目,先輸入項(xiàng)目名,選擇maven項(xiàng)目,OK

選擇源碼管理,因?yàn)槲覀兪瞧髽I(yè)項(xiàng)目,不是開源,使用的SVN,選擇Subversion配置SVN

URL是你SVN地址,Credentials是賬戶密碼

然后到Pre Steps,這個(gè)東西是打包前需要什么操作,比如我們現(xiàn)在的項(xiàng)目需要拷貝log4j.xml文件等等,根據(jù)環(huán)境可以寫windows或者Shell腳本

沒有操作的話,就不用配了。

貼出我的腳本給大家參考,相關(guān)部分我用XXX替代

@echo off

rem 設(shè)置變量

:: APP.XXX app.XXX代碼的本地跟目錄
set APP.XXX="D:\svn\svn.173.X.X.X\app.XXX\"

::home.omm的log4j.xml 變量START
:: HOME_OMM_LOG4J_GOALS_PATH 存放home.omm的log4j.xml的路徑
set HOME_OMM_LOG4J_GOALS_PATH="D:\svn\svn.173.X.X.X\app.XXX\src\home.omm\src\main\resources"

::HOME_OMM_LOG4J home.omm的log4j.xml測試環(huán)境的路徑
set HOME_OMM_LOG4J="D:\svn\svn.173.X.X.X\app.XXX\config\home.omm\sh_test\resources"
::home.omm的log4j.xml 變量END

::home.weixin的變量START
:: HOME_WEIXIN_LOG4J_GOALS_PATH 存放home.weixin的log4j.xml的路徑
set HOME_WEIXIN_LOG4J_GOALS_PATH="D:\svn\svn.173.X.X.X\app.XXX\src\home.weixin\src\main\resources"

::HOME_WEIXIN_LOG4J home.weixin的log4j.xml測試環(huán)境的路徑
set HOME_WEIXIN_LOG4J="D:\svn\svn.173.X.X.X\app.XXX\config\home.weixin\sh_test\resources"

:: HOME_WEIXIN_CONFIG.JS_GOALS_PATH 存放home.weixin的config.js的路徑
set HOME_WEIXIN_CONFIG.JS_GOALS_PATH="D:\svn\svn.173.X.X.X\app.XXX\src\home.weixin\src\main\webapp\module\js"

::HOME_WEIXIN_CONFIG.JS home.omm的log4j.xml測試環(huán)境的路徑
set HOME_WEIXIN_CONFIG.JS="D:\svn\svn.173.X.X.X\app.XXX\config\home.weixin\sh_test\webapp\module\js"
::home.weixin的變量END

::service的變量START
:: SERVICE_LOG4J_GOALS_PATH 存放service的log4j.xml的路徑
set SERVICE_LOG4J_GOALS_PATH="D:\svn\svn.173.X.X.X\app.XXX\src\service\src\main\resources"

::SERVICE_LOG4J service的log4j.xml測試環(huán)境的路徑
set SERVICE_LOG4J="D:\svn\svn.173.X.X.X\app.XXX\config\service\sh_test\resources"

:: SERVICE_APPLICATION_RESOURCES_ALL_GOALS_PATH 存放application-resources-all.xml的路徑
set SERVICE_APPLICATION_RESOURCES_ALL_GOALS_PATH="D:\svn\svn.173.X.X.X\app.XXX\src\service\src\main\resources\config\spring"

:: SERVICE_APPLICATION_RESOURCES_ALL application-resources-all.xml測試環(huán)境的路徑
set SERVICE_APPLICATION_RESOURCES_ALL="D:\svn\svn.173.X.X.X\app.XXX\config\service\sh_test\resources\config\spring"
::service的變量END


::service.refresh的變量START
:: SERVICE_REFRESH_LOG4J_GOALS_PATH 存放service.refresh的log4j.xml的路徑
set SERVICE_REFRESH_LOG4J_GOALS_PATH="D:\svn\svn.173.X.X.X\app.XXX\src\service.refresh\src\main\resources"

::SERVICE_REFRESH_LOG4J service的log4j.xml測試環(huán)境的路徑
set SERVICE_REFRESH_LOG4J="D:\svn\svn.173.X.X.X\app.XXX\config\service.refresh\sh_test\resources"

:: SERVICE_REFRESH_APPLICATION_RESOURCES_ALL_GOALS_PATH 存放application-resources-all.xml的路徑
set SERVICE_REFRESH_APPLICATION_RESOURCES_ALL_GOALS_PATH="D:\svn\svn.173.X.X.X\app.XXX\src\service.refresh\src\main\resources\config\spring"

:: SERVICE_REFRESH_APPLICATION_RESOURCES_ALL application-resources-all.xml測試環(huán)境的路徑
set SERVICE_REFRESH_APPLICATION_RESOURCES_ALL="D:\svn\svn.173.X.X.X\app.XXX\config\service.refresh\sh_test\resources\config\spring"
::service.refresh的變量END



::判斷home.omm的log4j.xml文件是否存在
if exist %HOME_OMM_LOG4J_GOALS_PATH%\log4j.xml (del %HOME_OMM_LOG4J_GOALS_PATH%\log4j.xml)
cd %HOME_OMM_LOG4J_GOALS_PATH%
copy %HOME_OMM_LOG4J%\log4j.xml log4j.xml


::判斷home.weixin的log4j.xml文件是否存在
if exist %HOME_WEIXIN_LOG4J_GOALS_PATH%\log4j.xml (del %HOME_WEIXIN_LOG4J_GOALS_PATH%\log4j.xml)
cd %HOME_WEIXIN_LOG4J_GOALS_PATH%
copy %HOME_WEIXIN_LOG4J%\log4j.xml log4j.xml

::判斷home.weixin的config.js文件是否存在
if exist %HOME_WEIXIN_CONFIG.JS_GOALS_PATH%\config.js (del %HOME_WEIXIN_CONFIG.JS_GOALS_PATH%\config.js)
cd %HOME_WEIXIN_CONFIG.JS_GOALS_PATH%
copy %HOME_WEIXIN_CONFIG.JS%\config.js config.js


::判斷service的log4j.xml文件是否存在
if exist %SERVICE_LOG4J_GOALS_PATH%\log4j.xml (del %SERVICE_LOG4J_GOALS_PATH%\log4j.xml)
cd %SERVICE_LOG4J_GOALS_PATH%
copy %SERVICE_LOG4J%\log4j.xml log4j.xml

::判斷service的application-resources-all.xml文件是否存在
if exist %SERVICE_APPLICATION_RESOURCES_ALL_GOALS_PATH%\application-resources-all.xml (del %SERVICE_APPLICATION_RESOURCES_ALL_GOALS_PATH%\application-resources-all.xml)
cd %SERVICE_APPLICATION_RESOURCES_ALL_GOALS_PATH%
copy %SERVICE_APPLICATION_RESOURCES_ALL%\application-resources-all.xml application-resources-all.xml


::判斷service.refresh的log4j.xml文件是否存在
if exist %SERVICE_REFRESH_LOG4J_GOALS_PATH%\log4j.xml (del %SERVICE_REFRESH_LOG4J_GOALS_PATH%\log4j.xml)
cd %SERVICE_REFRESH_LOG4J_GOALS_PATH%
copy %SERVICE_REFRESH_LOG4J%\log4j.xml log4j.xml

::判斷service.refresh的application-resources-all.xml文件是否存在
if exist %SERVICE_REFRESH_APPLICATION_RESOURCES_ALL_GOALS_PATH%\application-resources-all.xml (del %SERVICE_REFRESH_APPLICATION_RESOURCES_ALL_GOALS_PATH%\application-resources-all.xml)
cd %SERVICE_REFRESH_APPLICATION_RESOURCES_ALL_GOALS_PATH%
copy %SERVICE_REFRESH_APPLICATION_RESOURCES_ALL%\application-resources-all.xml application-resources-all.xml

exit

新聞標(biāo)題:Java利用jenkins做項(xiàng)目的自動化部署-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://weahome.cn/article/doicos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部