• 安装、配置jenkins(CentOS 7 64位)-发布基于Maven+github+jenkins的自动构建项目


    1.安装jenkins(准备java环境,必须jdk8及以上)

    下载JDK 1.8,上传到centos7系统上

    http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz?AuthParam=1538988644_c7f213461e0c9f00c91a6a550db5f831

    解压:tar -zxvf jdk-8u181-linux-x64.tar.gz

    另存:

      mkdir /usr/local/jdk/

      mv jdk1.8.0_181/* /usr/local/jdk/

    配置环境变量:

      vi /etc/profile

        JAVA_HOME=/usr/local/jdk

        JRE_HOME=$JAVA_HOME/jre

        PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

        CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar

        export JAVA_HOME JRE_HOME PATH CLASSPATH

    重新加载环境配置:source /etc/profile


    下载jenkins:wget http://mirrors.jenkins.io/war/latest/jenkins.war

    后台启动: nohup java -jar jenkins.war --ajp13Port=-1 --httpPort=9999 >temp.txt &

    jenkins的docker镜像制作:请见码云 创建jenkins的docker镜像

    2. 环境准备

    git安装:

      下载安装包:wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

      依赖包(centos):yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

      依赖包(ubuntu): apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev

                apt-get -y install gcc automake autoconf libtool make

      解压:tar -zxvf git-2.9.5.tar.gz

      进入解压包:cd git-2.9.5

      编译:make prefix=/usr/local/git all

      安装:make prefix=/usr/local/git install

    maven安装:

      下载安装包:wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

      解压:tar -zxvf apache-maven-3.3.9-bin.tar.gz

      移到指定目录:mv apache-maven-3.3.9 /usr/local/maven

      配置环境变量:vim /etc/profile

        M2_HOME=/usr/local/maven

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

      重新加载环境配置:source /etc/profile

    3.启动、配置

    输入提示路径下的密码,安装默认的插件,设置管理员用户,确定jenkins根路径

    【系统管理】->【全局工具配置】:

        

        

        

        

     【系统管理】->【插件管理】:

      【Safe Restart Plugin】  //重启jenkins系统

      【Email Extension Plugin】  //由于Jenkins自带的邮件功能比较鸡肋,因此推荐安装专门的邮件插件

      【maven integration plugin】  //该插件安装了,才能创建maven项目

      【git plugin】  //从远程拉取代码

      【publish over ssh】  //ssh远程登录

      【SSH Plugin】  //SSH登录到一个远程服务器以执行必要的脚本

    【系统管理】->【全局安全配置】:

      

      

    【系统管理】->【系统设置】:

      【SSH remote hosts】:

      

      【邮件设置】:

        

      【Publish over SSH】:

        

         

      

    4.创建构建任务

    【新建任务】:

      任务名称->构建maven任务->确认

      

    5.手动触发构建

    【jenkins主页面】->【相应的构建任务】->【立即构建】

      

    注:防火墙的shell命令:

      firewall-cmd --zone=public --add-port=80/tcp --permanent  (--permanent永久生效,没有此参数重启后失效)

      firewall-cmd --reload  重新载入

      firewall-cmd --zone=public --remove-port=80/tcp --permanent  删除

      firewall-cmd --zone=public --query-port=80/tcp  查看

      firewall-cmd --state  查看firewall是否运行

      firewall-cmd --list-services  查看当前开了哪些端口

      firewall-cmd --get-services  查看还有哪些服务可以打开

      firewall-cmd --zone=public --list-ports  查看所有打开的端口

    邮箱内容模版(Default Content):

    <!DOCTYPE html>    
    <html>    
    <head>    
    <meta charset="UTF-8">    
    <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>    
    </head>    
        
    <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"    
        offset="0">    
        <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
            <tr>    
                本邮件由系统自动发出,无需回复!<br/>            
                各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br> 
                <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>   
            </tr>    
            <tr>    
                <td><br />    
                <b><font color="#0B610B">构建信息</font></b>    
                <hr size="2" width="100%" align="center" /></td>    
            </tr>    
            <tr>    
                <td>    
                    <ul>    
                        <li>项目名称 : ${PROJECT_NAME}</li>    
                        <li>构建编号 : 第${BUILD_NUMBER}次构建</li>    
                        <li>触发原因: ${CAUSE}</li>    
                        <li>构建状态: ${BUILD_STATUS}</li>    
                        <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>    
                        <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                        <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>    
                        <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>    
                    </ul>    
    
    <h4><font color="#0B610B">失败用例</font></h4>
    <hr size="2" width="100%" />
    $FAILED_TESTS<br/>
    
    <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
    <hr size="2" width="100%" />
    <ul>
    ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
    </ul>
    详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
    
                </td>    
            </tr>    
        </table>    
    </body>    
    </html>    

    配置模块友情链接:

    docker+github+jenkins+maven自动化部署----邮件配置
    docker+github+jenkins+maven自动化部署----提交代码到github时自动触发构建任务配置
    docker+github+jenkins+maven自动化部署----代码检查和覆盖率检查SonarQube+JaCoCo+Jenkins+Maven配置

    ****Build a Java app with Maven**** 

  • 相关阅读:
    汇编语言(王爽 第三版)实验十四
    汇编语言(王爽 第三版)实验十三
    汇编语言(王爽 第三版)实验十二
    汇编语言(王爽 第三版)实验十一
    汇编语言(王爽 第三版)实验十
    汇编语言(王爽 第三版)实验九
    汇编语言(王爽 第三版)实验七
    android SQLite数据库的基本操作
    Android异步处理系列文章四篇之四 AsyncTask的实现原理
    Android异步处理系列文章四篇之三
  • 原文地址:https://www.cnblogs.com/pascall/p/9724424.html
Copyright © 2020-2023  润新知