最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在CentOS7上搭建Jenkins+Maven+Git持續(xù)集成環(huán)境的方法

 更新時間:2019年01月03日 10:58:23   作者:神馬小窩  
這篇文章主要介紹了在CentOS7上搭建Jenkins+Maven+Git持續(xù)集成環(huán)境的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文以部署 Spring boot + Maven 項目為例,使用碼云作為代碼托管倉庫,在 CentOS 7 上搭建 Jenkins 持續(xù)集成環(huán)境。

1. 準備工作

1.1 安裝 Java 環(huán)境

Jenkins 是基于 Java 開發(fā)的持續(xù)集成工具,需要在 Java 環(huán)境下運行。用下面命令查看系統(tǒng)是否已安裝 Java:

yum list installed | grep jdk

如果沒有,使用 yum search 命令查找 openjdk 版本,選擇合適的 jdk 進行安裝:

yum search openjdk 
yum -y install java-1.8.0-openjdk-devel

驗證 Java 是否安裝成功:

java -version

1.2 安裝 Maven

依次運行以下兩條命令:

wget http://repos.fedorapeople.org... -O /etc/yum.repos.d/epel-apache-maven.repo 
yum -y install apache-maven

驗證 Maven 是否安裝成功:

mvn -v

1.3 安裝 Git

直接通過 yum 安裝,安裝完成后查看版本驗證是否安裝成功:

yum -y install git 
git --version

2. 安裝和配置 Jenkins:

2.1 安裝 Jenkins

依次運行以下三條命令:

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

如果之前從 Jenkins 導(dǎo)入過 key,那么 rpm --import 將失敗,因為已經(jīng)有一個 key 了。忽略它,繼續(xù)執(zhí)行 install 即可。

2.2 啟動 Jenkins

啟動 Jenkins,并且設(shè)置開機自啟動:

systemctl start jenkins.service 
chkconfig jenkins on

Jenkins 默認使用8080端口,訪問以下鏈接即可看到 Jenkins 的 Web 界面:

http://<服務(wù)器地址>:8080

如果無法訪問,檢查一下防護墻,是否有開放端口,或使用命令 netstat -ntulp 查看端口是否被占用。

2.3 進入 Jenkins

首次進入 Jenkins 需要輸入管理員密碼,使用以下命令查看初始密碼:

cat /var/lib/jenkins/secrets/initialAdminPassword

選擇默認的 install suggested plugins 安裝插件,等待安裝完成后依照步驟創(chuàng)建用戶,創(chuàng)建完成后即可登入。

2.4 配置 Jenkins

進入 Manage Jenkins -> Global Tool Configuration,依次配置 JDK、Git 和 Maven 路徑。

2.4.1 查看 JDK 路徑

使用 yum 安裝的軟件不會幫我們配置環(huán)境變量,直接使用命令echo $JAVA_HOME 是看不到路徑的。

先用以下命令查看路徑:

which java

看到的結(jié)果是 /usr/bin/java ,但實際上這只是個軟連接,并不是 JDK 真正的所在目錄。

繼續(xù)使用以下命令查看:

ls -l /usr/bin/java

看到 /usr/bin/java 指向了 /etc/alternatives/java,很遺憾,還不是我們要找的真正路徑。

繼續(xù)追蹤:

ls -l /etc/alternatives/java

結(jié)果指向了 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java,不同版本的 JDK 目錄名可能有些不同,這就是 JDK 真正所在的地方。

同理可獲得 Maven 的所在路徑。

2.4.2 安裝和配置插件

進入 Manage Jenkins -> Manage Plugins,搜索并安裝 Publish Over SSH Maven Integration 兩個插件, Git Plugins 插件已經(jīng)默認安裝上了,我們無需再安裝。

配置 SSH 免密碼登錄

在配置插件之前,我們先在 Jenkins 服務(wù)器上生成密鑰對。運行以下命令切換到 jenkins 用戶:

sudo su jenkins

如果無法切換,則打開 /etc/passwd 文件,找到 jenkins 那一行,將 /bin/fasle 改成 /bin/bash。

切換成功后,命令提示符的用戶名可能是 bash-4.2$,想要正常顯示用戶名的話,先切換回 root 用戶,執(zhí)行以下操作:

編輯文件 vi ~/.bash_profile
加入語句 export PS1='[u@h W]$'
立即生效 source ~/.bash_profile

再切換到 jenkins 用戶,就顯示正常了。接下來運行以下命令生成密鑰對:

ssh-keygen -t rsa

一路按回車完成,會在 /var/lib/jenkins/.ssh/ 目錄下生成 id_rsa 和 id_rsa.pub兩個文件。

將 id_rsa.pub 文件里的內(nèi)容追加到應(yīng)用服務(wù)器上的 /root/.ssh/authorized_keys 文件末尾,每行一個 key,注意是應(yīng)用服務(wù)器。重啟應(yīng)用服務(wù)器上的 ssh 服務(wù):

systemctl restart sshd.service

現(xiàn)在 Jenkins 可以免密碼登錄應(yīng)用服務(wù)器了,以 jenkins 用戶身份運行命令來測試一下:

ssh root@<應(yīng)用服務(wù)器地址>

首次連接會有確認提示,輸入 yes 即可。這步很重要,如果第一次沒有手動連接確認,Jenkins 會連不上。

配置 Public over SSH 插件

進入 Manage Jenkins -> Configure System,填寫 Publish over SSH 設(shè)置。

Path to key:填寫剛剛生成的 id_rsa 密鑰文件的路徑。
Name:服務(wù)名,隨意填寫。
HostName:應(yīng)用服務(wù)器的 IP 地址或域名。
Username:登錄應(yīng)用服務(wù)器的用戶身份。
Remote Directory:遠程目錄, 應(yīng)用服務(wù)器上存放應(yīng)用的目錄,Jenkins 會把應(yīng)用拷貝至此目錄下。請確保此目錄存在。

save~

3. 部署 Maven 項目

點擊 New Item 新建任務(wù),隨意輸入任務(wù)名,選擇 Maven project, ok。

在General,勾選 Discard old builds,可以設(shè)置最多保留構(gòu)建文件多少天,和最多保留多少個構(gòu)建文件,不然每次構(gòu)建生成的文件都會保留,占用磁盤空間。

配置遠程代碼倉庫地址,Jenkins 會從該地址拉取代碼。注意此處如果提示無法讀取倉庫,有可能是:

  • 公鑰沒有添加到遠程代碼服務(wù)器的 authorized_keys 文件里,上面配置 SSH 免登錄是 Jenkins 訪問應(yīng)用服務(wù)器的,Jenkins 訪問代碼服務(wù)器也同樣需要配置,除非應(yīng)用服務(wù)器和代碼服務(wù)器是同一臺機器。如果使用碼云或 GitHub 等代碼托管平臺,會有相應(yīng)的 SSH key 設(shè)置頁。
  • 公鑰已添加到相應(yīng)文件里,但沒有手動連接第一次。解決方法很簡單,以 jenkins 用戶身份手動 clone 一次倉庫,確認 yes 即可。

勾選 Add timestamps to the Console Output,在控制臺輸出構(gòu)建過程。

填寫 Maven 打包指令,-DMaven.test.skip=true 表示跳過測試。

勾選 Run only if build succeeds,選擇 Send files or execute commands over SSH。

接下來就是設(shè)置 build 完之后,把 jar 包從 Jenkins 服務(wù)器拷貝到應(yīng)用服務(wù)器上,并運行。

Name:選擇之前創(chuàng)建的服務(wù)。
Source files:maven 打包后生成的 jar 包,即要拷貝到應(yīng)用服務(wù)器運行的程序,可填多個,英文逗號分隔。
Remove prefix:忽略前綴,我們只需要拷貝 target 下的 jar 包,不需要在應(yīng)用服務(wù)器上生成 target 目錄。
Remote directory:目標文件夾,會繼承全局設(shè)置,例如此處會把 jar 包拷貝到 /usr/local/app/demo 目錄下。
Exec command:拷貝完成后,在應(yīng)用服務(wù)器上執(zhí)行的命令或腳本。

save -> build now,構(gòu)建成功后,打開瀏覽器訪問你的站點吧~

4. 總結(jié)

其實整個流程不是很復(fù)雜,Jenkins 從遠程代碼庫拉取代碼 -> 調(diào)用 maven 指令將項目打包 -> Jenkins 將打包好的文件拷貝到遠程應(yīng)用服務(wù)器 -> 在遠程應(yīng)用服務(wù)器上執(zhí)行 shell 指令,啟動程序。其中 Jenkins 兩次遠程操作都是通過 SSH 完成的。
通過 yum 安裝 Jenkins 和 Java 比較方便,但是在配置的時候相對麻煩,安裝路徑要自己找,配置 SSH 的時候也是要用 jenkins 用戶身份,而不是 root,如果采用解壓縮包的方式就比較自由一些。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux中特殊權(quán)限SUID、SGID與SBIT的深入講解

    Linux中特殊權(quán)限SUID、SGID與SBIT的深入講解

    linux對文件的權(quán)限管理簡直是讓人嘆為觀止,所以這篇文章主要給大家介紹了關(guān)于Linux中特殊權(quán)限SUID、SGID與SBIT的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • 改造ctrl+alt+del(默認重啟)為一個信息搜集腳本的腳本

    改造ctrl+alt+del(默認重啟)為一個信息搜集腳本的腳本

    遠程一個服務(wù)器總是出現(xiàn)網(wǎng)絡(luò)故障,因為不方便讓IDC工程師做太詳細的操作,每次都是讓他按ctrl+alt+del重啟服務(wù)器,最后寫了這么一個腳本,實現(xiàn)的效果是
    2011-05-05
  • Centos8環(huán)境下修改ssh端口號方法

    Centos8環(huán)境下修改ssh端口號方法

    大家好,本篇文章主要講的是Centos8環(huán)境下修改ssh端口號方法,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下哦,方便下次瀏覽
    2021-12-12
  • Linux上安裝搭建Nginx服務(wù)器的詳細步驟

    Linux上安裝搭建Nginx服務(wù)器的詳細步驟

    本篇文章主要介紹了Linux上搭建Nginx服務(wù)器的詳細步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 詳解ubuntu安裝CMake的幾種方式

    詳解ubuntu安裝CMake的幾種方式

    這篇文章主要介紹了詳解ubuntu安裝CMake的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 怎樣給centos系統(tǒng)擴展磁盤分區(qū)的實現(xiàn)方法

    怎樣給centos系統(tǒng)擴展磁盤分區(qū)的實現(xiàn)方法

    這篇文章主要介紹了怎樣給centos系統(tǒng)擴展磁盤分區(qū)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • ubuntu 16.04系統(tǒng)完美解決pip不能升級的問題

    ubuntu 16.04系統(tǒng)完美解決pip不能升級的問題

    這篇文章主要介紹了ubuntu 16.04系統(tǒng)完美解決pip不能升級的問題 ,本文圖文并茂給大家介紹的非常詳細,需要的朋友可以參考下
    2018-04-04
  • Apache實現(xiàn)多端口多主機名配置

    Apache實現(xiàn)多端口多主機名配置

    這篇文章主要介紹了Apache實現(xiàn)多端口多主機名配置的相關(guān)資料,需要的朋友可以參考下
    2018-08-08
  • Linux 中清空或刪除大文件內(nèi)容的五種方法

    Linux 中清空或刪除大文件內(nèi)容的五種方法

    這篇文章主要介紹了Linux 中清空或刪除大文件內(nèi)容的五種方法的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • ubuntu下用dpkg命令行運行deb安裝包的方法

    ubuntu下用dpkg命令行運行deb安裝包的方法

    在Ubuntu系統(tǒng)中,除了通過桌面啟動deb安裝包外,還能通過命令行來運行deb安裝包,需要使用到dpkg命令,下面這篇文中就給大家介紹下Ubuntu下使用dpkg命令運行deb安裝包的方法,需要的朋友可以參考借鑒,一起來學(xué)習(xí)下吧。
    2017-01-01

最新評論

惠来县| 临江市| 平谷区| 屯留县| 澄城县| 连平县| 平罗县| 正镶白旗| 海阳市| 清丰县| 新建县| 会宁县| 山丹县| 周口市| 台北市| 万宁市| 九龙坡区| 康乐县| 谢通门县| 武义县| 和静县| 南召县| 太白县| 齐河县| 临泉县| 偃师市| 丰县| 三明市| 三门峡市| 嫩江县| 繁昌县| 长汀县| 信丰县| 伊金霍洛旗| 宁陕县| 万年县| 乡城县| 乳源| 宁强县| 侯马市| 鸡泽县|