Jenkins:安裝并實(shí)現(xiàn)前后端的自動(dòng)化部署

一、安裝

1.下載并安裝啟動(dòng)

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

2.過(guò)程中如果出現(xiàn)以下錯(cuò)誤,則修改實(shí)際java安裝位置。

Starting jenkins (via systemctl):  Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.               [FAILED]

1)打開(kāi)jenkin啟動(dòng)配置文件

vim   /etc/init.d/jenkins 

2)修改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/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/usr/bin/java
/usr/java/jdk1.8.0_171/bin/java 

3)重新加載

systemctl daemon-reload

二席吴、結(jié)合Git+Maven實(shí)現(xiàn)java項(xiàng)目的持續(xù)集成

1.安裝插件

1)自動(dòng)

Manage Jenkins ->Manage Plugins ->可選插件

2)手動(dòng)

Manage Jenkins ->Manage Plugins ->高級(jí)

3)插件下載地址

搜索:https://plugins.jenkins.io/ 
列表:https://updates.jenkins-ci.org/download/plugins/

2.Jenkins系統(tǒng)設(shè)置

進(jìn)入Manage Jenkins -> Global Tool Configuration 目錄下進(jìn)行配置。
一下所需環(huán)境均與jenkins安裝于同一服務(wù)器捞蛋,直接指定實(shí)際安裝位置即可孝冒。
1)新增jdk

別名           | jdk1.8
JAVA_HOME      | /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64

2)新增Git

Name                          | git
Path to Git executable        | /usr/bin/git

3)新增maven

name           |  maven
MAVEN_HOME     |  /opt/apache-maven-3.6.1

3.配置publish over ssh:

1)安裝Publish Over SSH插件

2)Manage Jenkins -> Configure System ->Publish over SSH 下配置
首先,在安裝jenkins的服務(wù)器中運(yùn)行 ssh-keygen 一路回車yes (注意是否覆蓋原私鑰)
然后襟交,cat ~/.ssh/id_rsa 查看私鑰 并復(fù)制秘鑰內(nèi)容 -> key

3) SSH Servers配置

SSH Server
Name             | 192.168.25.98
Hostname         | 192.168.25.98
Username         | root
Remote Directory | /usr/local/tomcat
  1. ssh-copy-id -i 192.168.25.98 將私鑰傳給目標(biāo)服務(wù)器 構(gòu)建免密連接

  2. Test Configuration -> Success 測(cè)試成功

4.配置gitlib

1)jenkins中安裝Gitlib插件迈倍,步驟如上。
2)Gitlib中生成API令牌

setting -> Access Tokens

Name         | jenkins
Expires at   | YYYY-MM-DD

勾選 api

3)Manage Jenkins -> Configure System -> 配置 -> Gitlab
首先

Connection name  | 192.168.20.105
Gitlab host URL  | http://192.168.20.105:8888
點(diǎn)擊 添加 -> jenkins

其次

Domain     | 全局
類型       | GitLab API token
范圍       | 全局
API token  | 6yQH6YTBEGhpRFtTLvb2
ID         | 
描述       |  192.168.20.105 的 GitLab
點(diǎn)擊 添加 

測(cè)試

Test Configuration  ->  Success 測(cè)試成功

5.安裝git

yum  install  git   #安裝

cat   ~/.ssh/id_rsa.pub    #查看公鑰
 
SSH Keys   Add SSH Keys   #gitlib中添加公鑰

ssh-rsa AAA******************************abYbpG9LGv/EfAV4Uulc4YreEcTfVfVgqFpQn+rCUiKZlYj1xEEjjsgm0ksnbn02sRkL4************************************************************avGXSE+3EM******************************a50n4Iqk7G5D1qkfaoIRYw******************************aZtznmmii8xQyIWDri******************************ai4yD28XUYLPbW3jAlaK5+vjvq******************************aD2jIpUDmCNChLvNyPonb0+L/Mxe******************************a root@localhost.localdomain

6.配置maven項(xiàng)目

1)General

描述                | scats-import 測(cè)試

GitHub項(xiàng)目 
項(xiàng)目 URL            | git@192.168.20.105:productbusiness/scats-import.git/
GitLab Connection   | 192.168.20.105

2)源碼管理

Git

Repository URL       |   git@192.168.20.105:productbusiness/scats-import.git
Credentials          |   私鑰認(rèn)證(重點(diǎn)5酚颉L淙尽! 即使git公鑰認(rèn)證焕梅,gitlabtoken令牌認(rèn)證迹鹅,此處仍需私鑰認(rèn)證)

3)Build

Root POM            | pom.xml
Goals and options   | clean package -Dmaven.test.skip=true

4)構(gòu)建后操作(打好包后推到服務(wù)器)

安裝deploy插件

Send build artifacts over SSH

web層配置
Source files       |   target/*.war
Remote prefix      |   target
Remote directory   |   /recommandWeb/tomcat/webapps
Exec command       |   /home/jenkins/sh/deploy.sh

svc層配置(dubbo項(xiàng)目需要,mvc只需要web層)
Source files       |   enjoyor-superpower-traffic-svc/target/*.war
Remote prefix      |   enjoyor-superpower-traffic-svc/target/
Remote directory   |   /trafficSvc/tomcat/webapps
Exec command       |   /home/jenkins/sh/trafficsvc.sh

注意事項(xiàng)U暄浴斜棚!
1、Remote prefix:是Source files需要?jiǎng)h除的前綴(war包所屬相對(duì)路徑的前綴)该窗。Source files 減 Remote prefix 能拿到純粹的war包

2弟蚀、Remote directory為Publish over SSH步驟后的相對(duì)路徑;Exec command為絕對(duì)路徑酗失。 均為目標(biāo)服務(wù)器路徑

5)deploy.sh是自己寫shell腳本的文件
舉例如下:

#!/bin/bash
echo "*************  刪除       舊包 *************"
cd  /usr/local/services/services/service/interSvc/tomcat/webapps;  rm -rf intersvc
echo "*************  tomcat shutdown *************"
cd  /usr/local/services/services/service/interSvc/tomcat/bin; ./shutdown.sh
echo "*************  tomcat  startup *************"
cd  /usr/local/services/services/service/interSvc/tomcat/bin; ./startup.sh

7.修改工作空間和日志的路徑

service jenkins stop

cd  /etc/sysconfig

vim jenkins

JENKINS_HOME="/home/jenkins/workspace"

JENKINS_USER="root"

service jenkins start

三义钉、結(jié)合Git+NodeJs 實(shí)現(xiàn)前端項(xiàng)目的持續(xù)集成

1.Manage Plugins

安裝nodejs插件操作 同上

2.下載nodejs和npm

wget https://npm.taobao.org/mirrors/node/v10.15.0/node-v10.15.0-linux-x64.tar.xz 

tar xf  node-v10.15.0-linux-x64.tar.xz
 
cd node-v10.15.0-linux-x64/ 

./bin/node -v   

ln -s /home/nodejs/node-v10.15.0-linux-x64/bin/node  /usr/bin/

ln -s /home/nodejs/node-v10.15.0-linux-x64/bin/npm  /usr/bin/

chown -R  root:root ./  #進(jìn)入node安裝目錄,執(zhí)行

3.jenkins全局配置

Global Tool Configuration

NodeJS

別名           | NodeJs v10.15.0
安裝目錄       | /home/nodejs/node-v10.15.0-linux-x64/bin

#安裝目錄到 實(shí)際目錄的bin層為止规肴!

4.創(chuàng)建前端項(xiàng)目

  1. 創(chuàng)建一個(gè)自由風(fēng)格的項(xiàng)目

2)General

描述                | signalExpert  信號(hào)專家前端

GitLab Connection   |    192.168.20.105

3)源碼管理

Git

Repository URL    | git@192.168.20.105:productbusinessfront/hangzhousingalexpertv2.git

Credentials       |    root 

4)構(gòu)建環(huán)境

Provide Node & npm bin/ folder to PATH

NodeJS Installation   |    NodeJs v10.15.0
npmrc file            |  - use system default -
Cache location        |    Default

5)構(gòu)建

Execute shell

npm install
npm run build
cd dist
rm -rf signalExpert.tar.gz #刪除上次打包生成的壓縮文件
tar -zcvf signalExpert.tar.gz * #把生成的項(xiàng)目打包成test方便傳輸?shù)竭h(yuǎn)程服務(wù)器

6)構(gòu)建后操作

Send build artifacts over SSH

Name  192.168.25.98_web

Source files       |   dist/signalExpert.tar.gz
Remote prefix      |   dist
Remote directory   |   trafficWeb/tomcat/webapps
Exec command       |   /home/jenkins/sh/trafficweb_signalExpert.sh

啟動(dòng)腳本
舉例如下

#!/bin/bash
echo "*************  刪除       舊包 *************"
cd  /usr/local/tomcat/trafficWeb/tomcat/webapps; rm -rf signalExpert;
echo "*************  解           壓 *************"
mkdir dist;
tar -zxvf  signalExpert.tar.gz -C dist;
echo "*************  刪除     壓縮包 *************"
rm -rf signalExpert.tar.gz;
echo "*************       重命名     *************"
mv dist/  signalExpert;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載捶闸,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者夜畴。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市删壮,隨后出現(xiàn)的幾起案子贪绘,更是在濱河造成了極大的恐慌,老刑警劉巖央碟,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件税灌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡硬耍,警方通過(guò)查閱死者的電腦和手機(jī)垄琐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門边酒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)经柴,“玉大人,你說(shuō)我怎么就攤上這事墩朦∨魅希” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵氓涣,是天一觀的道長(zhǎng)牛哺。 經(jīng)常有香客問(wèn)我,道長(zhǎng)劳吠,這世上最難降的妖魔是什么引润? 我笑而不...
    開(kāi)封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮痒玩,結(jié)果婚禮上淳附,老公的妹妹穿的比我還像新娘。我一直安慰自己蠢古,他們只是感情好奴曙,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著草讶,像睡著了一般洽糟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上堕战,一...
    開(kāi)封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天坤溃,我揣著相機(jī)與錄音,去河邊找鬼嘱丢。 笑死薪介,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的屿讽。 我是一名探鬼主播昭灵,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼吠裆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了烂完?” 一聲冷哼從身側(cè)響起试疙,我...
    開(kāi)封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎抠蚣,沒(méi)想到半個(gè)月后祝旷,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嘶窄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年怀跛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柄冲。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吻谋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出现横,到底是詐尸還是另有隱情漓拾,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布戒祠,位于F島的核電站骇两,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏姜盈。R本人自食惡果不足惜低千,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望馏颂。 院中可真熱鬧示血,春花似錦、人聲如沸饱亮。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)近上。三九已至剔宪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間壹无,已是汗流浹背葱绒。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留斗锭,地道東北人地淀。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像岖是,于是被迫代替她去往敵國(guó)和親帮毁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子实苞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359