亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

在CentOS7上搭建Jenkins+Maven+Git持續集成環境的方法

2024-09-01 13:56:23
字體:
來源:轉載
供稿:網友

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

1. 準備工作

1.1 安裝 Java 環境

Jenkins 是基于 Java 開發的持續集成工具,需要在 Java 環境下運行。用下面命令查看系統是否已安裝 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 導入過 key,那么 rpm --import 將失敗,因為已經有一個 key 了。忽略它,繼續執行 install 即可。

2.2 啟動 Jenkins

啟動 Jenkins,并且設置開機自啟動:

systemctl start jenkins.service chkconfig jenkins on

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

http://<服務器地址>:8080

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

2.3 進入 Jenkins

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

cat /var/lib/jenkins/secrets/initialAdminPassword

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

2.4 配置 Jenkins

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

2.4.1 查看 JDK 路徑

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

先用以下命令查看路徑:

which java

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

繼續使用以下命令查看:

ls -l /usr/bin/java

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

繼續追蹤:

ls -l /etc/alternatives/java

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

CentOS7,Jenkins,Maven,Git,持續集成環境

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

CentOS7,Jenkins,Maven,Git,持續集成環境

CentOS7,Jenkins,Maven,Git,持續集成環境

CentOS7,Jenkins,Maven,Git,持續集成環境

2.4.2 安裝和配置插件

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

配置 SSH 免密碼登錄 

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

sudo su jenkins

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

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

編輯文件 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 文件里的內容追加到應用服務器上的 /root/.ssh/authorized_keys 文件末尾,每行一個 key,注意是應用服務器。重啟應用服務器上的 ssh 服務:

systemctl restart sshd.service

現在 Jenkins 可以免密碼登錄應用服務器了,以 jenkins 用戶身份運行命令來測試一下:

ssh root@<應用服務器地址>

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

配置 Public over SSH 插件 

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

CentOS7,Jenkins,Maven,Git,持續集成環境

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

save~

3. 部署 Maven 項目

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

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

CentOS7,Jenkins,Maven,Git,持續集成環境

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

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

CentOS7,Jenkins,Maven,Git,持續集成環境

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

CentOS7,Jenkins,Maven,Git,持續集成環境

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

CentOS7,Jenkins,Maven,Git,持續集成環境

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

CentOS7,Jenkins,Maven,Git,持續集成環境

接下來就是設置 build 完之后,把 jar 包從 Jenkins 服務器拷貝到應用服務器上,并運行。

CentOS7,Jenkins,Maven,Git,持續集成環境

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

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

4. 總結

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人精品视频在线观看| 播播国产欧美激情| 一本色道久久88综合亚洲精品ⅰ| 91免费人成网站在线观看18| 国产999精品久久久| 国产丝袜一区二区三区免费视频| 欧美极品少妇xxxxx| 色综合导航网站| 91精品久久久久久| 欧美午夜视频一区二区| 亚洲三级 欧美三级| 亚洲韩国日本中文字幕| 欧美日韩在线免费观看| 日本19禁啪啪免费观看www| 亚洲影院色在线观看免费| 性欧美暴力猛交69hd| 91精品视频观看| 国产成+人+综合+亚洲欧洲| 97人人模人人爽人人喊中文字| 欧美激情精品久久久久久久变态| 97碰碰碰免费色视频| 日韩在线免费高清视频| xxx一区二区| 亚洲国语精品自产拍在线观看| 91亚洲精品在线观看| 亚洲网站视频福利| 欧美怡红院视频一区二区三区| 欧美精品做受xxx性少妇| 亚洲欧美综合精品久久成人| 九九热这里只有精品免费看| 国产日本欧美一区| 欧美精品videos| 另类专区欧美制服同性| 亚洲精品视频免费在线观看| 国内精品久久影院| 国产成人精品一区二区| 欧美日韩中文字幕在线| 国产精品激情av在线播放| 欧美日韩国产一区在线| 国产日韩换脸av一区在线观看| 国产精品一区二区三区久久久| 国产日韩欧美在线视频观看| 69精品小视频| 欧美自拍视频在线| 欧美国产日韩中文字幕在线| 日韩性生活视频| 精品美女永久免费视频| 精品国产欧美一区二区五十路| 亚洲免费影视第一页| 久操成人在线视频| 精品久久久久久久久久| 国产精品美女主播| 国产免费亚洲高清| 亚洲free性xxxx护士白浆| www高清在线视频日韩欧美| 在线精品高清中文字幕| 亚洲精品久久久久久久久久久久| 欧美一区二区三区……| 中文在线资源观看视频网站免费不卡| 亚洲精品动漫100p| 精品成人国产在线观看男人呻吟| 91av福利视频| 日韩h在线观看| 日韩最新在线视频| 欧美日韩中文字幕在线视频| 亚洲精品乱码久久久久久按摩观| 最近2019中文字幕第三页视频| 色偷偷av亚洲男人的天堂| 久久国产精品久久久久久久久久| 成人亚洲激情网| 久久亚洲欧美日韩精品专区| 97涩涩爰在线观看亚洲| 国产成人综合久久| 91精品国产高清久久久久久| 亚洲国产小视频在线观看| 亚洲欧美国产精品久久久久久久| 国产丝袜精品视频| 91在线无精精品一区二区| 亚洲偷欧美偷国内偷| 国产精品黄色影片导航在线观看| 久久精品91久久久久久再现| 97超级碰碰人国产在线观看| 国产丝袜一区二区| 国产91精品黑色丝袜高跟鞋| 国产精品美女呻吟| 精品国产一区二区三区久久久狼| 国产亚洲欧美日韩美女| 精品福利免费观看| 久久久欧美精品| 日本成人在线视频网址| 日韩欧美国产免费播放| 欧美日韩亚洲精品一区二区三区| 日韩国产精品亚洲а∨天堂免| 日韩成人av网| 精品久久香蕉国产线看观看亚洲| 久久久国产精彩视频美女艺术照福利| 亚洲欧美精品在线| 国产亚洲欧美另类中文| 国产精品吹潮在线观看| 亚洲成人精品久久久| 欧美日韩一区二区在线| www高清在线视频日韩欧美| 韩国精品美女www爽爽爽视频| 久热精品视频在线免费观看| 久久久久久国产精品美女| 91精品国产91久久久久久最新| 亚洲第一区中文字幕| 亚洲国产私拍精品国模在线观看| 91禁国产网站| 不卡av日日日| 久久不射电影网| 欧美另类高清videos| 欧美成人午夜激情在线| 日韩精品极品视频免费观看| 精品久久久91| 亚洲色图色老头| 久久精品小视频| 2021国产精品视频| 操日韩av在线电影| 超碰精品一区二区三区乱码| 国产91精品青草社区| 国产精品69精品一区二区三区| 国产精品久久久久久久久免费看| 欧美日韩性视频在线| 亚洲国产精品久久久久秋霞不卡| 国产丝袜一区二区| 亚洲国产精品久久久久| 久久国产精品首页| 国产精品久久久久久久久免费| 久久av红桃一区二区小说| 日韩精品小视频| 91亚洲精品在线| 欧美成人一区在线| 曰本色欧美视频在线| 国产69精品99久久久久久宅男| 欧美亚洲国产日本| 亚洲成人亚洲激情| 欧美色欧美亚洲高清在线视频| 亚洲第一精品福利| 亚洲成人精品视频| 欧美性做爰毛片| 永久免费毛片在线播放不卡| 亚洲激情电影中文字幕| 国产视频观看一区| 精品视频9999| 日韩天堂在线视频| 亚洲免费视频一区二区| 国产精品久久久久久久电影| 欧美午夜久久久| 色综合久久久久久中文网| 国产精品久久久久久av下载红粉| 日韩在线视频播放| 精品国产一区二区三区久久| 国产成人avxxxxx在线看| 日韩欧美一区二区三区久久| 欧美xxxx做受欧美.88| 亚洲精品久久久久久久久久久久久| 超碰91人人草人人干| 国产精品爽爽爽爽爽爽在线观看| 国产精品久久久久久久7电影| 亚洲最大的成人网| 欧美在线视频网站| 国产精品日韩电影| 亚洲欧洲日产国码av系列天堂|