Jenkins-自动化

定时构建

使用Cron表达式指定执行时间。
在这里插入图片描述

# 格式
# ┌──分(0 - 59)
# │ ┌──时(0 - 23)
# │ │ ┌──日(1 - 31)
# │ │ │ ┌─月(1 - 12)
# │ │ │ │ ┌─星期(0 - 6,表示从周日到周六)
# │ │ │ │ │
# *  *  *  * 
# 每日 01:00
0 1 * * * 
# 这个时候Jenkins 会提示我们使用下面的语法H 1 * * *
# 可能有大量的job 被设定在每日01:00执行
#  H - jenkins可以自动安排执行顺序,减轻压力
* * * * * # 每分钟执行 这个时候我们要忽略下面的提示我们想要的就是每分钟执行
# Do you really mean "every minute" when you say "* * * * *"? Perhaps you meant "H * * * *" to poll once per hour

外部触发

首先安装插件:
在这里插入图片描述
2 我们通过发送
安装插件以后我们获取

# 获取crumb
curl -u "jenkins:jenkins" 'http://ip/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'
# Jenkins-Crumb:dcaad0c0555a9369b2874d4a6d8870b9f55d34510e9b2d537ef4cbd905ff7825# 保存crumb
crumb=$(curl -u "jenkins:1234" -s 'http://10.0.0.215:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')
#触发Jobs
curl -u "jenkins:1234" -H "$crumb" -X POST http://ip/job/maven-job/build?delay=0sec

Git server hooks

首先进入仓库:
Gitlab默认使用了hashed storage,可以在 Main menu > Admin > Overview > Projects下
选中项目,找到 Gitaly relative path 然后区对应的路,创建钩子文件。

Git server hooks可以定义 pre-receive, post-receive, update 等多种 Git server-side hooks

  • applypatch-msg
  • pre-applypatch
  • post-applypatch
  • pre-commit
  • prepare-commit-msg
  • commit-msg
  • post-commit
  • pre-rebase
  • post-checkout
  • post-merge
  • pre-receive
  • update
  • post-receive
  • post-update
  • pre-auto-gc
  • post-rewrite
  • pre-push
  • 如果只创建单个的server hook,创建一个名称与hook类型相符的文件。例如,对于一个预接收的server hook,文件名应该是pre-receive,没有扩展名。
  • 如果要创建多个server hook,为hook创建一个与hook类型相匹配的目录。例如,对于一个预接收的server hook,目录名称应该是pre-receive.d
# 新建custom_hooks目录
mkdir custom_hooks
cd  custom_hooks
vi post-receive

post-receive中写入,刚刚crumbIssuer的方式

#! /bin/bash
crumb=$(curl -u "jenkins:1234" -s 'http://10.0.0.215:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')curl -u "jenkins:1234" -H "$crumb" -X POST http://10.0.0.215:8080/job/maven-job/build?delay=0sec

保存,赋予执行权限

chmod u+x post-receive

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/623353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这本书没有一个公式,却讲透了数学的本质!

《数学的雨伞下:理解世界的乐趣》。一本足以刷新观念的好书,从超市到对数再到相对论,娓娓道来。对于思维空间也给出了一个更容易理解的角度。 作者:米卡埃尔•洛奈 原文完整版PDF:https://pan.quark.cn/s/019bf19c4981…

2024--Django平台开发-Redis持久化、主从复制、哨兵(十)

before Redis基础: Redis的安装:Windows平台、centos7 Windows平台不推荐安装,但是开发阶段,测试使用还是可以的,推荐使用centos等其他Linux平台,因为将来项目部署也要放到Linux云服务器上。 Redis的通用…

电子学会C/C++编程等级考试2023年09月(六级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:生日相同 在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。试找出所有生日相同的学生。 时间限制:1000 内存限制:65536 输入 第一行为整数n,表示有n个学生,n ≤ 180。此后每行包含一…

PL/1语言 :上古伟大的操作系统IBM System/3603的开发编程语言

PL/I (Programming Language One,发音为/pi /I w / n/,有时也写为PL/1)[1]是最初由IBM开发的一种过程式、命令式的计算机编程语言。它是为科学、工程、商业和系统编程而设计的。自20世纪60年代引入以来,它一直被学术、商业和工业组织不断使用…

14. 接口(适配器设计模式)

接口 接口1. 定义格式2. 成员特点2.1 成员方法2.2 默认方法2.3 静态方法2.4 变量 3. 接口的实现3.1 实现规则3.2 实现格式3.2.1 单实现格式3.2.2 多实现格式 3.3 接口的继承3.3.1 接口与类的继承3.3.2 接口与接口的继承 4.类与接口的区别5. 注意事项 适配器设计模式 接口 接口…

深入理解 go reflect - 要不要传指针

在我们看一些使用反射的代码的时候,会发现,reflect.ValueOf 或 reflect.TypeOf 的参数有些地方使用的是指针参数,有些地方又不是指针参数, 但是好像这两者在使用上没什么区别,比如下面这样: var a 1 v1 :…

dubbo如何实现像本地方法一样调用远程方法

Dubbo 实现像本地方法一样调用远程方法的核心技术是动态代理。Dubbo 使用JDK 动态代理或者字节码增强技术,生成一个代理类,该代理类实现了本地接口,具有本地接口的所有方法。在调用本地接口方法时,会通过代理类的 invoke 方法将请…

golang Iris 运行多个应用

在 Iris 里面,提供了一种方式可以让我们同时运行多个应用: 这里说的应用只是一个 Iris 框架实例,这个实例可以有完全不同的路由定义、中间件等。 不同端口不同应用 package mainimport ("log""net/http""time"…

二叉树的四种遍历方式

二叉树的遍历 二叉树常见的遍历方式有层序遍历,前序遍历,中序遍历,后序遍历 层序遍历 从顶部到底部,逐层进行遍历,且每一层按照从左到右的顺序遍历 层序遍历本质上是广度优先遍历(BFS) 代码实现 广度优先遍历一般使用队…

AI教我学编程之C#类的基本概念(1)

前言 在AI教我学编程之C#类型 中,我们学习了C#类型的的基础知识,而类正是类型的一种. 目录 区分类和类型 什么是类? 什么是类型? 追问 实操 总结 区分类和类型 在 C# 中,类是类型的一种。C# 是一种面向对象的编程…

js 数组内置的方法

JavaScript中数组内置了许多有用的方法,可以方便地操作和处理数组。以下是一些常用的数组方法: push():向数组末尾添加一个或多个元素,并返回新数组的长度。pop():移除数组末尾的元素,并返回被移除的元素。…

uniapp如何调用ANDROID原生函数

在 UniApp 中调用 Android 原生函数,通常需要使用 UniApp 的插件系统。以下是调用 Android 原生函数的一般步骤: 安装插件:首先,确保你已经安装了对应的插件。你可以在 UniApp 插件市场 中搜索并安装你需要的插件。对于 Android 原…

利用XSS漏洞打cookie

目录 1、为什么要打cookie? 2、怎样利用XSS来打cookie? 3、利用Bluelotus_xssReceiver平台来打cookie 4、利用beef-xss平台来打cookie 上一篇给大家介绍了xss漏洞的基础知识,在本篇章将会介绍和演示一下利用xss漏洞打cookie的演示&#x…

复习回顾、静态、继承、引用类型使用

今日内容 复习回顾 定义类。一个Java文件可以定义多个类。但是只有一个类是用public修饰,public修饰的类名必须称为Java文件名。类中有且仅有5大成分(五大金刚) 成员变量Field:描述类或者对象的属性信息的。成员方法Method&#…

DAY8--learning english

一、积累 1.haunt Why Ghost dont haunt chinese. 为什么鬼不会出现在中国人旁边? 2.confess i have a confession to make ... I actally a blind. 我要坦白一件事……我其实是个盲人。 3.brake Press S button to brake, or to reverse if the vehicle has stopped, 按住…

Spring MVC中的常用注解及其用法

文章目录 一、建立连接二、接收请求2.1请求中带有一个参数2.2请求中带有多个参数2.3用对象接收请求中的参数2.4对请求中的参数进行重命名2.5请求参数中带有数组2.6请求参数中带有集合2.7json字符串和Java对象互转2.8前端传递json数据给后端、json数据在请求正文中、后端接收jso…

【时事篇-04】兔子繁殖问题(斐波那契数列)

兔子繁殖问题monthinput("请输入月份:") if month.isdigit():monthint(month)a0b1for i in range(month-1):a,bb,abprint("%d月份以后兔子有%d对"%(month,b)) else:print("输入有误请重新输入")

android.os.NetworkOnMainThreadException

问题 android.os.NetworkOnMainThreadException详细问题 核心代码如下: import android.os.Bundle;import androidx.appcompat.app.AppCompatActivity;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ja…

30 3D导航栏

效果演示 实现了一个导航栏&#xff0c;其中包含了五个图标&#xff0c;每个图标都有一个悬浮的文字标签&#xff0c;当鼠标悬停在图标上时&#xff0c;文字标签会旋转并向上移动&#xff0c;同时底部会出现一个阴影效果。整个导航栏的背景颜色为浅灰色。 Code <ul><…

python 字典的基础及应用

当前版本&#xff1a; Python 3.8.4 简介 字典是一种无序的、可变的、键值对的数据结构。通常用于存储键值对&#xff0c;其中键是唯一的&#xff0c;值可以是任何类型的对象。它可以快速查找和访问数据&#xff0c;关联相互有关的信息&#xff0c;灵活地添加、修改和删除数据…