Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)

a)生成一个pull stage

可以在流水线语法里选择 片段生成器
然后选择checkout from version controller,拉取代码
选择类型为git,填写好git项目地址,填写拉取分支名字
生成流水线脚本,脚本里就包含了凭证信息
填写到流水线中后,点击保存—构建—就看到了拉取的日志
Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第1张图片

b)生成一个构建stage

选择sh:shell script
输入mvc clean package,点击生成脚本,然后再把该片段复制到流水线中去
保存后再构建

Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第2张图片

c)生成一个部署stage

还是在代码生成器里选择deploy: Deploy war/ear to a container
填写WAR files:targer/*.war
选择tomcat7远程,然后填写tomcat的地址就可远程部署
还可以注意到是可以同时部署多台tomcat

Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第3张图片

使用pipeline script from SCM

配置好对应的git地址,在项目根目录建立创建Jenkinsfile

pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'c38febfe-632c-438b-ac72-977cf507da5a', url: '[email protected]:root/hellomaven.git']]])
            }
        }
        
        stage('build code') {
            steps {
               sh 'mvn clean package'
            }
        }
        
        stage('publish code') {
            steps {
               deploy adapters: [tomcat7(credentialsId: 'ebf826c4-6024-425b-b2d4-82eecc864026', path: '', url: 'http://192.168.26.137:8080')], contextPath: null, war: 'target/*.war'
            }
        }
    }
}

二、配置Git hook自动触发构建

Jenkins内置4种构建触发器:

触发远程构建
其他工程构建后触发(Build after other projects are build)
定时构建(Build periodically)
轮询SCM(Poll SCM)
Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第4张图片

需要安装GitlabHook插件: Gitlab Hook和GitLab
Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第5张图片

gitlab修改配置

Settings --> network --> 勾选"Allow requests to the local network from web hooks and services" 让网络钩子允许请求本地网络。
否则添加webhook的时候会报错 “ Url is blocked: Requests to localhost are not allowed”
Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第6张图片
gitlab v14版本位置,有所不同。注意要在项目下配置
Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第7张图片
Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第8张图片
最后拉到页面下方,点击“add webhook”即可。 他的“Test”下拉框可测试功能,如push events
Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第9张图片
此时会报错Hook executed successfully but returned HTTP 403,处理方法:系统配置 ——-》配置全局设置和路径
Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第10张图片
Jenkins使用pipeline构建maven项目 & 配置Git hook自动触发构建(webhook)_第11张图片
此时当push 代码的时候,就会触发构建Jenkins任务。

END

你可能感兴趣的:(git,&,Jenkins,maven,Jenkins,webhook)