zoukankan      html  css  js  c++  java
  • CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持续集成系统

     一、Jenkinx(持续集成工具)

    官网:https://jenkins.io/

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

    Jenkins功能包括:
    1、持续的软件版本发布/测试项目。
    2、监控外部调用执行的工作。
     
    Jenkins启动:
    首先保证系统中已经安装了jdk,最好是jdk1.8以上。
    第一种启动方法,切换到jenkins.jar存放的目录,输入如下命令:
    $ java -jar jenkins.jar
    然后在浏览器中(推荐用火狐)输入localhost:8080,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins
    第二种方法是用tomcat打开
    解压tomcat到某个目录,如/usr/local,进入tomcat下的/bin目录,启动tomcat
    将jenkins.war文件放入tomcat下的webapps目录下,启动tomcat时,会自动在webapps目录下建立jenkins目录,所以在地址栏上需要输入的地址于上一种方法有点不一样。
     
     
    二、GIT(分布式版本控制系统)
    官网:https://git-scm.com/
    Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的读音为/gɪt/。
    Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
     
    三、Maven(项目对象模型(POM))
    官网:http://maven.apache.org/
    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具
    Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
     
     
    四、Gradle(安卓APP项目构建工具)
    官网:https://gradle.org/
    Gradle是一种构建工具,它可以帮你管理项目中的差异,依赖,编译,打包,部署......,你可以定义满足自己需要的构建逻辑,写入到build.gradle中供日后复用.

    Gradle不是一种编程语言,它不能帮你实现软件中的任何实际功能

     
    背景
    因公司项目较多,测试环境经常发布代码更新,每次更新代码都是手动执行命令将代码上传至服务器,繁琐。所以需要使用jenkins持续集成工具,方法管理代码、发布、测试,集中管理,需要搭建jenkins+jdk+git+maven+gradle,jenkins不需要依赖于数据库。
     
     
    安装java环境
    1.查看服务器版本
    cents7,继续。
    cat /etc/redhat-release
    CentOS Linux release 7.3.1611 (Core) 
     
     
    2.安装java
    yum install java 
    但对于centos有个问题,不可以安装成gcj(GNU Compiler for the Java Programing Language),导致jenkins不工作,如果查看java版本类似如下,需要卸载,安装其他版本
    java -version java version "1.5.0" gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)
     
    3.卸载异常版本:
    yum remove java 
     
     
    4.搜索openJDK版本
    yum search openjdk
    
    #java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
    #java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
    #java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector ...
     
    5.安装openJDK
    #安装`1.8.0`的 
    yum install java-1.8.0-openjdk 
     
    6.查看java版本
    java -version
    
    openjdk version "1.8.0_151"
    OpenJDK Runtime Environment (build 1.8.0_151-b14)
    OpenJDK 64-Bit Server VM (build 25.151-b14, mixed mode)
     
     
    一、安装jenkins
    可以选择安装LTS Release版本,好像每半年迭代一次。或者Weekly Release,每一周或者两周更新一次。
    最近的版本2.24隔了两个礼拜,估计10月9号会发布最新为2.25,每个版本会有一些enhancement & bug fix。
    1.拉取库的配置到本地对应文件
    wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo 
     
    jenkins.repo内容是这样:
    [jenkins]
    name=Jenkins-stable
    baseurl=http://pkg.jenkins.io/redhat-stable
    gpgcheck=1 
     
     
    2.导入公钥
    rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key 
     
    3.安装jenkins
    #`-y`参数:回答全部问题为是
    yum -y install jenkins 
    基本安装完成。
     
     
    下载rpm包过程中报错
    Downloading Packages:
    http://pkg.jenkins.io/redhat/jenkins-2.16-1.1.noarch.rpm: [Errno 14] PYCURL ERROR 18 - "transfer closed with 66371436 bytes remaining to read" Trying other mirror.
     
    Error Downloading Packages:
      jenkins-2.16-1.1.noarch: failure: jenkins-2.16-1.1.noarch.rpm from jenkins: [Errno 256] No more mirrors to try.
    大概就是下载速度太慢关闭了,这里的解决办法是多次执行install直到下完或者还是到自已机器下载再上传到rpm所在目录,下载链接
     
     
     
     
    顺便贴一下LTS安装指令,只是稍有不同:
    wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
    rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key 
    yum install jenkins 
     
     
     
     
     
     
    4.更新jenkins
    yum update jenkins 
     
     
    熟悉jenkins配置
    1.系统配置文件
    cat /etc/sysconfig/jenkins | more 
     
    可以获得几个重要配置项目信息
    • JENKINS_HOME="/var/lib/jenkins"   ###存放jenkins 配置及工作文件
    • JENKINS_PORT="8080"     ###jenkins默认8080端口
    • /etc/sysconfig/jenkins ###jenkins配置文件
     
     
     
     
    2.配置文件夹
    这个位置挺重要
    ls /var/lib/jenkins 
    有jobs、logs、plugins等文件夹及文件若干。勿乱删
    这次主要看了看plugins文件夹,所有插件都在里面,如插件ssh-slaves,会有一个ssh-slaves文件夹及ssh-slaves.jpi。
    当某个插件未安装成功时,会有一个以.tmp结尾的文件
     
    3.日志
    logs相关两个位置:
    • /var/lib/jenkins/logs有logs,暂时看来没记录啥,以后再追。
    • /var/log/jenkins/jenkins.log,记录了插件安装等日志,失败信息原因等很清晰,重要
     
     
    启动&配置
    1.启动服务
    systemctl start jenkins 
     
    2.浏览器访问
    http://IP地址:8080 
     
    3.获取管理员密码
    按提示,去/var/lib/jenkins/secrets/initalAdminPassword,复制贴进去,continue
     
    4.选择安装方式
    默认推荐吧,左边的。第二个自定义插件,如果知道需要什么插件,插件都是干嘛的,再选custom吧
     
    5.等待插件安装
    如果正常,没啥说的。如果像这样,一些插件失败了,刷新页面,下一步。失败的插件后来再装。
     
     
    6.插件安装失败分析
    这里贴一个相似的ISSUE,unsolved,就我个人遇到的可能有网络的原因
    查看jenkins.log,搜索failed关键字,一些插件依赖credentials,因为网络原因没安装成功credentials,导致好几个没安装成功。
    去jenkins管理界面手动安装吧
    Caused by: java.io.IOException: Plain Credentials Plugin v1.3 failed to load. - credentials v2.1.5 is missing. To fix, install v2.1.5 or later.
     
    7.手动安装异常插件
    系统管理 -> 管理插件 -> 可选插件,表格右上异步过滤,插件打勾,直接安装。安装插件就在这里安装。
    注意
    异常插件处理的时候,这里需要注意插件之间的依赖关系,A插件依赖的B插件没安装成功,安装A之前先安装B,管理插件里的异常列表写的很清楚。
     
    卸载jenkins
    在某次自动安装插件时异常了一大片,刷新也没出现下一步,等待许久无果,删了重装
    rpm -e jenkins 
    2.会有一些残留的文件分散在各地
    find / -iname jenkins | xargs -n 1000 rm -rf 
     
     
     
    二、安装Git
    1.Git 的安装
    Ubuntu 下安装
     apt-get install git 
    Centos/Redhat 安装
     yum install git 
    Fedora23 安装
     dnf install git 或者 yum install git 
    Fedora22/21 安装
     yum install git 
    SUSE/OPENSUSE安装
     sudo zypper install git 
    Mac OS X 安装
    在终端下执行 brew install git  (注:请自行解决环境变量以及Brew工具的问题)
     
     
    2、Git 使用前的配置
    配置自己的用户名和邮箱
    在使用git前,我们需要告诉git自己是谁以及自己的邮箱是什么,所以我们需要对git进行一些基本设置。打开终端(Windows打开安装git时安装的git bash)执行如下命令
    git config --global user.name "你的名字或昵称"
    git config --global user.email "你的邮箱" 
     
     
    3、生成SSH密钥对
     ssh-keygen   ###生成密码,一直回车
     
     
     cat .ssh/id_rsa.pub  ###查看公钥,复制公钥给开发的同事或者自己有GIT账号,登录GIT添加公钥,具体怎么添加请百度
     
     
     
    4、测试,返回结果为”Welcome to Gitee.com“正常访问
    ssh -T git@gitee.com
    Welcome to Gitee.com 
     
     
    5、测试从git上下载代码
     git clone git@gitee.com:crdev/******* 
     
     
    6、jenkins添加git安装路径,去掉自动安装的勾
     
     
    7、jenkins配置git密钥
     
     
     
     
     cat .ssh/id_rsa  ###查看私钥,复制私钥到jenkins里
     
     
     
    选择git代码下载地址,添加刚刚生成的密钥,如果密钥与git地址不匹配会报错
     
     

    三、Maven安装

    1、apache-maven-3.3.9-bin.tar.gz下载地址:

    wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz 

    2、解压安装:
    tar -zxvf apache-maven-3.3.9-bin.tar.gz
    mv apache-maven-3.3.9 /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven 
     
     
    3、配置环境变量:
    使用vim编辑 /etc/profile文件,在文件末尾增加以下内容:
    MAVEN_HOME=/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven  #注意这里是Maven的安装路径
    export PATH=$PATH:$MAVEN_HOME/bin

    重载/etc/profile这个文件

    source /etc/profile

    4、检验maven是否安装成功

    mvn -v
    
    #若出现以下内容,安装成功:
    Apache Maven
    3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00) Maven home: /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven Java version: 1.8.0_151, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-693.11.6.el7.x86_64", arch: "amd64", family: "unix"

    5、jenkins添加maven安装路径

    四、Gradle安装

    1、 下载地址:

    wget https://downloads.gradle.org/distributions/gradle-2.10-all.zip 

    2、解压安装:

    unzip gradle-2.10-all.zip 

    mkdir -p /var/lib/jenkins/tools/hudson.model.Gradle 

    mv /var/lib/jenkins/tools/hudson.model.Gradle/gradle-2.10 

    3、配置环境变量:
    使用vim编辑 /etc/profile文件,在文件末尾增加以下内容:
    GRADLE_HOME=/var/lib/jenkins/tools/hudson.model.Gradle/gradle-2.10   #注意这里是Gradle的安装路径
    export PATH=$PATH:$MAVEN_HOME/bin

    重载/etc/profile这个文件

    source /etc/profile 

    4、检验gradle是否安装成功

    gradle -version
    
    #若出现以下内容,安装成功:
    
    ------------------------------------------------------------
    Gradle 2.10
    ------------------------------------------------------------
    
    Build time:   2015-12-21 21:15:04 UTC
    Build number: none
    Revision:     276bdcded730f53aa8c11b479986aafa58e124a6
    
    Groovy:       2.4.4
    Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
    JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
    OS:           Linux 3.10.0-693.11.6.el7.x86_64 amd64

    5、jenkins添加gradle安装路径

    Jenkins+Jdk+Git+Maven+Gradle搭建已经完成,接下构建项目并部署,请查看“Jenkins+Jdk+Git+Maven持续集成部署Weblogic实例项目” 或者 “Jenkins+Jdk+Git+Maven持续集成部署Tomcat实例项目”

  • 相关阅读:
    【Express系列】第3篇——接入mysql
    【Express系列】第2篇——主程序的改造
    【Express系列】第1篇——项目创建
    AngularJS内置指令
    node服务端搭建学习笔记
    生成ssh key
    webstorm的常用操作
    VSCode 常用插件
    php集成包
    composer安装特别慢的解决方案
  • 原文地址:https://www.cnblogs.com/ivan-yang/p/8323719.html
Copyright © 2011-2022 走看看