天天看點

Jenkins安裝部署使用圖文詳解(非常詳細)

最近公司需要弄一套自動化運維部署,于是抽空學習了一下,用了兩天左右完成Jenkins的安裝部署和各種項目的配置化,于是整理一下進行分享。
Jenkins是一個獨立的開源軟體項目,是基于Java開發的一種持續內建工具,用于監控持續重複的工作,旨在提供一個開放易用的軟體平台,使軟體的持續內建變成可能。前身是Hudson是一個可擴充的持續內建引擎。可用于自動化各種任務,如建構,測試和部署軟體。Jenkins可以通過本機系統包Docker安裝,甚至可以通過安裝Java Runtime Environment的任何機器獨立運作。

Jenkins特點:

開源免費;

跨平台,支援所有的平台;

master/slave支援分布式的build;

web形式的可視化的管理頁面;

安裝配置超級簡單;

tips及時快速的幫助;

已有的200多個插件

官網:

https://www.jenkins.io/

這裡我們使用的是離線包方式安裝。

官網鏡像位址: https://mirrors.jenkins.io/

下載下傳位址: https://jenkins.io/download/

華為鏡像位址: https://mirrors.huaweicloud.com/home

百度網盤位址:連結:https://pan.baidu.com/s/10FNG5p-upLgNlCUUrdUIMA

提取碼:r9x6

直接下載下傳war包,并安裝好jdk之後,輸入:nohup java -jar jenkins.war --httpPort=8888 &

進行啟動,然後網頁浏覽器輸入 ip:8888打開設定好賬号密碼之後登入即可,插件安裝推薦使用官方推薦。

Jenkins安裝部署使用圖文詳解(非常詳細)

因為需要對一些項目進行打包,是以需要安裝這些環境的依賴,這裡我們就安裝dk、git、maven(java項目),nodejs(前端項目)即可。

說明: 一般CentOS自帶了openjdk,但是我們這裡使用的是oracle的JDK。是以要寫解除安裝openjdk,然後再安裝在oracle下載下傳好的JDK。如果已經解除安裝,可以跳過此步驟。

首先輸入 java -version

檢視是否安裝了JDK,如果安裝了,但版本不适合的話,就解除安裝

Jenkins安裝部署使用圖文詳解(非常詳細)

輸入

rpm -qa | grep java

檢視資訊

Jenkins安裝部署使用圖文詳解(非常詳細)

然後輸入:

rpm -e --nodeps “你要解除安裝JDK的資訊”

如: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64

Jenkins安裝部署使用圖文詳解(非常詳細)

确認沒有了之後,解壓下載下傳下來的JDK

移動到opt/java檔案夾中,沒有就建立,然後将檔案夾重命名為jdk1.8。

然後編輯 profile 檔案,添加如下配置

輸入:

添加:

添加成功之後,輸入

檢視是否配置成功

将maven進行解壓,上傳到伺服器的/opt目錄下,然後在conf目錄下修改setting配置,

setting配置如下

添加maven的環境,編輯/etc/profile檔案,添加如下配置:

Jenkins安裝部署使用圖文詳解(非常詳細)

下載下傳位址:

https://git-scm.com/downloads

centos7預設安裝了git服務,如果gitlab(項目源碼)服務位址和Jenkins不在統一伺服器上,則需要配置ssh key。

指令如下:

然後在gitlab的賬号中添加即可。

node下載下傳位址:

http://nodejs.cn/download/current/

https://nodejs.org/dist/

下載下傳離線包,進行解壓,然後重命名為nodejs,進行移到到/usr/local中,最後建立軟鍊

建立軟鍊:

Jenkins安裝部署使用圖文詳解(非常詳細)

簡易流程圖

Jenkins安裝部署使用圖文詳解(非常詳細)

Jenkins管理->插件管理,進行下載下傳添加。

注:插件安裝之後需要Jenkins重新開機,勾選插件下載下傳之後可以手工勾選

Maven Integration

Git Parameter Plug-In

可以在建構時進行分支選擇

Jenkins安裝部署使用圖文詳解(非常詳細)

Publish over SSH

ssh遠端服務插件,必裝。

Jenkins安裝部署使用圖文詳解(非常詳細)

ThinBackup

Jenkins備份配置服務的插件

Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)

關于依賴環境的服務配置,必做,最好先安裝上面的插件。

Jenkins安裝部署使用圖文詳解(非常詳細)

依賴環境

主要是上面安裝的環境的路徑填寫。

Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)

ssh遠端服務配置

Jenkins管理->系統配置

Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)

項目建構有很多種選擇,這裡我們就用java項目(依賴maven)和前端項目(依賴nodejs)來做示例。

首先回到主界面,點選建立項目。

Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)

這裡我們是建立java項目,是以我們選擇maven方式建構。

這裡建構的項目可以使用我之前寫的springboot項目,https://github.com/xuwujing/springBoot-study/tree/master/springboot-package

建立完成之後,我們根據圖檔來進行填寫,下面是設定了在編譯時進行參數配置,可以手動選擇分支,可以不進行配置。

Jenkins安裝部署使用圖文詳解(非常詳細)

這裡需要配置git項目位址和制定分支

Jenkins安裝部署使用圖文詳解(非常詳細)

編譯前的操作,無特殊要求,可以不操作

Jenkins安裝部署使用圖文詳解(非常詳細)

打包操作,可以使用預設值

Jenkins安裝部署使用圖文詳解(非常詳細)

配置的遠端服務位址

Jenkins安裝部署使用圖文詳解(非常詳細)

配置完畢之後,點選儲存即可。

進行建構

Jenkins安裝部署使用圖文詳解(非常詳細)

建構成功之後,在遠端服務的設定好的路徑可以檢視服務已更新并且已經啟動成功!

這裡我們是建立前端項目,我們可以選擇freestyle方式進行建構。

這裡的配置基本同上

Jenkins安裝部署使用圖文詳解(非常詳細)

這裡的建構選擇執行shell指令:

Jenkins安裝部署使用圖文詳解(非常詳細)

進行遠端傳輸

Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)

将git的項目下載下傳到指定目錄,并進行操作

在general中點選進階->勾選自定義空間

Jenkins安裝部署使用圖文詳解(非常詳細)

在打包的時候,會遇到依賴關系,比如打包A項目,需要B項目先進行打包,但是又不想每次點選兩次,是以就可以用Jenkins的上下級關系打包,A項目依賴B項目,那麼打包B項目之後自動打包A項目即可。

Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)

在項目的配置中勾選如下參數

Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)

需要全局配置的插件 ThinBackup

點選backup now 即可進行備份

Jenkins安裝部署使用圖文詳解(非常詳細)
Jenkins安裝部署使用圖文詳解(非常詳細)

這裡是我在進行配置的時候遇到的一些錯誤,整理如下

原因:鑒權問題,ssh key的鑒權;

解決辦法:ssh key的配置,若是配置好了,可在Jenkins伺服器手動 git clone一下在進行設定。

原因: 秘鑰過長,Jenkins不支援

解決辦法: 重新生成短秘鑰,

ssh-keygen -m PEM -t rsa -b 4096

-m 參數指定密鑰的格式,PEM是rsa之前使用的舊格式

-b 指定密鑰長度。對于RSA密鑰,最小要求768位,預設是2048位。

Failed at the [email protected] postinstall script. npm ERR! This is probably not a problem with npm.

參考:

https://blog.csdn.net/weixin_41940690/article/details/106977906

https://zhuanlan.zhihu.com/p/250812475

解決辦法:

https://blog.csdn.net/qq_40202111/article/details/105972546

https://www.jianshu.com/p/ab1c92a61809

https://segmentfault.com/q/1010000019989912

https://blog.csdn.net/wangooo/article/details/108443291

實際并未解決問題,

最終辦法:

npm install &&

chmod -R 777 node_modules/ &&

npm run build

https://blog.csdn.net/bey_bey_bey/article/details/120744400

原因: package.json缺失配置, "vue-loader": "^14.2.4",

解決辦法: 添加成功即可.

Jenkins安裝部署使用圖文詳解(非常詳細)

如果還是不行,使用

https://blog.csdn.net/weixin_40013817/article/details/115194426

執行如下指令

原創不易,如果感覺不錯,希望給個推薦!您的支援是我寫作的最大動力!

版權聲明:

作者:虛無境

部落格園出處:http://www.cnblogs.com/xuwujing

CSDN出處:http://blog.csdn.net/qazwsxpcm    

個人部落格出處:http://www.panchengming.com

如果你對生活感覺到了絕望,請不要氣餒。因為這樣隻會讓你更加絕望!

所謂的希望往往都是在絕望中萌發的,是以,請不要放棄希望!