Jenkins 自动化部署搭建 一、前置准备 二、Linux下所需软件安装配置 三、Jenkins使用配置 四、相关补充 五、问题记录及解决

  •  

    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,配置本地仓库路径,地址为自己创建的地址

       Jenkins 自动化部署搭建
一、前置准备
二、Linux下所需软件安装配置
三、Jenkins使用配置
四、相关补充
五、问题记录及解决

      配置环境变量

      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填写邮箱地址)

      默认一直回车,直到看到以下界面

       Jenkins 自动化部署搭建
一、前置准备
二、Linux下所需软件安装配置
三、Jenkins使用配置
四、相关补充
五、问题记录及解决

      获取 key 值

      vim id_rsa.pub

      复制全部内容,放到 gitlab → setting → SSH Keys 中

      Jenkins 自动化部署搭建
一、前置准备
二、Linux下所需软件安装配置
三、Jenkins使用配置
四、相关补充
五、问题记录及解决


      免密登录

      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. 全局工具配置
         Jenkins 自动化部署搭建
一、前置准备
二、Linux下所需软件安装配置
三、Jenkins使用配置
四、相关补充
五、问题记录及解决

    2. 权限配置

              1)进入系统管理 → 全局安全配置,启用 Role-Based Strategy

               Jenkins 自动化部署搭建
一、前置准备
二、Linux下所需软件安装配置
三、Jenkins使用配置
四、相关补充
五、问题记录及解决

              2)进入系统管理 → Manage and Assign Roles,选择 Manage Roles,选择该项可以创建全局角色,项目角色,并为角色分配权限

                    Project角色就是可以根据不同任务前缀 进行隔离,以下创建了 app  offline online Test 四个分组  每个分组创建了2个角色,

                    管理员 (具有配置构建等权限),member角色(只有构建权限)

     Jenkins 自动化部署搭建
一、前置准备
二、Linux下所需软件安装配置
三、Jenkins使用配置
四、相关补充
五、问题记录及解决

                             

                       注意: Pattern 是任务前缀的匹配,例如任务名 App 开头的任务只会被 App 分组的用户看到

              3)创建添加用户权限,进入 Assign Roles

                     Jenkins 自动化部署搭建
一、前置准备
二、Linux下所需软件安装配置
三、Jenkins使用配置
四、相关补充
五、问题记录及解决

              4)创建用户

                    Jenkins 自动化部署搭建
一、前置准备
二、Linux下所需软件安装配置
三、Jenkins使用配置
四、相关补充
五、问题记录及解决

                    创建 TestA 任务,用户 test(只有构建权限)用户登录进去,只能看到 TestA 任务,实现不同用户不同视图不同权限

                     Jenkins 自动化部署搭建
一、前置准备
二、Linux下所需软件安装配置
三、Jenkins使用配置
四、相关补充
五、问题记录及解决

    四、相关补充

    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