Linux版 jenkins自動(dòng)化部署

Linux版 jenkins自動(dòng)化部署目錄.png

注意:本片配置:jenkins服務(wù)器和應(yīng)用服務(wù)器不在同一臺(tái)機(jī)器上,且應(yīng)用服務(wù)器 負(fù)責(zé)流執(zhí)行程 (推薦)。
流程:代碼上傳->gitlab通知->jenkins服務(wù)器執(zhí)行構(gòu)建->遠(yuǎn)程應(yīng)用服務(wù)器git下拉->遠(yuǎn)程應(yīng)用服務(wù)器maven打包->發(fā)送到遠(yuǎn)程應(yīng)用服務(wù)器的tomcat->發(fā)布

以下是配置說(shuō)明:
需要兩臺(tái)服務(wù)器:一臺(tái)部署jenkins服務(wù)器、另一臺(tái)部署應(yīng)用服務(wù)器。
要求:兩臺(tái)服務(wù)器可以互相通信。
部署jenkins服務(wù)器(Linux1): jdk、jenkins、tomcat(可選,但不推薦)
部署應(yīng)用服務(wù)器(Linux2): jdk、git、maven、tomcat

說(shuō)明一下:部署的jenkins服務(wù)器可以是內(nèi)網(wǎng)本地,應(yīng)用服務(wù)器可以是外網(wǎng)環(huán)境的云服務(wù)器。Jenkins也是可以實(shí)現(xiàn)手動(dòng)或輪詢的方式構(gòu)建到應(yīng)用服務(wù)器的,但,不能使用gitlab通知jenkins自動(dòng)構(gòu)建,因,gitlab找不到你的內(nèi)網(wǎng)地址。

一、部署jenkins服務(wù)器(Linux1)

1、安裝jdk1.8

yum install java

2、安裝jenkins

前提環(huán)境:jdk1.8
下載地址:jenkins.war 穩(wěn)定版

[root@VM_0_11_centos ~]# ls
jdk1.8  jdk-8u221-linux-x64.tar.gz  jenkins.war
[root@VM_0_11_centos ~]# java -jar jenkins.war

訪問(wèn):ip:8080
http://49.235.71.163:8080
創(chuàng)建用戶:admin/admin 用戶名:zhengja

2.1jenkins 插件安裝(推薦)

Safe Restart 方便重啟jenkins,每次配置jenkins需要重啟讓配置生效
Rebuilder 方便重新構(gòu)建
Git Parameters 確定構(gòu)建哪個(gè)分支

2.2jenkins 基礎(chǔ)配置

  • 安全性配置
    • 系統(tǒng)管理->全局安全配置:


      admin.png

1.去掉 允許用戶注冊(cè)
2.選用 安全矩陣 ->Add user or group... ->輸入剛創(chuàng)建的admin,賦予全部權(quán)限,保存

二、部署應(yīng)用服務(wù)器(Linux2)

環(huán)境: jdk1.8,git,maven,tomcat8

1,開(kāi)啟ssh

[root@VM_0_6_centos ~]# netstat -anp|grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*            
tcp        0     36 172.16.0.6:22           211.161.248.60:22447 
[root@VM_0_6_centos ~]# service sshd start
Redirecting to /bin/systemctl start sshd.service

2,關(guān)閉防火墻(內(nèi)網(wǎng)環(huán)境相對(duì)安全)

安裝iptables
如果你要改用iptables的話,需要安裝iptables服務(wù):

#安裝
sudo yum install iptables-services 
#開(kāi)啟iptables
sudo systemctl enable iptables 
sudo systemctl enable ip6tables 
#啟動(dòng)服務(wù)
sudo systemctl start iptables 
sudo systemctl start ip6tables

關(guān)閉防火墻:

[root@VM_0_6_centos ~]# service iptables stop
Redirecting to /bin/systemctl stop iptables.service
[root@VM_0_6_centos ~]# service iptables status
Redirecting to /bin/systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Thu 2019-09-26 21:28:33 CST; 6s ago
  Process: 9537 ExecStop=/usr/libexec/iptables/iptables.init stop (code=exited, status=0/SUCCESS)
  Process: 9354 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
 Main PID: 9354 (code=exited, status=0/SUCCESS)

Sep 26 21:27:28 VM_0_6_centos systemd[1]: Starting IPv4 firewall with iptables...
Sep 26 21:27:28 VM_0_6_centos iptables.init[9354]: iptables: Applying firewall rules: [  OK  ]
Sep 26 21:27:28 VM_0_6_centos systemd[1]: Started IPv4 firewall with iptables.
Sep 26 21:28:33 VM_0_6_centos systemd[1]: Stopping IPv4 firewall with iptables...
Sep 26 21:28:33 VM_0_6_centos iptables.init[9537]: iptables: Setting chains to policy ACCEPT: filte...  ]
Sep 26 21:28:33 VM_0_6_centos iptables.init[9537]: iptables: Flushing firewall rules: [  OK  ]
Sep 26 21:28:33 VM_0_6_centos systemd[1]: Stopped IPv4 firewall with iptables.
Hint: Some lines were ellipsized, use -l to show in full.
[root@VM_0_6_centos ~]# 


Stopped IPv4 firewall with iptables 說(shuō)明防火墻已關(guān)閉

2,安裝 jdk

2.1 方式一:普通安裝方式:(下載慢)

yum install java
java -version

2.2 方式二:安裝指定版本:java1.8(下載慢)

  • 在線下載jdk (下載比較慢)
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm

  • 賦權(quán)限
chmod +x jdk-8u131-linux-x64.rpm
  • 進(jìn)行安裝
rpm -ivh jdk-8u131-linux-x64.rpm
  • 查看是否安裝成功
java -version

默認(rèn)安裝路徑為 /usr/java/jdk1.8.0_131

  • 編輯環(huán)境變量
vim /etc/profile

環(huán)境變量為

export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
  • 使得配置立即生效
source /etc/profile
  • 查看是否安裝成功
javac
java -version
echo $PATH

2.3 方式三:下載jdk1.8上傳linux服務(wù)器(安裝快-推薦)

下載:jdk-8u221-linux-x64.tar.gz
放到 /usr/local ,解壓

tar -zxvf jdk-8u221-linux-x64.tar.gz

改名 jdk1.8

mv jdk1.8.0_221 jdk1.8
[root@VM_0_6_centos local]# ls
bin  etc  games  include  jdk1.8  lib  lib64  libexec  qcloud  sbin  share  src  yd.socket.server

配置jdk1.8環(huán)境變量

[root@VM_0_6_centos jdk1.8]# pwd
/usr/local/jdk1.8
[root@VM_0_6_centos jdk1.8]# vi /etc/profile

環(huán)境變量為

export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

退出文件,保存
按Esc鍵 輸入:wq 保存并退出
讓配置文件生效:

[root@VM_0_6_centos jdk1.8]# source /etc/profile

查看是否配置成功:

[root@VM_0_6_centos jdk1.8]# java -version
java version "1.8.0_221"

若出現(xiàn)jdk版本號(hào),則安裝并配置環(huán)境變量成功
如果提示命令找不到的話,查看一下jdk的配置路徑是否錯(cuò)誤。
刪除安裝包(可選):rm -rf jdk-8u221-linux-x64.tar.gz

3、安裝 git

方式一:git安裝(舊版本)

[root@VM_0_6_centos local]# yum install git
[root@VM_0_6_centos local]# git --version
git version 1.8.3.1

方式二:gti安裝(最新版本—推薦)

1、獲取github最新的Git安裝包下載鏈接,下載新版本 git-2.9.5.tar.gz 上傳到linux;
2、壓縮包解壓:

sudo tar -zxvf git-2.9.5.tar.gz

3、進(jìn)入解壓后的文件夾:

cd git-2.9.5

4、執(zhí)行編譯:耐心等待編譯即可

make prefix=/usr/local/git all

5、安裝Git至/usr/local/git路徑,命令為

make prefix=/usr/local/git install

6、打開(kāi)環(huán)境變量配置文件,命令 ,在底部加上Git相關(guān)配置信息:

vim /etc/profile

PATH=$PATH:/usr/local/git/bin
export PATH

然后wq保存,退出!
讓配置文件生效:

source /etc/profile

7、輸入命令 git --version ,查看安裝的git版本,校驗(yàn)通過(guò),安裝成功。
8、刪除安裝包(可選):rm -rf git-2.9.5.tar.gz
9、查看git安裝路徑:
Linux-如果不清楚自己的Git安裝在哪個(gè)路徑下,終端執(zhí)行

whereis git

配置:/usr/local/git/bin/git

生成ssh密鑰 配置git

ssh公鑰可以配置gitlab、github等,
ssh私鑰可配置jenkins憑證等。
用戶和郵箱不要求真實(shí)

[root@VM_0_6_centos ~]# git config --global user.name "zhengja"
[root@VM_0_6_centos ~]# git config --global user.email "zhengja@dist.com"
[root@VM_0_6_centos ~]# ssh-keygen -t rsa -C "zhengja@dist.com"
Enter file in which to save the key (/root/.ssh/id_rsa):
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:EqKVJUBpxVYpswJifGiXyplLTUcBYFNaMxaODZQPUmc zhengja@dist.com
The key's randomart image is:
+---[RSA 2048]----+
|oOO&E++.         |
|=B%BB=.          |
|*=@+=+.          |
| *.=.. .         |
|. o.  . S        |
| .     .         |
|                 |
|                 |
|                 |
+----[SHA256]-----+

拿到公鑰配置gitlab

[root@VM_0_6_centos local]# cd /root/.ssh/
[root@VM_0_6_centos .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
[root@VM_0_6_centos .ssh]# vim id_rsa.pub 

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcArp9fBpi7CWJ50dQQTHbLfRkMyhVuox7bFEeYu3kaFYO3ECInfiBEK8PdYAKPjGWRirYQGCBQlsSzGd4F3sVTQH4ePk0bk/iAwnZsgOBgMgyZW6c00u+afJ/h8PNRK2xr60kB3n4no4UDov4hsuGdCKhavrHRzs3s6H+b7WKxILdSwZ7BpduGZGCOug8JtcnwF1mmMKi0YH0KrIxnrOR9GHT+wHAyJ5WjYU4Xzr+ZIGN6MfrM7X99y/uyMsrv8nzliMxWpFxduYAkKkfrqf46Y18oZfn5VdXhfnvyd+FqWTPdtJF2EZtKdhwGnouuyTdESQP3PPacFM1ZeW58R/T zhengja@dist.com

gitlab 配置公鑰.png

測(cè)試:


gitlab 配置公鑰測(cè)試.png

測(cè)試:git命令克隆sshUrl到本地

git clone sshURL

4、安裝 maven

下載 apache-maven-3.6.2-bin.zip ,上傳到linux系統(tǒng)并解壓

[root@VM_0_6_centos local]# ls
apache-maven-3.6.2-bin.zip  etc    include  lib    libexec  sbin   src
bin                         games  jdk1.8   lib64  qcloud   share  yd.socket.server
[root@VM_0_6_centos local]# unzip apache-maven-3.6.2-bin.zip 
[root@VM_0_6_centos local]# ls
apache-maven-3.6.2          bin  games    jdk1.8  lib64    qcloud  share  yd.socket.server
apache-maven-3.6.2-bin.zip  etc  include  lib     libexec  sbin    src

配置maven環(huán)境變量

[root@VM_0_6_centos apache-maven-3.6.2]# pwd
/usr/local/apache-maven-3.6.2
[root@VM_0_6_centos apache-maven-3.6.2]# vim /etc/profile

末尾添加(路徑要正確)

export MAVEN_HOME=/usr/local/apache-maven-3.6.2
export PATH=$MAVEN_HOME/bin:$PATH

重新加載配置-->測(cè)試maven是否配置成功

[root@VM_0_6_centos apache-maven-3.6.2]# . /etc/profile
[root@VM_0_6_centos apache-maven-3.6.2]# mvn -version
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: /usr/local/apache-maven-3.6.2
Java version: 1.8.0_221, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8/jre

刪除安裝包(可選):rm -rf apache-maven-3.6.2-bin.zip

5、安裝 tomcat

下載 tomcat8 ,上傳到linux,并解壓

[root@VM_0_6_centos local]# unzip apache-tomcat-8.5.46.zip 
[root@VM_0_6_centos local]# ls
apache-maven-3.6.2        bin    include  lib64    sbin   yd.socket.server
apache-tomcat-8.5.46      etc    jdk1.8   libexec  share
apache-tomcat-8.5.46.zip  games  lib      qcloud   src

配置tomcat
給tomcat下的所有文件授給任何人都可執(zhí)行的權(quán)限

[root@VM_0_6_centos local]# cd apache-tomcat-8.5.46/
[root@VM_0_6_centos apache-tomcat-8.5.46]# chmod a+x -R *

修改tomcat端口為8090

[root@VM_0_6_centos apache-tomcat-8.5.46]# vim conf/server.xml

<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

啟動(dòng)tomcat:

[root@VM_0_6_centos apache-tomcat-8.5.46]# bin/startup.sh

查看tomcat是否啟動(dòng)成功

[root@VM_0_6_centos apache-tomcat-8.5.46]# ps -ef|grep tomcat

root 22857 1 29 19:12 pts/0 00:00:02 /usr/local/jdk1.8/bin/java -Dcatalina.base=/usr/local/apache-tomcat-8.5.46 -Dcatalina.home=/usr/local/apache-tomcat-8.5.46 -Djava.io.tmpdir=/usr/local/apache-tomcat-8.5.46/temp org.apache.catalina.startup.Bootstrap start
root 27474 19080 0 10:10 pts/0 00:00:00 grep --color=auto tomcat

啟動(dòng)成功標(biāo)識(shí)!

關(guān)閉tomcat:
首先,進(jìn)入Tomcat下的bin目錄

cd /usr/local/tomcat/bin
使用./shutdown.sh或者是sh shutdown.sh關(guān)閉Tomcat

想直接直接殺死Tomcat進(jìn)程(進(jìn)程號(hào): 22857),使用kill命令

kill -9 22857

三、jenkins節(jié)點(diǎn)Slave配置

jenkins主機(jī)環(huán)境:java、jenkins

1、Linux 的 Slave機(jī)器設(shè)置

作為slave的Linux機(jī)器為centos系統(tǒng).
ip: 129.204.207.127
環(huán)境:java1.8、maven、git、tomcat:8090
路徑:

java : /usr/local/jdk1.8
maven : /usr/local/apache-maven-3.6.2
git : /usr/local/git
tomcat: /usr/local/apache-tomcat-8.5.46

環(huán)境變量:vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.8
export PATH=JAVA_HOME/bin:PATH
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
PATH=PATH:/usr/local/git/bin export PATH export MAVEN_HOME=/usr/local/apache-maven-3.6.2 export PATH=MAVEN_HOME/bin:$PATH

用戶:root/123
生成ssh:私鑰、公鑰 [Linux生成SSH密鑰方式](其它/SSH 證書生成(Linux、windows).md)
節(jié)點(diǎn)Slave生成:authorized_keys 并授權(quán)

[root@VM_0_6_centos ~]# cd .ssh
[root@VM_0_6_centos .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
[root@VM_0_6_centos .ssh]# cat id_rsa.pub > authorized_keys
[root@VM_0_6_centos .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
[root@VM_0_6_centos .ssh]# chmod 700 authorized_keys

2、jenkins配置節(jié)點(diǎn)slave憑證

獲取節(jié)點(diǎn)Slave私鑰:id_rsa

[root@VM_0_6_centos ~]# cd /root/.ssh
[root@VM_0_6_centos .ssh]# vim id_rsa

創(chuàng)建節(jié)點(diǎn)憑證:root/私鑰


節(jié)點(diǎn)配置5.png

3、創(chuàng)建節(jié)點(diǎn)slave
系統(tǒng)管理->節(jié)點(diǎn)管理->新建節(jié)點(diǎn):
節(jié)點(diǎn)名稱:Linux_127 、 選著固定節(jié)點(diǎn) -->確定


節(jié)點(diǎn)配置6.png

查看節(jié)點(diǎn)列表:顯示節(jié)點(diǎn)磁盤大小說(shuō)明配置成功


節(jié)點(diǎn)配置7.png

測(cè)試節(jié)點(diǎn):
新建任務(wù):任務(wù)名稱:springboot-test-gitlab、選擇:構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目

節(jié)點(diǎn)配置8.png

節(jié)點(diǎn)配置9.png

執(zhí)行立即構(gòu)建

控制臺(tái)輸出:

成功控制臺(tái)輸出
Started by user zhengja
Running as SYSTEM
Building remotely on Linux_127 in workspace /root/.jenkins/workspace/springboot-test-gitlab
[springboot-test-gitlab] $ /bin/sh -xe /tmp/jenkins1901112003247678190.sh
+ ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:edff:fe35:28c8  prefixlen 64  scopeid 0x20<link>
        ether 02:42:ed:35:28:c8  txqueuelen 0  (Ethernet)
        RX packets 510  bytes 75763 (73.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 489  bytes 56366 (55.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
group default 
    link/ether c2:51:e9:ca:47:56 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::c051:e9ff:feca:4756/64 scope link 
       valid_lft forever preferred_lft forever
Finished: SUCCESS

中文解釋:

成功控制臺(tái)輸出
由用戶zhengja發(fā)起
作為系統(tǒng)運(yùn)行
上遠(yuǎn)程構(gòu)建Linux_127在工作區(qū)/root/.jenkins/workspace/springboot-test-gitlab
[springboot-test-gitlab] $ / bin / sh -xe /tmp/jenkins1901112003247678190.sh
+ ifconfig
docker0:標(biāo)志= 4163 <UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet 172.17.0.1網(wǎng)絡(luò)掩碼255.255.0.0廣播172.17.255.255
        inet6 fe80 :: 42:edff:fe35:28c8 prefixlen 64 scopeid 0x20 <link>
        以太網(wǎng)02:42:ed:35:28:c8 txqueuelen 0(以太網(wǎng))
        RX數(shù)據(jù)包510字節(jié)75763(73.9 KiB)
        接收錯(cuò)誤0掉線0超限0幀0
        TX數(shù)據(jù)包489字節(jié)56366(55.0 KiB)
        TX錯(cuò)誤0掉線0超限0載波0沖突0
組默認(rèn) 
    鏈接/以太c2:51:e9:ca:47:56 brd ff:ff:ff:ff:ff:ff:ff鏈接netnsid 0
    inet6 fe80 :: c051:e9ff:feca:4756/64作用域鏈接 
       永久有效_lft永久首選_lft
已完成:成功

配置節(jié)點(diǎn)成功!

四、創(chuàng)建一個(gè)任務(wù)(使用節(jié)點(diǎn)環(huán)境)

目的:代碼上傳->gitlab通知->jenkins服務(wù)器執(zhí)行構(gòu)建->遠(yuǎn)程應(yīng)用服務(wù)器git下拉->遠(yuǎn)程應(yīng)用服務(wù)器maven打包->發(fā)送到遠(yuǎn)程應(yīng)用服務(wù)器的tomcat->發(fā)布

deploy.sh腳本在springboot-test-gitlab/deploy.sh 項(xiàng)目根目錄下
其中項(xiàng)目中的腳本:deploy.sh

#!/usr/bin/env bash
#編譯+部署項(xiàng)目站點(diǎn)

#需要配置如下參數(shù)
# 項(xiàng)目路徑, 在Execute Shell中配置項(xiàng)目路徑, pwd 就可以獲得該項(xiàng)目路徑
# export PROJ_PATH=這個(gè)jenkins任務(wù)在部署機(jī)器上的路徑
# export PROJ_PATH=/root/.jenkins

# 輸入你的環(huán)境上tomcat的全路徑
# export TOMCAT_APP_PATH=tomcat在部署機(jī)器上的路徑
# export TOMCAT_APP_PATH=/usr/local/apache-tomcat-8.5.46

### base 函數(shù)
killTomcat()
{
    pid=`ps -ef|grep tomcat|grep java|awk '{print $2}'`
    echo "tomcat Id list :$pid"
    if [ "$pid" = "" ]
    then
      echo "no tomcat pid alive"
    else
      kill -9 $pid
    fi
    #上面注釋的或者下面的
    #cd $TOMCAT_APP_PATH/bin
    #sh shutdown.sh
}
cd $PROJ_PATH/workspace/springboot-test-gitlab2/springboot
mvn clean install

# 停tomcat
killTomcat

# 刪除原有工程
#rm -rf $TOMCAT_APP_PATH/webapps/ROOT
#rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -f $TOMCAT_APP_PATH/webapps/springboot-test-gitlab.war

# 復(fù)制新的工程到tomcat上
cp $PROJ_PATH/workspace/springboot-test-gitlab2/springboot/target/springboot-test-gitlab-0.0.1-SNAPSHOT.war $TOMCAT_APP_PATH/webapps/

cd $TOMCAT_APP_PATH/webapps/
mv springboot-test-gitlab-0.0.1-SNAPSHOT.war springboot-test-gitlab.war

# 啟動(dòng)Tomcat
cd $TOMCAT_APP_PATH/
sh bin/startup.sh

創(chuàng)建一個(gè)任務(wù)
名稱:springboot-test-gitlab2
類型: 一個(gè)自由風(fēng)格的任務(wù)

gitlab2_2.png

源碼管理:
gitlab配置節(jié)點(diǎn)的ssh公鑰,配置參考:[SSH 證書生成(Linux、windows).md](其它/SSH 證書生成(Linux、windows).md) 中的 “二、Linux生成證書-->3.證書使用-例如:配置gitlab”。


gitlab2_1.png

構(gòu)建觸發(fā)器配置:
請(qǐng)參考:jenkins構(gòu)建觸發(fā)器配置中的_代碼提交—>gitlab通知jenkins構(gòu)建.

gitlab2_5.png

構(gòu)建配置:


gitlab2_3.png

BUILD_ID=DONTKILLME
. /etc/profile
export PROJ_PATH=/root/.jenkins
export TOMCAT_APP_PATH=/usr/local/apache-tomcat-8.5.46
sh $PROJ_PATH/workspace/springboot-test-gitlab2/springboot/deploy.sh

保存->執(zhí)行構(gòu)建
執(zhí)行構(gòu)建結(jié)果:

Started by GitLab push by zhengja
Started by user zhengja
Rebuilds build #7
Running as SYSTEM
Building remotely on Linux_127 in workspace /root/.jenkins/workspace/springboot-test-gitlab2
No credentials specified
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url ssh://git@elbgit-1200450932.cn-northwest-1.elb.amazonaws.com.cn:5337/zhengja/springboot-test-gitlab.git # timeout=10
Fetching upstream changes from ssh://git@elbgit-1200450932.cn-northwest-1.elb.amazonaws.com.cn:5337/zhengja/springboot-test-gitlab.git
 > git --version # timeout=10
 > git fetch --tags --progress ssh://git@elbgit-1200450932.cn-northwest-1.elb.amazonaws.com.cn:5337/zhengja/springboot-test-gitlab.git +refs/heads/*:refs/remotes/origin/*
...........
.........
..........
09:28:22.884 [main] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true, server.port=-1}

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.8.RELEASE)

2019-09-30 09:28:23.541  INFO 29490 --- [           main] d.s.SpringbootTestGithubApplicationTests : Starting SpringbootTestGithubApplicationTests on VM_0_6_centos with PID 29490 (started by root in /root/.jenkins/workspace/springboot-test-gitlab2/springboot)
................
............
........
[INFO] Installing /root/.jenkins/workspace/springboot-test-gitlab2/springboot/pom.xml to /root/.m2/repository/com/dist/springboot-test-gitlab/0.0.1-SNAPSHOT/springboot-test-gitlab-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  16.105 s
[INFO] Finished at: 2019-09-30T09:28:31+08:00
[INFO] ------------------------------------------------------------------------
tomcat Id list :29272
Tomcat started.
Finished: SUCCESS

訪問(wèn):http://129.204.207.127:8090/springboot-test-gitlab/

html頁(yè)面顯示:

進(jìn)入首頁(yè)
測(cè)試自動(dòng)構(gòu)建是否成功
測(cè)試gitlab-->通知jenkins自動(dòng)構(gòu)建

到此,項(xiàng)目的自動(dòng)部署及發(fā)布完成!

五、配置郵箱通知

目的:代碼上傳->gitlab通知->jenkins服務(wù)器執(zhí)行構(gòu)建->遠(yuǎn)程應(yīng)用服務(wù)器git下拉->遠(yuǎn)程應(yīng)用服務(wù)器maven打包->發(fā)送到遠(yuǎn)程應(yīng)用服務(wù)器的tomcat->發(fā)布->郵箱通知

參考 :jenkins 郵箱通知配置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,698評(píng)論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,202評(píng)論 3 426
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 177,742評(píng)論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 63,580評(píng)論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,297評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 55,688評(píng)論 1 327
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,693評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 42,875評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,438評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,183評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,384評(píng)論 1 372
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,931評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,612評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 35,022評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 36,297評(píng)論 1 292
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,093評(píng)論 3 397
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,330評(píng)論 2 377