Jenkins 自動化部署搭建 - 基於Ubuntu 18.04環境


  •  

     

    一、前置准備

    1. VMware 下載、安裝略,可百度
      VMware做練習搭建使用
    2. Ubuntu 18.04 

      下載地址:http://mirrors.aliyun.com/ubuntu-releases/18.04/

    3. Jenkins 

      下載地址:https://jenkins.io/zh/download/

    4. JDK

      下載名稱:jdk-8u201-linux-x64.tar.gz

      下載地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    5. Tomcat

      下載名稱:Core下tar.gz

      下載地址:https://tomcat.apache.org/download-80.cgi

    6. Git

      下載地址:

      https://git-scm.com/download/linux

    7. Maven

      下載地址:http://maven.apache.org/download.cgi

    8. Nodejs

      下載地址:https://nodejs.org/en/download/current/

    9. Gradle

      下載地址:http://services.gradle.org/distributions/

    10. Android SDK

      下載地址:http://tools.android-studio.org/index.php/sdk/

       

       

    二、Linux下所需軟件安裝配置

    1. JDK

      解壓

      tar -zxvf jdk-8u201-linux-x64.tar.gz

      配置環境變量

      vim /etc/profile

      #  在文件底部添加以下內容

      export JAVA_HOME=/opt/jdk

      export JRE_HOME=${JAVA_HOME}/jre    

      export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib   

      export PATH=${JAVA_HOME}/bin:$PATH

      激活修改

      source /etc/profile

      驗證

      java -version

    2. Tomcat

      解壓

      tar -zxvf tomcat-8.5.38.tar.gz

       

      賦權限

      sudo chmod 755 -R tomcat

      修改啟動腳本

      vim startup.sh

      #  在文件底部添加以下內容

       

      #set java environment

       

      export JAVA_HOME=/opt/jdk

       

      export JRE_HOME=${JAVA_HOME}/jre

       

      export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib

       

      export PATH=${JAVA_HOME}/bin:$PATH

       

      #tomcat

       

      export TOMCAT_HOME=/opt/tomcat

    3. Nodejs

      解壓

      tar xvf node-v11.12.0-linux-x64.tar.xz

       

      配置環境變量

      vim /etc/profile

      #  在文件底部添加以下內容

      export NODE_HOME=/opt/nodejs/node/bin

      export PATH=$NODE_HOME:$PATH

      激活修改

      source /etc/profile

      驗證

      node -v

      npm -v

    4. Maven

      解壓

      tar -zxvf apache-maven-3.6.0-bin.tar.gz

       

      修改 conf/setting.xml,配置本地倉庫路徑,地址為自己創建的地址

       

       

      配置環境變量

      vim /etc/profile

      #  在文件底部添加以下內容

      export M2_HOME=/opt/maven

      export CLASSPATH=$CLASSPATH:$M2_HOME/lib

      export PATH=$PATH:$M2_HOME/bin

      激活修改

      source /etc/profile

      驗證

      mvn -v

    5. Gradle

      解壓

      unzip gradle-5.3.1-bin.zip

       

      配置環境變量

      vim /etc/profile

      #  在文件底部添加以下內容

      export GRADLE_HOME=/opt/gradle

      export PATH=$GRADLE_HOME/bin:$PATH

      激活修改

      source /etc/profile

      驗證

      gradle -version

    6. Android SDK

      解壓

      tar -zxvf android-sdk_r24.4.1-linux.tgz

      配置環境變量

      vim /etc/profile

      #  在文件底部添加以下內容

      export ANDROID_HOME=/opt/sdk

      export PATH=$ANDROID_HOME/tools:$PATH

      激活修改

      source /etc/profile

      驗證

      android list sdk --all

      安裝SDK版本

      # 全部安全

      android update sdk --no-ui

      # 選擇安裝

      android update sdk -u all -filter 1,2,3

    7. Git

      安裝

      sudo apt-get install git

      git 關聯 gitlab

      cd ~/

      mkdir .ssh

      cd .ssh

      ssh-keygen -t rsa -C "xxx" (XX填寫郵箱地址)

      默認一直回車,直到看到以下界面

       

       

      獲取 key 值

      vim id_rsa.pub

      復制全部內容,放到 gitlab → setting → SSH Keys 中

       


      免密登錄

      cd .ssh

      ssh-copy-id 服務器ip

    8. Jenkins

      1)將下載的的安裝包 *.war 拷貝到 Tomcat 的 webapps 下

      2)啟動 tomcat 

      sudo ./startup.sh

      3)訪問地址:   ip地址:8080/jenkins

      4)開始界面需要輸入密碼,密碼位置:

      logs/catalina.out 或 /root/.jenkins/secrets/initialAdminPassword

      5)安裝插件,插件可自定義安裝,下面只列用到的

      Git

      Maven

       

    三、Jenkins使用配置

    1. 全局工具配置
         

       



    2. 權限配置

              1)進入系統管理 → 全局安全配置,啟用 Role-Based Strategy

               

     

              2)進入系統管理 → Manage and Assign Roles,選擇 Manage Roles,選擇該項可以創建全局角色,項目角色,並為角色分配權限

                    Project角色就是可以根據不同任務前綴 進行隔離,以下創建了 app  offline online Test 四個分組  每個分組創建了2個角色,

                    管理員 (具有配置構建等權限),member角色(只有構建權限)

     

     

                             

                       注意: Pattern 是任務前綴的匹配,例如任務名 App 開頭的任務只會被 App 分組的用戶看到

     

              3)創建添加用戶權限,進入 Assign Roles

                     

     

              4)創建用戶

                    

     

                    創建 TestA 任務,用戶 test(只有構建權限)用戶登錄進去,只能看到 TestA 任務,實現不同用戶不同視圖不同權限

                     

     

     

    四、相關補充

    1. Linux 文件互傳

      l 單個文件

      scp /home/test1.txt ceshi@172.16.18.1:/home/test2.txt

      其中,test1為源文件,test2為目標文件,ceshi@172.16.18.1為遠程服務器的用戶名和ip地址。

      l 文件夾

      scp -r /home/ ceshi@172.16.18.1:/home/

      把home文件夾傳到ceshi@172.16.18.1服務器下的home中



    2.        Jenkins 備份及重新部署

      l 備份Jenkins的配置

      進入{用戶目錄}/.jenkins目錄下,使用tar -cvf jenkins.tar .jenkins/*命令 對該目錄下的所 有文件進行打包。然后導出到本地(sz 文件名:導出文件/壓縮包等)

      l Jenkins重新部署

      一定要是相同的版本,如果版本不同,插件配置可能無法使用,備份文件Jenkins在用 戶根目錄下解壓,重啟Jenkins服務。

    注意:

    ./jenkins中包含源代碼和構建的工程war包或者jar包,如果不想打源碼,可以不壓縮workspace目錄。如果不需要構建好的包,可以到jobs目錄下刪除包。

     

     

    五、問題記錄及解決

    1) ssh連接The authenticity of host can't be established

    修改/etc/ssh/ssh_config文件的配置,以后則不會再出現此問題

    最后面添加:

    StrictHostKeyChecking no

    UserKnownHostsFile /dev/null

     


免責聲明!

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



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