zoukankan      html  css  js  c++  java
  • jenkins+gitlab webhooks 实现自动触发打包

    说明:实现代码在gitlab上的提交后立马自动进行jenkins的job构建

    安装插件:

         Gitlab Hook Plugin 

         Build Authorization Token Root Plugin

         Parameterized Trigger plugin (可选)

         Build Pipeline Plugin(可选)

    通过  openssl rand -hex 10 命令随机生成一个字符串,用于远程构建的令牌(token)

     

    jenkins 配置

    gitlab配置:

    选中项目后,点击 settings ----->webhooks,添加

    http://10.10.10.11:8080/jenkins/buildByToken/build?job=test_pipeline&token=80522a5c8be0812ac4f9
    
    注释:绿色为jenkins url地址,蓝色为固定格式,红色为job名称和tocken令牌

     

    测试一下

    测试结果如图表示正常:

    pipeline脚本(jenkins里设置)

    pipeline {
        agent any
        environment { 
        def ITEMNAME = "flagship"
        def SRCCODE_DIR = "/root/.jenkins/workspace/test_pipeline/flagship-bigdata/"
        }
        stages {    
            stage('代码拉取并打包'){
                steps {
                echo "checkout from ${ITEMNAME}"
                checkout ([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'b96e05e1-193f-4e06-9195-fcaf31f579e9', url: 'http://10.10.10.217/test/test.git']]])
                echo "开始打包 "
                sh 'export JAVA_HOME=/usr/local/java/jdk1.7.0_80 && cd $SRCCODE_DIR && mvn clean install -DskipTests -Denv=beta'    
                }
    }
    }
    }

     此处脚本只演示gitlab代码拉取与项目打包

    以上设置完成后,gitlab有代码更新就会自动触发jenkins 执行job

    效果图展示:

     

  • 相关阅读:
    Apache(文章测试)
    这是一篇Markdown手册
    Linux MySQL 8.0 忘记密码
    composer 自动加载源码解析
    Linux 连接 Internet
    PHP namespace、abstract、interface、trait使用介绍
    网络基础知识
    CentOS7安装Nginx、MySQL、PHP
    局域网内使用ssh连接两台计算机总结
    整数和浮点数的表示方法
  • 原文地址:https://www.cnblogs.com/FRESHMANS/p/8192187.html
Copyright © 2011-2022 走看看