Jenkins企業應用

一,CI/CD,DevOps介紹java

持續集成(Continuous Integration,CI):linux

代碼合併,構建,部署,測試都在一塊兒,不斷地執行這個過程,並對結果反饋git

持續交付(Continuous Delivery,CD):web

部署到生產環境,給用戶使用apache

持續部署(Continuous Deployment,CD): vim

部署到生產環境瀏覽器

二,部署Git版遠程倉庫安全

2.1 系統環境要求bash

主機名服務器

IP地址

備註

Git

10.1.1.135

Git服務器

Jenkins

10.1.1.134

Jenkins服務器

[root@Git ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@Git ~]# uname -r
3.10.0-862.el7.x86_64
[root@Git ~]# systemctl stop firewalld
[root@Git ~]# systemctl disable firewalld
[root@Git ~]# systemctl stop NetworkManager
[root@Git ~]# systemctl disable NetworkManager

2.2 部署Git版遠程倉庫

在Git服務器上進行以下操做

安裝Git

[root@Git ~]# yum -y install git

建立Git帳戶

[root@Wangwenli ~]# useradd git
[root@Wangwenli ~]# passwd git
Changing password for user git.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.

[root@Wangwenli ~]# su - git

建立Git遠程倉庫

[git@Wangwenli ~]$ mkdir repos  #建立Git倉庫目錄
[git@Wangwenli ~]$ cd repos/
[git@Wangwenli repos]$ mkdir app.git     #建立app的項目目錄
[git@Wangwenli repos]$ pwd
/home/git/repos
[git@Wangwenli repos]$ cd app.git/
[git@Wangwenli app.git]$ pwd
/home/git/repos/app.git
[git@Wangwenli app.git]$ export LANG=zh_CN.UTF8
[git@Wangwenli app.git]$ git --bare init        #--bare建立一個裸倉庫(只用做遠程推送倉庫不支持本地git命令)
初始化空的 Git 版本庫於 /home/git/repos/app.git/
[git@Wangwenli app.git]$ ls
branches  config  description  HEAD  hooks  info  objects  refs

說明:

使用」git init –bare」方法建立一個所謂的裸倉庫,之因此叫裸倉庫是由於這個倉庫只保存git歷史提交的版本信息,而不容許用戶在上面進行各類git操做,若是你硬要操做的話,只會獲得下面的錯誤(」This operation must be run in a work tree」)

[git@Wangwenli app.git]$ git status
fatal: This operation must be run in a work tree

2.3 在Jenkins服務器進行git代碼遠程推送測試

在Jenkins服務器上進行以下操做

安裝Git

[root@Jenkins ~]# yum -y install git

建立一個目錄,嘗試git clone遠程Git服務器倉庫的代碼

[root@Jenkins ~]# mkdir /test
[root@Jenkins ~]# cd /test
[root@Jenkins test]# git clone git@10.1.1.135:/home/git/repos/app.git
正克隆到 'app'...
Warning: Permanently added '10.1.1.135' (ECDSA) to the list of known hosts.
git@10.1.1.135's password:       #輸入遠程服務器git用戶的密碼
warning: 您彷佛克隆了一個空版本庫。
[root@Jenkins test]# ls
app
[root@Jenkins test]# ls app/
[root@Jenkins test]#
進行代碼提交測試
[root@Jenkins test]# cd app/
[root@Jenkins app]# touch test
[root@Jenkins app]# echo "nihao" >> test
[root@Jenkins app]# cat test
nihao

配置git全局配置

[root@Jenkins app]# git config --global user.email "1409156706@qq.com"
[root@Jenkins app]# git config --global user.name "wwl"

進行代碼提交測試

[root@Jenkins app]# git add *       #將文件添加到本地暫存區
[root@Jenkins app]# git commit -m '測試提交'
[master(根提交) b332f94] 測試提交
 1 file changed, 1 insertion(+)
 create mode 100644 test

查看遠程倉庫

[root@Jenkins app]# git remote -v
origin    git@10.1.1.135:/home/git/repos/app.git (fetch)
origin    git@10.1.1.135:/home/git/repos/app.git (push)

將代碼推送到遠程倉庫的master分支

[root@Jenkins app]# git push -u origin master
git@10.1.1.135's password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 218 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@10.1.1.135:/home/git/repos/app.git
 * [new branch]      master -> master
分支 master 設置爲跟蹤來自 origin 的遠程分支 master。

查看分支狀況
[root@Jenkins app]# git branch -a
* master      #本地當前所處分支
  remotes/origin/master   #遠程倉庫已有分支

2.4 在Jenkins服務器進行SSH免密鑰操做

[root@Jenkins ~]# ssh-keygen
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:y52N6b4BwLMDfluJQjw/oZFXX5tJxSHBdwsls7txtzs root@Jenkins
The key's randomart image is:
+---[RSA 2048]----+
|        .  .=*+o |
|   . o . . o.** .|
|    B *   . +o...|
|   o B * .    .. |
|    + B S    o ..|
|     o * + =  + o|
|      . o * .. . |
|         . .   E.|
|         .+.   ..|
+----[SHA256]-----+

進行公鑰分發

[root@Jenkins ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub git@10.1.1.135
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_
rsa.pub"/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filt
er out any that are already installed/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are pro
mpted now it is to install the new keysgit@10.1.1.135's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'git@10.1.1.135'"
and check to make sure that only the key(s) you wanted were added.

測試免密鑰的git推送測試

[root@Jenkins ~]# cd /test/app/
[root@Jenkins app]# ls
test
[root@Jenkins app]# echo "kakakakaka" >> test
[root@Jenkins app]# tail -1 test
kakakakaka
[root@Jenkins app]# git add *
[root@Jenkins app]# git commit -m '免祕鑰推送測試'
[master a2d4e32] 免祕鑰推送測試
 1 file changed, 1 insertion(+)
[root@Jenkins app]# git push -u origin master
Counting objects: 5, done.
Writing objects: 100% (3/3), 268 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@10.1.1.135:/home/git/repos/app.git
   b332f94..a2d4e32  master -> master
分支 master 設置爲跟蹤來自 origin 的遠程分支 master。

三,Jenkins的企業應用管理

jenkins官網:https://jenkins.io/ 
redhat版jenkins官方頁面:https://pkg.jenkins.io/redhat-stable/

3.1 Jenkins的安裝與基礎配置

安裝Jenkins的三種方法 :利用Yum源安裝,下載jenkins的rpm包安裝,jenkins的war包安裝

用Yum來安裝Jenkins

[root@Jenkins app]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins
.io/redhat-stable/jenkins.repo      下載Jenkins的yum源文件

[root@Jenkins app]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins
.io.key                 導入jenkins的rpm證書

利用Yum安裝最新版本jenkins

[root@Jenkins app]# yum -y install jenkins

查看jenkins安裝路徑

[root@Jenkins app]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins        #jenkins配置文件
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkins

下載jenkins的rpm包安裝

[root@Wangwenli ~]# yum -y localinstall jenkins-2.138.1-1.1.noarch.rpm

3.1.2 安裝和配置jdk環境

因爲jenkins是java開發的因此須要jdk支持

解壓安裝jdk

[root@Jenkins ~]# tar xf jdk-8u171-linux-x64.tar.gz -C /usr/local/
[root@Jenkins ~]# cd /usr/local/
[root@Jenkins local]# ls
bin  games    jdk1.8.0_171  lib64    sbin   src
etc  include  lib           libexec  share
[root@Jenkins local]# mv jdk1.8.0_171 jdk
[root@Jenkins local]# /usr/local/jdk/bin/java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

配置java環境

[root@Jenkins ~]# vim /etc/profile
[root@Jenkins ~]# tail -3 /etc/profile
export JAVA_HOME=/usr/local/jdk/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
[root@Jenkins ~]# source /etc/profile
[root@Jenkins ~]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

3.1.3 安裝和配置maven環境

解壓安裝maven

[root@Jenkins ~]# ll apache-maven-3.5.0-bin.tar.gz
-rw-r--r--. 1 root root 8534562 12月 29 09:51 apache-maven-3.5.0-bin.tar.gz
[root@Jenkins ~]# tar xf apache-maven-3.5.0-bin.tar.gz -C /usr/local/
[root@Jenkins ~]# cd /usr/local/
[root@Jenkins local]# ls
apache-maven-3.5.0  etc    include  lib    libexec  share
bin                 games  jdk      lib64  sbin     src
[root@Jenkins local]# mv apache-maven-3.5.0 maven
配置maven環境變量

[root@Jenkins local]# vim /etc/profile
[root@Jenkins local]# tail -2 /etc/profile
MAVEN_HOME=/usr/local/maven
export PATH=${MAVEN_HOME}/bin:$PATH

[root@Jenkins local]# source /etc/profile
[root@Jenkins local]# mvn -v
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:3
9:06+08:00)Maven home: /usr/local/maven
Java version: 1.8.0_171, vendor: Oracle Corporation
Java home: /usr/local/jdk/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.el7.x86_64", arch: "amd64", family: "u
nix"

啓動jenkins

啓動jenkins,報錯

[root@Jenkins local]# systemctl start jenkins
Job for jenkins.service failed because the control process exited with error
code. See "systemctl status jenkins.service" and "journalctl -xe" for details.

[root@Jenkins local]# systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since 六 2018-12-29 09:55:54 CST; 3min 0s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 10761 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)

12月 29 09:55:54 Jenkins systemd[1]: Starting LSB: Jenkins Automation Server...
12月 29 09:55:54 Jenkins runuser[10766]: pam_unix(runuser:session): session opened fo...0)
12月 29 09:55:54 Jenkins jenkins[10761]: Starting Jenkins bash: /usr/bin/java: No suc...ry沒有那個文件或目錄      #原來是找不到java命令
12月 29 09:55:54 Jenkins jenkins[10761]: [FAILED] 
12月 29 09:55:54 Jenkins systemd[1]: jenkins.service: control process exited, code=e...s=1
12月 29 09:55:54 Jenkins systemd[1]: Failed to start LSB: Jenkins Automation Server.
12月 29 09:55:54 Jenkins systemd[1]: Unit jenkins.service entered failed state.
12月 29 09:55:54 Jenkins systemd[1]: jenkins.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
作一個java命令的軟鏈接

[root@Jenkins local]# ln -s /usr/local/jdk/bin/java /usr/bin/

再次啓動jenkins

[root@Jenkins ~]# systemctl start jenkins
[root@Jenkins ~]# systemctl status jenkins      #正常啓動
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disable
d)   Active: active (running) since 六 2018-12-29 10:01:29 CST; 59s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 10820 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited,
status=0/SUCCESS)   CGroup: /system.slice/jenkins.service
           └─10839 /usr/bin/java -Dcom.sun.akuma.Daemon=daemonized -D...

12月 29 10:01:28 Jenkins systemd[1]: Starting LSB: Jenkins Automati....
12月 29 10:01:28 Jenkins runuser[10825]: pam_unix(runuser:session): ...
12月 29 10:01:29 Jenkins jenkins[10820]: Starting Jenkins [  OK  ]
12月 29 10:01:29 Jenkins systemd[1]: Started LSB: Jenkins Automatio....
Hint: Some lines were ellipsized, use -l to show in full.

查看jenkins監聽端口8080

[root@Jenkins ~]# netstat -antup | grep 8080
tcp6       0      0 :::8080                 :::*                    LIST
EN      10839/java    
添加開機自啓動

[root@Jenkins ~]# systemctl enable jenkins
jenkins.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig jenkins on
用瀏覽器訪問IP:8080

初始化jenkins

查看jenkins解鎖密碼,並複製到jenkins的web界面,解鎖jenkins

 [root@Wangwenli ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
7ec7b36951814f89ad49e0ac095e7bb9

 

 經常使用的系統模塊介紹

 

 

系統管理--->全局工具配置介紹

  • Maven配置: 配置maven的settings.xml配置文件的位置路徑(不修改成默認路徑)。
  • 配置JDK: 配置java命令的執行路徑;JDK是java語言的軟件開發工具包。
  • 配置Git: 配置Git的命令執行路徑;Git是分佈式版本控制軟件。
  • 配置Gradle: 配置Gradle的執行路徑;Gradle是面向java的自動化構建開源工具,同maven。
  • 配置Ant: 配置Ant的執行路徑;Ant是面向java的自動化構建開源工具,同maven。
  • 配置Maven:配置maven的命令執行路徑;maven是面向java的自動化構建開源工具。
  • 配置Docker: 配置Docker的命令執行路徑;Docker是最近大熱的容器級虛擬化產品。

全局工具配置----> 配置JDK

 

全局工具配置----> 配置Git

 

全局工具配置----> 配置maven

  • Apache Maven是一種創新的軟件項目管理工具,提供了一個項目對象模型(POM)文件的新概念來管理項目的構建,相關性和文檔。最強大的功能就是可以自動下載項目依賴的庫文件。
  • 在開發中,爲了保證編譯經過,開發會處處去尋找項目依賴的jar包(相似rpm安裝軟件時須要的一堆依賴包)
  • 所以,就要用到Maven(Ant和gradle也是幹這個的)
  • Maven其實就相似Linux的Yum倉庫,能夠自動幫咱們下載(公網源)和安裝java項目所依賴的支持包。

 

用戶權限管理

在一個成熟的企業應用環境中,jenkins是須要經過權限來控制角色功能使用的 
開發人員利用jenkins====>生產環境項目代碼版本發佈(A/B測試等) 
測試人員利用jenkins====>測試環境自動化部署 
運維人員利用jenkins====>生產環境項目代碼版本回滾

安裝插件Role-based Authorization Strategy

 

全局安全配置--->受權策略--->Role-Based Strategy

3.2.3 註冊兩個用戶(開發和測試)

 

 


 

因爲開啓了Role-Based Strategy,此時用戶沒有任何權限

 

 

3.2.4 系統管理--->Manage and Assign Roles

  • Manage Roles:權限管理
  • Assign Roles:受權管理

1)進入權限管理

  • Golbal roles:全局權限管理 
    • jenkins的總體權限分配,至少要開讀的權限
  • Project roles:項目權限管理 
    • 正則匹配具體的項目,分配管理權限

2)進入受權管理

  • Global roles:全局權限受權
  • Item roles:項目權限授

 

3)建立兩個項目分別以A-B-開頭

4)登錄用戶user1user2進行權限登錄測試

添加視圖

 

 

 

3.3 參數化構建

3.3.1 什麼是參數化構建?

參數化構建就是在執行自動構建以前能夠對構建過程手動傳入外部參數,從而改變構建的過程。

1)配置一個構建腳本,而後執行

2)添加參數化構建功能

3)執行參數構建

固然,咱們在構建的時候也能夠修改參數的默認值

 

 

3.3.2 安裝插件Extended Choice Parameter

  • Extended Choice Parameter 
    • 做用就是在參數化構建時能夠出現一個下拉框讓用戶直接選擇多個值

3.4 Git參數化構建插件

Git Parameter插件能夠直接獲取Git倉庫的branch,tag等信息

3.4.1 安裝插件Git Parameter

3.4.2 添加遠程Git倉庫的密鑰管理

因爲咱們以前用jenkins的root帳戶已經作過免密鑰鏈接git了 
所以,咱們建立SSH的密鑰管理

[root@jenkins ~]# cd ~/.ssh
[root@jenkins .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
[root@jenkins .ssh]# cat id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAs9HDwUbfAWm5paenddXXHfrCjxTH005WlNSSRo6DdDjqEmk0
Mi218ImnVFR/rorQOc53UY8DyCVldh9rO+xm+/9h2IHuHgiMwFUYV0tNXnQzuaEi
LscD7y4iB4liGRpJf29z5VEAi4VNIvSgc3CxKz5bDnwyXBYJNffOGrA42dueSLGw
Vhqkrpx6tkzUe42OpOjGnbzUhzeAETumpX0UX1lu8CpIk/ufo1O/DczhKlI7i8Qb
cS5/o1T55o4fc9bwzGH58PbfX6AYN4Rzjd2BvOL9reKKzCJvmU2PZfUAh+AIXE/z
4ndBmenmpwFD/nxDbkRiN88q2OJ1NTKGlqjRFQIDAQABAoIBACAT3HLfHKsY3ChD
9yibJAvSDuENWPRF9kYIgauagrK58G+mWsxUwS8Or03o4PoXAzw8q6Zd99O9cBMZ
WbzP2DM+BItl6j9rUQiCZZw077FY011a9EkZ8Ya6WRG1HU3TFadpD2iqAYniFreU
ogbV5JUNQ5sa5rTsrWn2McsrAolCSkTgVfrppZ4x2mBa1GGfVg6F+1yigZdABgw5
ZOhWXU2LgY0BPY/4s1m0w5EhsAxdNR1Rm7RGbso70LFtMg9VRQ+T6G6VWco/H0xy
vlcPGlYEQtJMK6wtHmJG/BDnAe/WRfd0q44pjKoI3L4Dm1X3Hs5fi3TF88RSwHLT
E8eS5CECgYEA7vQ/oRhLl9Ylqp1X40+ejy8N1GJT5jb4fX/TVCZkzmjpqzRlXxCj
317FnsQrJeOxVqkBb5r3N5juywPbERmZrXvWQOcUeEeY0c3aIp0lBUYSWpIRN7OA
QHo80BlpufpCV2Ek0Ha1h8ZVdQ35xoaMnNGvibmh3HYoy1ky1it47O0CgYEAwKWa
7D6KIMwgLNPYQzXhj18rPucK/K7wIT2TTbT0uFsDuMYQwGhLQznYTsyuS+11Ig4U
QnhW9xgSVyYwYokdLMkn+x0SMjL2wKyVCWgSkAQEUWuAb+IobGcklB7G/iSBQE3c
OH1cGtcSZrezFzfPqf6x7cq4eQ6mjWFiiqzzl8kCgYBmP1d2zFmUWAr4DanM14Xm
iODnD0gNS1pbATZhXKhn9lZ+bsYtvoYQj5IKVLCN3vdEOL8njWzZenQ7pKO5lnW+
2S2dygNlUGWg6O+9PfbYYdp6rOP3LLTlYijhdu5ZqS94ClZhaVpWBdUNaHSHsY07
kTIGwcrz9g+Qq9Nn92QgJQKBgQCbg9R5i87jxQTgSy+UqiVpINF/WPIEo5ATtWp5
W3AGduqdOb8CI+9F2KdmjVLS1mEtWaI/Ongxxkvf8GM02C0mH0jYLVKoFX4ecfNq
AYqimauGsrqfFzm8sNLVg7buKDfy2ifBrmkw/ZfMNdUsFBDe0U1/gZvDlfEbxpbP
DekjCQKBgErDnSo5qu36ev7Q9NHCJPsSHNverJ8RNBMZ9p1RxwNsInQd/9aTbGe3
0+2bq3TL9nolTHOnzj0bYdGpOOpTU3JcFOaweF0ckFEm1pZ9HtySuyvkfoX86n2m
E8MCJu75YT9zrRR+UD61eC72H4tFaI+LLDKiad5DzXCGUl0sCRzJ
-----END RSA PRIVATE KEY-----
將私鑰的內容複製一下

3.4.3 進行Git參數化構建

(1)配置Git Parameter插件

(2)配置Git遠程倉庫

[root@jenkins .ssh]# cd /test/
[root@jenkins test]# cd app/
[root@jenkins app]# ls
test
[root@jenkins app]# git branch dev
[root@jenkins app]# git checkout dev
Switched to branch 'dev'
[root@jenkins app]# git branch
* dev
  master
[root@jenkins app]# echo "dev" >> test
[root@jenkins app]# git add *
[root@jenkins app]# git commit -m "111"
[dev 6370db7] 111
 1 file changed, 1 insertion(+)
[root@jenkins app]# git push origin dev
Counting objects: 5, done.
Writing objects: 100% (3/3), 245 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@10.1.1.135:/home/git/repos/app.git
 * [new branch]      dev -> dev
[root@jenkins app]# git branch test
[root@jenkins app]# git checkout test
Switched to branch 'test'
[root@jenkins app]# git branch
  dev
  master
* test
[root@jenkins app]# echo "ll" >> test
[root@jenkins app]# git add *
[root@jenkins app]# git commit -m "111"
[test d7dcd17] 111
 1 file changed, 1 insertion(+)
[root@jenkins app]# git push origin test
Counting objects: 5, done.
Writing objects: 100% (3/3), 249 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@10.1.1.135:/home/git/repos/app.git
 * [new branch]      test -> test

 

3.5 Master-Slave架構

主機名

IP地址

備註

Git

10.1.1.135

Git服務器(Jenkins的slave節點)

Jenkins

10.1.1.134

Jenkins服務器

jenkins的分佈式構建操做,能夠經過slave代理節點來執行項目任務;

3.5.1 添加一個用於鏈接slave代理節點的SSH證書(以前已經添加過ssh的證書)

 

3.5.2 系統管理--->節點管理

特別提示: 
若是沒有設置工具位置--->jdk 
那麼jenkins會默認去/var/lib/jenkins/jdk下找java命令 
若是找不到代理就會鏈接不上

3.5.3 slave節點安裝java環境

[root@jenkins ~]# ls
anaconda-ks.cfg                jdk-8u171-linux-x64.tar.gz
apache-maven-3.5.0-bin.tar.gz  jenkins-2.138.1-1.1.noarch.rpm
[root@jenkins ~]# scp jdk-8u171-linux-x64.tar.gz root@10.1.1.135:~/
root@10.1.1.135's password:
jdk-8u171-linux-x64.tar.gz                                 100%  182MB  16.4MB/s   00:11    

解壓安裝jdk

[root@Git ~]# ls
anaconda-ks.cfg  jdk-8u171-linux-x64.tar.gz
[root@Git ~]# tar xf jdk-8u171-linux-x64.tar.gz -C /usr/local
[root@Git ~]# cd /usr/local
[root@Git local]# mv jdk1.8.0_171 jdk
[root@Git local]# /usr/local/jdk/bin/java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

配置java環境

[root@Git ~]# sed -i.org '$a export JAVA_HOME=/usr/local/jdk/' /etc/profile
[root@Git ~]# sed -i.org '$a export PATH=$PATH:$JAVA_HOME/bin' /etc/profile
[root@Git ~]# sed -i.org '$a export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools
.jar' /etc/profile[root@Git ~]# tail -3 /etc/profile
export JAVA_HOME=/usr/local/jdk/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
[root@Git ~]# source /etc/profile
[root@Git ~]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

3.5.4 啓動slave節點代理程序

3.5.5 查看slave節點啓動日誌

 

3.5.6 強制讓項目B-WebB運行在slave1節點上,並運行項目

指定運行的代理slave節點的名字,注意名字後邊不能有多餘的空格!!!

3.5.7 查看B-WebB的構建日誌

 

[root@Git ~]# cd /var/lib/jenkins/[root@Git jenkins]# lsremoting  remoting.jar  workspace[root@Git jenkins]# cd workspace/[root@Git workspace]# lsB-Web  B-Web@tmp[root@Git workspace]# cd B-Web[root@Git B-Web]# lstest[root@Git B-Web]# cat test nihaokakakakaka111333devll 

相關文章
相關標籤/搜索