jenkins自動(dòng)部署服務(wù)

1、安裝jdk8

檢查是否安裝了jdk
java -version
如果出現(xiàn)版本提示則說明安裝了,沒有則需要進(jìn)行安裝
注意 安裝jdk1.8版本,親測jdk7、10會(huì)導(dǎo)致失敻镂(當(dāng)前版本[Jenkins ver. 2.131])

安裝jdk

由于在服務(wù)器中下載包極其挫折(并且不想安裝 openSDK ),直接到官網(wǎng)下載安裝包(tar.gz)舵鳞,傳到服務(wù)器上某路徑下震檩。

cd到該路徑下解壓

tar -xzvf xxx.tar.gz
#(xxx為你下載的文件名)

配置環(huán)境變量

vi /etc/profile
在文件底部中添加
# set java environment
JAVA_HOME=/usr/java/jdk1.8.0_171 JRE_HOME=$JAVA_HOME/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATHT
其中,/usr/java/jdk1.8.0_171 是我解壓后的文件地址蜓堕,根據(jù)自己實(shí)際情況而定

使配置文件生效

source /etc/profile

2抛虏、安裝jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install jenkins

3、修改配置

vi /etc/sysconfig/jenkins
配置文件中找到以下兩項(xiàng)套才,根據(jù)實(shí)際情況進(jìn)行修改
JENKINS_USER="jenkins" 自動(dòng)創(chuàng)建一個(gè)jenkins用戶
JENKINS_PORT="8080" 服務(wù)啟動(dòng)默認(rèn)端口

4迂猴、配置java路徑

查詢java路徑,如果which查不到自行尋找路徑
which java 查詢java路徑背伴,記下
打開配置文件
vi /etc/init.d/jenkins
找到配置塊如下沸毁,查看是否存在本機(jī)的java路徑,如沒有傻寂,添加上息尺。

candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
"

5、啟動(dòng)和關(guān)閉

啟動(dòng)
sudo service jenkins start
關(guān)閉
sudo service jenkins stop
若提示 Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.
則執(zhí)行
systemctl daemon-reload
后重新啟動(dòng)
sudo service jenkins start

在瀏覽器輸入 服務(wù)器ip地址:服務(wù)端口號
如 10.51.38:8080 (默認(rèn) 8080)
若無法打開網(wǎng)頁疾掰,請檢查上述配置的端口號是否輸入正確搂誉,以及jdk是否為jdk8(1.8)

根據(jù)指引找到密碼登錄,后選擇默認(rèn)插件安裝静檬,等待安裝完成后炭懊,創(chuàng)建賬戶。


初次打開頁面

選擇插件拂檩,默認(rèn)安裝即可

創(chuàng)建賬戶

歡迎界面

完成賬戶創(chuàng)建后即可進(jìn)入到歡迎界面


歡迎界面

推薦插件

文件推送遠(yuǎn)程服務(wù)器插件(重要): Publish Over SSH
SVN插件: SVN Publisher plugin
Maven插件: Maven Integration plugin (Maven集成凛虽,否則新建的時(shí)候沒有Maven Project)
插件安裝方法: 系統(tǒng)管理/插件管理/可選插件 ,搜索插件進(jìn)行安裝即可

6、實(shí)戰(zhàn)演練

這里我們以前端項(xiàng)目為例广恢。(先安裝好node以及相關(guān)的環(huán)境)
我們的需求是點(diǎn)擊"開始構(gòu)建"項(xiàng)目后:
1、自動(dòng)從git上把項(xiàng)目下載呀潭、pull下來
2钉迷、進(jìn)行依賴檢查安裝
3、執(zhí)行項(xiàng)目編譯
4钠署、把編譯出來的文件包壓縮糠聪,發(fā)送到遠(yuǎn)程服務(wù)器
5、在遠(yuǎn)程服務(wù)器上解壓文件谐鼎,部署到相應(yīng)位置舰蟆;同時(shí)把前一個(gè)項(xiàng)目包進(jìn)行備份

配置遠(yuǎn)程服務(wù)器

由于要把包發(fā)送到遠(yuǎn)程服務(wù)器,所以先把相應(yīng)的遠(yuǎn)程服務(wù)器配置好
系統(tǒng)管理/系統(tǒng)設(shè)置 ,頁面查找 “Publish Over SSH”身害,找到配置頁面

公共的配置:

(提前配置好服務(wù)器之間的ssh免密登錄)
*Passphrase:密碼(key的密碼味悄,如果你設(shè)置了)
Path to key:key文件(私鑰)的路徑
Key:講私鑰復(fù)制進(jìn)來


Publish Over SSH 配置頁面
私有配置

私有配置:
SSH Server Name:標(biāo)識的名字 (自行取名)
Hostname:需要連接ssh的主機(jī)名或ip地址
Username:用戶名
Remote Directory:遠(yuǎn)程目錄
Use password authentication, or use a different key:可以替換公共配置(選中展開的就是公共配置的東西,這樣做擴(kuò)展性很好)
私有配置的高級:
Port:端口(默認(rèn)22)
Timeout (ms):超時(shí)時(shí)間(毫秒)默認(rèn)即可
Disable exec:禁止運(yùn)行命令
Test Configuration:測試連接


私有配置

配置完成后點(diǎn)擊 “test Configuration”進(jìn)行測試塌鸯,成功即可侍瑟。

創(chuàng)建新任務(wù)

創(chuàng)建新任務(wù)

這里主要配置重要項(xiàng),其他項(xiàng)自行選擇

配置源碼管理

這里在 Repository URL 填寫git 項(xiàng)目地址丙猬,涉及到服務(wù)器驗(yàn)證的話做好ssh免登錄即可無需選擇憑證涨颜,或者選擇選擇相應(yīng)的驗(yàn)證方式。如果驗(yàn)證沒通過茧球,輸入地址后幾秒庭瑰,頁面即會(huì)報(bào)錯(cuò)提示。
Branch Specifier (blank for 'any') 為分支選擇


源碼管理

構(gòu)建

在構(gòu)建中輸入要執(zhí)行的shell腳本抢埋,值得注意的是 首行要加入 “source /etc/profile” 弹灭,以載入環(huán)境變量,不然會(huì)出現(xiàn) cnpm 命令找不到的情況羹令。
source /etc/profile
cnpm I
cnpm run buildxhtest
echo "完成構(gòu)建"

構(gòu)建

至此鲤屡,已經(jīng)完成了需求的1、2福侈、3點(diǎn)

構(gòu)建后操作

構(gòu)建完成后酒来,我們還需要把文件包壓縮發(fā)送至遠(yuǎn)程服務(wù)器。
點(diǎn)擊增加構(gòu)建步驟肪凛,選擇 Send build artifacts over SSH

image9.png

Name: 遠(yuǎn)程服務(wù)器
Source files: 包的路徑堰汉,相對路徑
Remove prefix: 需要移除前綴路徑, 如果包的路徑為 demo/a.jar,如果此項(xiàng)為空伟墙,則發(fā)到服務(wù)器則為/root/demo/a.jar翘鸭, 如果移除前綴路徑為 demo/,則服務(wù)器路徑為/root/a.jar
Remote directory: 上傳到遠(yuǎn)程服務(wù)器的目錄戳葵, 注意這是一個(gè)相對路徑就乓, 根目錄取決于你的SSH Service配置
Exec command:上傳完成后需要執(zhí)行的命令(注意,根目錄是當(dāng)前用戶目錄)

比如拱烁,當(dāng)前我要把打包壓縮好的 dist.tar.gz 文件發(fā)送到遠(yuǎn)程服務(wù)器上的 /home/jenkins_test 路徑下, 而在配置該遠(yuǎn)程服務(wù)器時(shí)默認(rèn)目錄為 /home生蚁,所以,
Source files : dist.tar.gz
Remove prefix:
Remote directory: jenkins_test
為了不出現(xiàn)意想不到的路徑錯(cuò)誤戏自,shell腳本里直接指定絕對路徑邦投。
cd /home/jenkins_test

構(gòu)建后操作

要實(shí)現(xiàn)需求4、5擅笔,shell腳本如下:
# 這里還是用戶目錄
cd /home/jenkins_test

# 創(chuàng)建文件夾
curDate=$(date "+%Y-%m-%d-%H-%M-%S")
mkdir web_history/$curDate

# 刪除原有的dist
rm -f -r dist

# 解壓dist
tar vxf dist.tar.gz

# 把歷史版本存起來
cp dist/index.html web_history/$curDate/index.html
cp -r dist/static web_history/$curDate/static

# 刪除歷史版本
rm -r -f static
rm -f index.html

# 把新的文件放入目錄
cp -r dist/static static
cp dist/index.html index.html
echo "成功志衣!"

配置好以上后屯援,點(diǎn)擊保存。

在項(xiàng)目界面點(diǎn)擊 立即構(gòu)建 念脯,即可開始構(gòu)建項(xiàng)目

20180711164524.png

查看控制臺輸出

在構(gòu)建的過程中狞洋,可以點(diǎn)擊任務(wù)查看檔次任務(wù)詳情,控制臺輸出
在控制臺中查看運(yùn)行狀態(tài)和二。

控制臺輸出

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末徘铝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子惯吕,更是在濱河造成了極大的恐慌惕它,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件废登,死亡現(xiàn)場離奇詭異淹魄,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)堡距,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門甲锡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人羽戒,你說我怎么就攤上這事缤沦。” “怎么了易稠?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵缸废,是天一觀的道長。 經(jīng)常有香客問我驶社,道長企量,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任亡电,我火速辦了婚禮届巩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘份乒。我一直安慰自己恕汇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布或辖。 她就那樣靜靜地躺著拇勃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪孝凌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天月腋,我揣著相機(jī)與錄音蟀架,去河邊找鬼瓣赂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛片拍,可吹牛的內(nèi)容都是我干的煌集。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捌省,長吁一口氣:“原來是場噩夢啊……” “哼苫纤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起纲缓,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤卷拘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后祝高,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體栗弟,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年工闺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乍赫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,769評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡陆蟆,死狀恐怖雷厂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叠殷,我是刑警寧澤改鲫,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站溪猿,受9級特大地震影響钩杰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜诊县,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一讲弄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧依痊,春花似錦避除、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至性宏,卻和暖如春群井,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背毫胜。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工书斜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留诬辈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓荐吉,卻偏偏與公主長得像焙糟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子样屠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容