<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                :-: 服務器列表(虛擬機統一采用CentOS7) |名稱 |主機名 |安裝的軟件| |----|----|----| |代碼托管服務器| gitlab-master |gitlab-ce-14.6.0-ce.0.el7.x86_64.rpm| |<mark>持續集成服務器</mark>| jenkins-master |Jenkins-2.190.3、JDK1.8、Maven3.6.2、Git、SonarQube| |應用測試服務器| tomcat-master |JDK1.8、Tomcat8.5| <br/> [TOC] # 1. 安裝JDK8 Jenkins需要依賴JDK,所以先安裝JDK1.8。 ```shell tar -zxvf jdk-8u171-linux-x64.tar.gz -C /opt/install/ # /opt/install/jdk1.8.0_171/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) ``` <br/> # 2. 安裝Jenkins **1. 下載并安裝jenkins** Jenkins下載地址1(官網):https://jenkins.io/zh/download/ Jenkins下載地址2:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/ ```shell yum -y install epel-release yum -y install daemonize wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.319.1-1.1.noarch.rpm rpm -ivh jenkins-2.319.1-1.1.noarch.rpm ``` **2. 修改Jenkins配置** ```shell vim /etc/sysconfig/jenkins # jdk目錄 JENKINS_JAVA_CMD=/opt/install/jdk1.8.0_171/bin/java #jenkins用戶 JENKINS_USER="root" #jenkins端口 JENKINS_PORT="8888" ``` **3. 啟動Jenkins** ```shell # systemctl start jenkins # systemctl status jenkins ● jenkins.service - LSB: Jenkins Automation Server Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled) Active: active (running) since Thu 2022-01-06 16:33:56 CST; 31s ago ``` **4. 開放8888端口** ```shell firewall-cmd --zone=public --add-port=8888/tcp --permanent firewall-cmd --reload ``` **5. 訪問Jenkins:http://192.168.1.25:8888/** **6. 獲取并輸入admin賬戶密碼** ```shell # cat /var/lib/jenkins/secrets/initialAdminPassword d59cfa55bd8f4e39ac91ef1aa26effa3 ``` **7. 跳過插件安裝** 因為Jenkins插件需要連接默認官網下載,速度非常慢,而且經常會失敗,所以我們暫時先跳過插件安裝。 :-: ![](https://img.kancloud.cn/a1/3d/a13dfebc3ea1de5f528b4b1cf3931884_1253x306.jpg) ![](https://img.kancloud.cn/a9/d4/a9d4d1e5fdf0448230dda78311329ba1_620x417.jpg) **8. 添加第一個管理員賬號** ![](https://img.kancloud.cn/39/33/3933d1a02026a9ba1448958f36e4a9e9_1232x403.jpg) **9. Jenkins準備就緒了** ![](https://img.kancloud.cn/54/2e/542e54d0ce2135379a2f3dd3ff8a561a_1260x359.jpg) <br/> # 3. Jenkins插件管理 Jenkins本身不提供很多功能,我們可以通過使用插件來滿足我們的使用。例如從Gitlab拉取代碼,使用Maven構建項目等功能需要依靠插件完成。接下來演示如何下載插件。 **** jenkins插件默認下載地址:https://updates.jenkins-ci.org/download/plugins jenkins插件默認存儲目錄:`/var/lib/jenkins/plugins` <br/> **1. 修改插件下載地址為國內** Jenkins國外官方插件地址下載速度非常慢,所以可以修改為國內插件地址。 (1)Jenkins -> Manage Jenkins -> Manage Plugins -> Available。 (2)修改地址文件,替換為國內插件地址。 ```shell cd /var/lib/jenkins/updates sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json ``` (3)點擊Advanced,把Update Site改為國內插件下載地址。 ![](https://img.kancloud.cn/90/3c/903cbbbe7d65188b74922a537ec839d3_1160x178.jpg) ``` 默認地址:https://updates.jenkins.io/update-center.json 國內插件下載地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json ``` (4)Sumbit后,瀏覽器訪問 http://192.168.1.25:8888/restart 重啟Jenkins。 **2. 下載中文漢化插件** (1)Jenkins -> Manage Jenkins -> Manage Plugins -> Available,搜索`Chinese`。 ![](https://img.kancloud.cn/78/18/78180e48f0c840321c1eb9033708d55c_1507x371.jpg) ![](https://img.kancloud.cn/98/74/987478d5586215e940b8640cae51ebf4_1470x301.jpg) (2)重啟后就看到Jenkins漢化了!(PS:但可能部分菜單漢化會失敗)。 ![](https://img.kancloud.cn/10/7b/107b939e7b20e3179a219b4e21b5d5a9_1400x367.jpg) <br/> # 4. Jenkins用戶權限管理 我們可以利用 Role-based Authorization Strategy 插件來管理Jenkins用戶權限。 <br/> **1. 安裝 Role-based Authorization Strategy 插件** **2. 開啟權限全局安全配置** 系統管理(Manage Jenkins) -> 全局安全配置(Configure Global Security)-> 授權策略 -> 選【Role-Based Strategy】-> 應用。 **3. 創建角色** (1)系統管理(Manage Jenkins) -> Manage and Assign Roles -> Manage Roles。 (2)添加角色。 ![](https://img.kancloud.cn/08/2a/082ae8ef72c94fe3945baf13f43ee422_1489x602.jpg) * Global roles:管理員等高級用戶可以創建基于全局的角色。 * Item roles:針對某個或者某些項目的角色。 在這里添加如下三個角色: ``` baseRole:該角色為全局角色。這個角色需要綁定Overall(全部)下面的Read權限,是為了給所有用戶綁 定最基本的Jenkins訪問權限。注意:如果不給后續用戶綁定這個角色,會報錯誤:用戶名 is missing the Overall/Read permission。 role1:該角色為項目角色。使用正則表達式綁定 itcast.*,意思是只能操作itcast開頭的項目。 role2:該角色也為項目角色。綁定 itheima.*,意思是只能操作itheima開頭的項目。 ``` **4. 創建用戶** (1)系統管理(Manage Jenkins) -> 管理用戶(Manage Users) -> 新建用戶。 (2)分別創建兩個用戶:lisi、wangwu。 ![](https://img.kancloud.cn/a3/a5/a3a5536c9c1db4ab2d789055be75cfaf_1446x390.jpg) ![](https://img.kancloud.cn/a1/0d/a10d1c6b456ec3d9e479454cc86e436c_1432x326.jpg) **5. 給用戶分配角色** (1)系統管理(Manage Jenkins) -> Manage and Assign Roles -> Assign Roles。 (2)綁定規則如下。 ``` lisi 用戶分別綁定baseRole和role1角色。 wangwu 用戶分別綁定baseRole和role2角色。 ``` ![](https://img.kancloud.cn/8b/87/8b871dcc1dc705fec1f7e1bb9b4e13bc_1463x764.jpg) **6. 創建項目測試權限** (1)以`zhangsan`管理員賬戶創建兩個項目,分別為`itcast01`和`itheima01`。`zhangsan`管理員可以看到所有的項目。 ![](https://img.kancloud.cn/e7/45/e74530c30d4a846cbfbb4f84ae91532a_1449x240.jpg) (2)`lisi`賬號只能看到項目`itcast01`。 ![](https://img.kancloud.cn/1e/11/1e1117b1729a6f8c07ca1590e9b62353_1439x222.jpg) (3)`wangwu`賬號只能看到項目`itheima01`。 ![](https://img.kancloud.cn/aa/a4/aaa47210d98b7bc93d34307ea13a9298_1428x218.jpg) <br/> # 7. Jenkins憑證管理 憑據可以用來存儲需要密文保護的數據庫密碼、Gitlab密碼信息、Docker私有倉庫密碼等,以便Jenkins可以和這些第三方的應用進行交互。 <br/> **1. 安裝Credentials Binding插件** 要在Jenkins使用憑證管理功能,需要安裝Credentials Binding插件。 <br/> ## 7.1 安裝Git插件和Git工具 接下來以使用Git工具到Gitlab拉取項目源碼為例,演示Jenkins如何管理Gitlab的憑證。 <br/> **1. Jenkins上安裝 Git 插件** ![](https://img.kancloud.cn/30/58/3058f244682de24b2c5c0b94941d47fc_1349x286.jpg) **2. 在Jenkins機器上安裝 Git 工具** ```shell # yum install git -y # git --version git version 1.8.3.1 ``` **3. 創建憑證** 系統管理 -> Manage Credentials。 ![](https://img.kancloud.cn/a9/49/a94959cc0f370d1bfcd7b459671e4d78_1480x418.jpg) ![](https://img.kancloud.cn/bf/b2/bfb29400e31d34a993c3160e86a07d2f_1426x488.jpg) ![](https://img.kancloud.cn/29/cd/29cd2172621c62e63d5bba40f2734401_1450x201.jpg) **4. 測試憑證是否可用** (1)新建任務 -> 輸入一個任務名稱 -> 源碼管理。 ![](https://img.kancloud.cn/c1/91/c1911d6a8a5e7480b68fa306142acc26_1569x687.jpg) (2)立即構建。 ![](https://img.kancloud.cn/82/3c/823c67d0eeb4ff49be9b4bc3cff5ea60_1433x522.jpg) (3)構建完成后查看 控制臺輸出。 ![](https://img.kancloud.cn/3a/62/3a62da0d2e89f1aea38ba3284a0f5b33_1404x263.jpg) ![](https://img.kancloud.cn/72/a1/72a1a04378606f820cf2ed6e972552e6_1370x255.jpg) (4)到 Jenkins 機器上查看,發現已經從Gitlab成功拉取了代碼到Jenkins中。 ```shell # cd /var/lib/jenkins/workspace/test01 # ll total 20 -rw-r--r--. 1 root root 2636 Dec 14 22:05 email.html -rw-r--r--. 1 root root 1374 Dec 14 22:05 Jenkinsfile -rw-r--r--. 1 root root 625 Dec 14 22:05 pom.xml -rw-r--r--. 1 root root 579 Dec 14 22:05 sonar-project.properties drwxr-xr-x. 3 root root 17 Dec 14 22:05 src -rw-r--r--. 1 root root 1499 Dec 14 22:05 web_demo.iml ``` <br/> ## 7.2 設置SSH免密登錄 :-: ![](https://img.kancloud.cn/d9/62/d9629bca9d24090705477d7455feae3c_1171x116.jpg) SSH免密登錄示意圖 **1. 在 Jenkins 機器以`root`用戶生成公鑰和私鑰** ```shell # ssh-keygen -t rsa # cd /root/.ssh/ # ll -rw-------. 1 root root 1675 Dec 15 10:52 id_rsa 私鑰 -rw-r--r--. 1 root root 394 Dec 15 10:52 id_rsa.pub 公鑰 ``` **2. 把公鑰放在Gitlab中** 以`root`賬戶登錄 Gitlab -> 點擊頭像 -> Settings -> SSH Keys。把文件`id_rsa.pub`的內容粘貼進去。 ![](https://img.kancloud.cn/d1/e9/d1e93e2bc8e0dfbcbb23241d29e8849e_1349x531.jpg) **3. 在Jenkins中添加私鑰為憑證** 系統管理 -> Manage Credentials。 ![](https://img.kancloud.cn/a9/49/a94959cc0f370d1bfcd7b459671e4d78_1480x418.jpg) ![](https://img.kancloud.cn/a0/37/a037c2ae4cf291f26b3bf1e2f084c533_1126x627.jpg) **4. 測試憑證是否可用** (1)新建任務 -> 輸入一個任務名稱 -> 源碼管理。 ![](https://img.kancloud.cn/95/c7/95c7ae7eb790cd86be5591da9c165156_1690x479.jpg) (2)立即構建。 ![](https://img.kancloud.cn/e4/fe/e4fe91f2e42289a2433d1e72003e8768_1559x317.jpg) (3)構建完成后查看 控制臺輸出。 ![](https://img.kancloud.cn/3a/62/3a62da0d2e89f1aea38ba3284a0f5b33_1404x263.jpg) ![](https://img.kancloud.cn/c3/7d/c37d1d85ec06312c76fd2286c022346d_1289x312.jpg) (4)到 Jenkins 機器上查看,發現已經從Gitlab成功拉取了代碼到Jenkins中。 ```shell # cd /var/lib/jenkins/workspace/test02 # ll total 20 -rw-r--r--. 1 root root 2636 Dec 15 10:57 email.html -rw-r--r--. 1 root root 1374 Dec 15 10:57 Jenkinsfile -rw-r--r--. 1 root root 625 Dec 15 10:57 pom.xml -rw-r--r--. 1 root root 579 Dec 15 10:57 sonar-project.properties drwxr-xr-x. 3 root root 17 Dec 15 10:57 src -rw-r--r--. 1 root root 1499 Dec 15 10:57 web_demo.iml ``` <br/> # 8. Maven安裝和配置 在Jenkins集成服務器上,我們需要安裝Maven來編譯和打包項目。 <br/> **1. 安裝Maven與配置環境變量** maven下載地址:https://maven.apache.org/download.cgi ```shell wget https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz tar -xzf apache-maven-3.8.4-bin.tar.gz -C /opt/install cd /opt/install/apache-maven-3.8.4/ # pwd /opt/install/apache-maven-3.8.4 --配置環境變量 # vim /etc/profile export JAVA_HOME=/opt/install/jdk1.8.0_171 export PATH=$PATH:$JAVA_HOME/bin export MAVEN_HOME=/opt/install/apache-maven-3.8.4 export PATH=$PATH:$MAVEN_HOME/bin # source /etc/profile # mvn -v Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537) Maven home: /opt/install/apache-maven-3.8.4 Java version: 1.8.0_171, vendor: Oracle Corporation, runtime: /opt/install/jdk1.8.0_171/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-1160.49.1.el7.x86_64", arch: "amd64", family: "unix" --修改本地倉庫目錄為/opt/install/apache-maven-3.8.4/repo # vim /opt/install/apache-maven-3.8.4/conf/settings.xml <localRepository>/opt/install/apache-maven-3.8.4/repo</localRepository> ``` **2. 全局工具配置關聯JDK和Maven** (1)系統管理 -> 全局工具配置 -> JDK -> 新增JDK。 ![](https://img.kancloud.cn/ec/fc/ecfced76fd26b096692e7a780e1c57a1_1459x457.jpg) (2)系統管理 -> 全局工具配置 -> Maven -> 新增Maven。 ![](https://img.kancloud.cn/2f/74/2f740b3305e9856db57767edc0f6dc25_1449x374.jpg) **3. 添加Jenkins全局變量** 系統管理 -> 系統配置 -> 全局屬性 -> 環境變量。 ![](https://img.kancloud.cn/b2/53/b253a3a693c70bf9fc425e6d6542ee89_1396x403.jpg) ![](https://img.kancloud.cn/03/82/0382749d7f0b27fbef738001e6b2e279_1392x243.jpg) ![](https://img.kancloud.cn/f7/50/f750b759aa677ebe17c3e2524f3319fe_1421x247.jpg) **4. 測試Maven是否配置成功** 在Jenkins上隨便找之前好的一個任務,比如 test02。 ![](https://img.kancloud.cn/9d/64/9d64c20262f746f02ab81e41122a36c3_1386x267.jpg) ![](https://img.kancloud.cn/21/2a/212a887ce46caf049684ca7c797b47af_1180x364.jpg) 再次構建,控制臺看到把項目打成 war,代碼Maven配置成功。 ![](https://img.kancloud.cn/98/d1/98d1816f7c572b2b193a71741bfe7f88_1255x363.jpg) <br/>
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看