Git-+-Jenkins-提交Git-触发Jenkins-Job
发表于|更新于
|浏览量:
利用git的Hook机制
- .git/hooks/pre-push
1 | #!/bin/bash |
- .git/hooks/post-push
1 | #!/bin/bash |
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐

2022-05-20
Cue-Lang介绍
Cue,是一种开源语言,用于定义,生成和验证各种数据:配置,API,数据库模式,代码……。它能够将数据的结构、约束、数值作为同一层级成员,从而简化配置文件的生成。Cue教程 Cue格式说明 使用//进行单行注释 对象被称为结构体 对象成员称为结构字段 对于没有特殊字符的字段名,可以省略引号 结构字段后面无需, 在列表中的最后一个元素后放置, 最外层的{}可省略 例子: 1234567891011121314151617181920str: "hello world"num: 42flt: 3.14// Special field name (and a comment)"k8s.io/annotation": "secure-me"// lists can have different element typeslist: [ "a", "b", "c", 1, 2, 3,]obj: { foo: "bar" // reuse a...

2020-05-23
Vagrant扩展虚拟机盘
扩展虚拟机盘123456789101112131415161718# 停止虚拟机vagrant halt <machine_name># 进入VirtualBox VMs目录,查看并记录原磁盘uuid,留作后用vboxmanage showhdinfo box-disk1.vmdk# 克隆磁盘,vmdk格式无法调整大小,需要转成vdi格式vboxmanage clonehd box-disk1.vmdk new-virtualdisk.vdi --format vdi# 调整克隆磁盘的大小,这里调整为400Gvboxmanage modifyhd new-virtualdisk.vdi --resize 409600# 在克隆磁盘的基础上再克隆vdi格式的磁盘vboxmanage clonehd new-virtualdisk.vdi resized.vmdk --format vmdk# 覆盖原磁盘(如果担心磁盘数据出现不可逆损坏,请先做好备份)mv resized.vmdk box-disk1.vmdk# 此时节已删除中间文件rm new-virtualdisk....

2023-06-07
Bash中的换行
换行在平常的shell编程中是经常遇到的,但是有时也会忽略掉一些问题。本篇中将会介绍多种方式实现输出换行的方法。 使用 echoecho 自带换行echo 命令输出字符串,在最后后会添加一个换行 123root@Michael:~# echo hello worldhello worldroot@Michael:~# 添加 -n 可以禁用echo最后的换行 12root@Michael:~# echo -n hello worldhello worldroot@Michael:~# 换行符”\n”但是当我们使用bash执行以下命令时,发现它并没有换行 123root@Michael:~# bash -c "echo \"\n\""\nroot@Michael:~# 而是需要加一个 -e 1234root@Michael:~# bash -c "echo -e \"\n\""root@Michael:~# 从echo的说明中可以看到 -e 指的是让转义符生效,其中有: 1234567891011121...
2020-05-20
持续交付发布可靠软件的系统方法(部署流水线)第五章:部署流水线解析
《持续交付发布可靠软件的系统方法》读书笔记 什么是部署流水线部署流水线是指软件从版本控制到用户手中这一过程的自动化表现形式。价值流图 产品可行性评估 产品探索 产品计划与评估 开发 最后测试与审核 发布 3天 1周 7天 10天 10天 10天 3天 7周 1周 2天 2小时 开发到发布的流水线:会有很多次构建通过这一流程走向最后的发布 流水线各个阶段:交付团队->版本控制库->构建和单元测试->自动化验收测试->用户验收测试->发布 一般而言,只要某个构建使这个流程任一阶段失败,都会停止,不会进入下一个阶段。 提交阶段【自动化测试(主要是单元测试),代码分析】 自动化验收测试阶段【功能与非功能测试】 手工测试阶段【对自动化测试的补充,探索性测试,集成测试等】 发布阶段【部署到生产环境或试运行环境】 最基本的部署流水线 部署流水线的相关实践 只生成一次二进制包。对于不需要编译的语言,二制包指的是所有源文件的集合。这些二进制包应保存在文件系统的某个位置,让流水线后续阶段能够轻松访问到,但不要放在版本控制库中。二进制...
2020-05-20
持续交付发布可靠软件的系统方法(基础篇)第二章:配置管理
《持续交付发布可靠软件的系统方法》读书笔记 配置管理指一个过程,通过该过程,所有与项目有关的产物,以及它们之间的关系都被唯一定义、修改、存储与检索。 使用版本控制 对所有内容进行版本控制(所需的支撑软件配置信息,操作系统配置信息、DNS区域文件和防火墙配置等) 配置管理是持续集成交付过程的基础。 软件配置管理灵活性:先专注于提供具有高价值且可配置程度低的功能,冒烟测试就是一种缓解配置验证问题的方法配置分类 推荐应使构建打包生成的包,面向所有环境,并不植入配置信息 应用程序的配置管理 将特定于测试环境或生产环境的实际配置信息存放于与源代码分离的单独代码库,需要注意配置信息的版本,一定要与相应的应用软件的版本相切尔西 不要把密码放在版本控制系统中 获取配置信息:文件系统、从某个中心仓库中获取配置信息 配置信息:区分应用、版本、环境,都需要满足以下: 新增一个环境,能为这个配置应用的新环境指定一套新的配置信息 新建应用程序的一个新版本,确保在部署新版本时,使用新的配置,但是一量需要回滚时,还能够使用旧版本的配置 将新版本从一个环境移到另一个环境,确保新环境上的新配置里有效 重定向到...
2020-05-20
gogs创建用户
/opt/gogs/gogs admin create-user –name=root –password=123456 –admin=true --email=abc@123.com –config=/etc/gogs/conf/app.ini 123oc project cicd &&gogspodname=$(oc get pod | grep gogs | grep -v postgresql| awk '{print $1}')oc rsh $gogspodname /opt/gogs/gogs admin create-user --name=root --password=123456 --admin=true --email=abc@123.com --config=/etc/gogs/conf/app.ini
