jenkins学习笔记之十:配置Gitlab提交流水线

简介: jenkins学习笔记之十:配置Gitlab提交流水线

一、添加测试Maven项目

1.新建一个gitlab项目

2.导入simple-java-maven-app仓库代码(可以去github或者Gittree上都有)

3.配置mvn 国内源

参考:https://developer.aliyun.com/article/1039874

二、创建并配置测试流水线

1.新建流水线

2.添加选项参数

3.配置pipeline

三、编写测试jenkinsfile

1.jenkinsfile

ci.jenkinsfile

#!groovy
@Library('jenkinslibrary@master') _
// shareLibrary 函数
def build = new org.devops.build()
def tools = new org.devops.tools()
// jenkins 配置参数
String srcUrl = "${env.srcUrl}"
String branchName = "${env.branchName}"
String buildType = "${env.buildType}"
String buildShell = "${env.buildShell}"
pipeline {
    agent any
    stages {
        stage("CheckOut"){
            steps{
                script{
                    tools.PrintMes("获取代码","green")
                    // 具体使用可以查看流水线语法
                    checkout scmGit(branches: [[name: "${branchName}"]], extensions: [], userRemoteConfigs: [[credentialsId: 'e7054d0e-275e-48ca-8188-e69da2faffb8', url: "${srcUrl}"]])
                }
            }
        }
        stage("Build"){
            steps{
                script {
                    tools.PrintMes("编译打包","blue")
                    build.Build(buildType,buildShell)
                }
            }
        }
        
    }
}

2.shareLibrary

src/org/devops/build.groovy

package org.devops
// 构建类型
def Build(buildType,buildShell){
    
    // M3 ANT等值都是配置相关全局工具是定义的名称
    def buildTools = ["mvn":"M3","ant":"ANT","gradle":"GRADLE","npm":"NPM"]
    
    println("当前选择的构建类型为:${buildType}")
    buildHome = tool buildTools[buildType]
    
    sh "${buildHome}/bin/${buildType}  ${buildShell}"
}

src/org/devops/tools.groovy

package  org.devops
//格式化输出
def PrintMes(value,color){
    colors = ['red'   : "\033[40;31m >>>>>>>>>>>${value}<<<<<<<<<<< \033[0m",
              'blue'  : "\033[47;34m ${value} \033[0m",
              'green' : "\033[40;32m >>>>>>>>>>>${value}<<<<<<<<<<< \033[0m" ]
    ansiColor('xterm') {
        println(colors[color])
    }
}

四、验证以上配置

五、配置gitlab提交流水线

1.安装通用触发器插件

2.配置触发器

选择触发器

3.为触发器添加相关参数

4.配置gitlab 项目webhook

5. 验证钩子是否生效,确保状态码200,并且查看jenkins是否运行流水线

六、查看Generic Webhook插件打印信息

 

相关文章
|
2月前
|
jenkins 持续交付 开发工具
jenkins学习笔记之一:流水线基础语法
jenkins学习笔记之一:流水线基础语法
|
10天前
|
JSON API 数据格式
1api触发gitlab流水线
1api触发gitlab流水线
|
10天前
6-14|gitlab的runner的流水线怎么看
6-14|gitlab的runner的流水线怎么看
|
2月前
|
Shell Docker 容器
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
|
2月前
|
jenkins 持续交付 API
enkins学习笔记之十一:优化Gitlab提交流水线
enkins学习笔记之十一:优化Gitlab提交流水线
enkins学习笔记之十一:优化Gitlab提交流水线
|
2月前
|
安全 jenkins 持续交付
jenkins学习笔记之八:jenkins认证集成gitlab
jenkins学习笔记之八:jenkins认证集成gitlab
|
2月前
|
弹性计算 运维 Serverless
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
51 1
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
|
2月前
|
敏捷开发 Java 测试技术
阿里云云效产品使用合集之如何下载流水线构建过程中生成的jar
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何限制在本地的构建主机创建的流水线的并发数
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
敏捷开发 Java 测试技术
阿里云云效产品使用合集之怎么设置流水线中的全局参数
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
下一篇
无影云桌面