GitLab自定义全局服务器钩子

服务器钩子 全局服务器钩子 /opt/gitlab/embedded/service/gitaly-ruby/git-hooks 这个目录下的钩子脚本,如果调整,则会覆盖 gitlab 本身的钩子:比如调整了此目录下的钩子程序,会覆盖 gitlab 的受保护分支不得push的钩子规则。 自定义全局钩子 修改/etc/gitlab/gitlab.rb 中的 gitlab_shell

ant命令传参值带美元符被转义导致执行不达预期

背景 gitlab流水线自动执行sql,使用的是 python 脚本里通过 os.system 包执行 ant 命令行方式进行调用,python 对传参进行一些处理,然后拼接命令cmd传入 os.system; 传参中,有个参数是数据库密码,DBA在创建数据库用户时,密码是随机生成的,有时候会包含美元符“$”,美元符在shell中调用 ant 命令行会被当成一个变量,导致密码不对,连接数据库被拒绝

什么是CI/CD

概述 CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一种面向开发和运维团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:“集成地狱”)。 具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。这些关联的事务通常被统称为“CI/CD 管道”,由

本地拷贝中文名称文件至挂载的NFS目录下报错问题(编码问题)

问题背景 生产搞了套jenkins自动更新应用的,之前是通过 jenkins ssh put 升级包到远程的生产应用服务器的目录下(是挂载的公共存储);现在改为:jenkins直接挂载此公共存储,通过 cp 拷贝升级包到 nfs 目录下,实现应用包的更新覆盖。 有个中文的 excel ,直接 cp 的时候报错了,jenkins本地查看文件中文显示正确(通过 xshell,终端编码 GBK);但是拷

svnhook处理中文乱码

背景 通过 jenkins + svn 做 CI,每次开发 commit 代码后,自动触发svn hook post-commit ,执行 curl 来调用 jenkins pipeline,curl 传递传递 svnlog 参数,svnlog 为对应需求的编号和摘要,摘要含有中文。 在jenkins pipeline 中对 由 svnhook 传递来的 svnlog 输出,中文显示乱码: pos

jenkins active choice parameter 获取动态参数进行构建

背景 生产环境更新走jenkins,传统项目,走的增量包模式,每次需要把增量包(版本号命名)手动传到 jenkins 服务器的工作目录下,然后走jenkins中输入版本号,点击构建进行发布,因网络隔离,上传此包较为麻烦 方案 step1 规范版本号 scm 准备好增量升级包后,报名命名为版本号,格式 V22.0808.01 22: 2022年 0808: 当天日期 01: 常规版本 01 ,紧急版

svn提交代码自动触发jenkins构建

需求 项目组针对测试环境是定时更新,一天更两次,更新频率低,每次到点了在jenkins里人工触发构建后,会出现编译报错导致无法更新环境,开发临时去定位问题,耽误时间,所以需要进行持续构建,尽早暴露编译问题; 因传统项目,代码量极大,持续构建中未编入代码检查相关的测试步骤(此暂时忽略)。 方案 通过 svn post-commit 钩子,在开发提交代码至 svn 后,自动触发 jenkins 构建,

CentOS7.8启动jenkins报涉及font的错

因为等保测评要求,需将测试和生产的网络隔离,由于原有的 jenkins 中,测试和生产的部署 job 都在一个服务,现需拆分出来,重新搭一套生产的jenkins专供生产自动发布使用,所以申请了一台 CentOS7.8 进行部署。 安装好jdk11,下载好最新的 jenkins LTS版本 war包, Jenkins 2.319.1,通过 java -jar 方式进行启动,启动命令如下: echo