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

a)生成一个pull stage

可以在流水线语法里选择 片段生成器
然后选择checkout from version controller,拉取代码
选择类型为git,填写好git项目地址,填写拉取分支名字
生成流水线脚本,脚本里就包含了凭证信息
填写到流水线中后,点击保存—构建—就看到了拉取的日志
在这里插入图片描述

b)生成一个构建stage

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

在这里插入图片描述

c)生成一个部署stage

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

在这里插入图片描述

使用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: 'git@192.168.26.137: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)
在这里插入图片描述

需要安装GitlabHook插件: Gitlab Hook和GitLab
在这里插入图片描述

gitlab修改配置

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

END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值