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打開設置好賬號密碼之后登錄即可,插件安裝推薦使用官方推薦。

在這里插入圖片描述

依賴環境安裝

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

jdk安裝

說明: 一般CentOS自帶了openjdk,但是我們這里使用的是oracle的JDK。所以要寫卸載openjdk,然后再安裝在oracle下載好的JDK。如果已經卸載,可以跳過此步驟。
首先輸入 java -version
查看是否安裝了JDK,如果安裝了,但版本不適合的話,就卸載
這里寫圖片描述

輸入
rpm -qa | grep java
查看信息
這里寫圖片描述
然后輸入:
rpm -e --nodeps “你要卸載JDK的信息”
如: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
這里寫圖片描述

確認沒有了之后,解壓下載下來的JDK

tar  -xvf   jdk-8u144-linux-x64.tar.gz

移動到opt/java文件夾中,沒有就新建,然后將文件夾重命名為jdk1.8。

mv  jdk1.8.0_144 /opt/java
mv  jdk1.8.0_144  jdk1.8

然后編輯 profile 文件,添加如下配置
輸入:

vim /etc/profile

添加:

export JAVA_HOME=/opt/java/jdk1.8
export JRE_HOME=/opt/java/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=.:${JAVA_HOME}/bin:$PATH

添加成功之后,輸入

source /etc/profile
java  -version 

查看是否配置成功

maven安裝

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

setting配置如下

<?xml version="1.0" encoding="UTF-8"?>


<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <pluginGroups>

  </pluginGroups>


  <proxies>

  </proxies>


  <servers>

  </servers>

  <mirrors>
     <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>


  <profiles>
 
     <!--  設置maven默認jdk -->
    <id>jdk-1.8</id>  
    <activation>  
        <activeByDefault>true</activeByDefault>  
        <jdk>1.8</jdk>  
    </activation>  
    <properties>  
        <maven.compiler.source>1.8</maven.compiler.source>  
        <maven.compiler.target>1.8</maven.compiler.target>  
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
    </properties>  
  </profiles>

</settings>

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

export MAVEN_HOME=/opt/apache-maven-3.5.0
export PATH=.:${JAVA_HOME}/bin:$MAVEN_HOME/bin:$PATH

在這里插入圖片描述

添加成功之后,輸入

source /etc/profile
mvn -v 

查看是否配置成功

git

下載地址:
https://git-scm.com/downloads
centos7默認安裝了git服務,如果gitlab(項目源碼)服務地址和Jenkins不在統一服務器上,則需要配置ssh key。
命令如下:

git config --global user.name "xx"
git config --global user.email "x@x.com"
ssh-keygen -t rsa  -C "x@x.com"
clip < ~/.ssh/id_rsa.pub

然后在gitlab的賬號中添加即可。

nodejs

node下載地址:
http://nodejs.cn/download/current/
https://nodejs.org/dist/

下載離線包,進行解壓,然后重命名為nodejs,進行移到到/usr/local中,最后創建軟鏈

創建軟鏈:

tar -zxvf node-v11.15.0-linux-x64.tar.gz
mv node-v11.15.0-linux-arm64/ nodejs
mv nodejs/* /usr/local/nodejs
ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
npm install -g yarn
ln -s /usr/local/nodejs/bin/yarn /usr/local/bin

在這里插入圖片描述

Jenkins使用

簡易流程圖
在這里插入圖片描述

插件安裝

Jenkins管理->插件管理,進行下載添加。
注:插件安裝之后需要Jenkins重啟,勾選插件下載之后可以手工勾選

在這里插入圖片描述

在這里插入圖片描述

Maven Integration

在這里插入圖片描述

Git Parameter Plug-In
可以在構建時進行分支選擇

在這里插入圖片描述
Publish over SSH
ssh遠程服務插件,必裝。

在這里插入圖片描述

ThinBackup
Jenkins備份配置服務的插件

在這里插入圖片描述

在這里插入圖片描述

服務配置

環境配置

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

在這里插入圖片描述

依賴環境
主要是上面安裝的環境的路徑填寫。
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

發布服務配置

ssh遠程服務配置
Jenkins管理->系統配置

在這里插入圖片描述

在這里插入圖片描述

構建項目

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

首先回到主界面,點擊新建項目。

在這里插入圖片描述
在這里插入圖片描述

java項目構建

這里我們是創建java項目,因此我們選擇maven方式構建。
這里構建的項目可以使用我之前寫的springboot項目,https://github.com/xuwujing/springBoot-study/tree/master/springboot-package

創建完成之后,我們根據圖片來進行填寫,下面是設置了在編譯時進行參數配置,可以手動選擇分支,可以不進行配置。
在這里插入圖片描述

這里需要配置git項目地址和制定分支
在這里插入圖片描述

編譯前的操作,無特殊要求,可以不操作
在這里插入圖片描述
打包操作,可以使用默認值
在這里插入圖片描述
配置的遠程服務地址
在這里插入圖片描述
配置完畢之后,點擊保存即可。

進行構建
在這里插入圖片描述
構建成功之后,在遠程服務的設置好的路徑可以查看服務已更新並且已經啟動成功!

前端項目構建

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

這里的配置基本同上
在這里插入圖片描述
這里的構建選擇執行shell命令:

在這里插入圖片描述
進行遠程傳輸
在這里插入圖片描述

進行構建

在這里插入圖片描述

額外操作

自定義工作空間

將git的項目下載到指定目錄,並進行操作
在general中點擊高級->勾選自定義空間
在這里插入圖片描述

依賴關系

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

在這里插入圖片描述
在這里插入圖片描述

運行分支選擇

在項目的配置中勾選如下參數
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

配置文件備份

需要全局配置的插件 ThinBackup
點擊backup now 即可進行備份

在這里插入圖片描述
在這里插入圖片描述

異常處理

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

1. returned status code 128

原因:鑒權問題,ssh key的鑒權;
解決辦法:ssh key的配置,若是配置好了,可在Jenkins服務器手動 git clone一下在進行設置。

2. 配置密鑰時報錯的解決:Failed to add SSH key. Message invalid privatekey(Jenkins 2.257)

原因: 秘鑰過長,Jenkins不支持
解決辦法: 重新生成短秘鑰,
ssh-keygen -m PEM -t rsa -b 4096

-m 參數指定密鑰的格式,PEM是rsa之前使用的舊格式
-b 指定密鑰長度。對於RSA密鑰,最小要求768位,默認是2048位。

3. Npm install 報錯

Failed at the node-sass@4.14.1 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

解決辦法:

npm i --unsafe-perm=true

4. Npm 執行權限問題

參考:
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

5. @vitejs/plugin-vue requires vue (>=3.2.13) or @vue/compiler-sfc to be present in the dependency tree

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

原因: package.json缺失配置, "vue-loader": "^14.2.4",
解決辦法: 添加成功即可.
在這里插入圖片描述

如果還是不行,使用

npm install @vue/compiler-sfc  

6. error icss-utils@5.1.0: The engine “node“ is incompatible with this module

參考:
https://blog.csdn.net/weixin_40013817/article/details/115194426
執行如下命令

yarn config set ignore-engines true

其他

音樂推薦

原創不易,如果感覺不錯,希望給個推薦!您的支持是我寫作的最大動力!
版權聲明:
作者:虛無境
博客園出處:http://www.cnblogs.com/xuwujing
CSDN出處:http://blog.csdn.net/qazwsxpcm    
個人博客出處:http://www.panchengming.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM