自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 Jenkins设置定时任务

勾选Build periodically, 在Schedule 中填写触发时间。配置定时任务之后,run 一下job,几秒后将job 停掉,使定时配置生效。填写完Schedule 可查看下方的提示确认触发时间。在jenkinsfile 中添加trigger的配置。方法一:(推荐)Pipeline中配置定时。H 3 * * * (每天凌晨三点触发)H 0 * * 7 (每周日0点触发)注: 第一位必须要是 H。点击Configure。方法二:页面配置定时。

2025-02-14 12:23:21 1125

原创 Gerrit CICD template

根据分支名判断需要调用哪个子流程编译,如果提交是master分支就会到dev/目录下运行master.jenkinsfile。在子流程中配置key 初始化repo 和下载代码 获取patch 命令都已封装成函数写在脚本中,只需传递参数使用。例如:master.jenkinsfile、develop.jenkinsfile。dev目录下 ${Branch_name}.jenkinsfile。Gerrit-code-review 多分支流水线。主流程:Jenkinsfile。Jenkinsfile 模板。

2025-02-14 12:22:57 498

原创 git用法

git log --color --no-decorate --decorate 是否显示tag, branch。git log --oneline --left-right --cherry-mark A…git merge --ff (允许fastfoward合并,默认,自动) --no-ff(不允许)git log --merges --no-merges 只显示/不显示 合并节点。git blame -C -C -C 追踪所有commit中从其它文件拷贝过来的行。

2025-02-13 08:34:56 972

原创 repo forall用法

配置完成后到仓库下 git remote -v 验证, push地址要指向target 仓库。url 是 target 仓库,pushInsteadOf 是原始 仓库。在~/.gitconfig中添加如下配置。git checkout 推代码到target。

2025-02-13 08:34:43 389

原创 Coverity全量扫描Jenkins template

使用下列的Coverity 模板,可完成在 Jenkins 上的Coverity 全量扫描、上传全量报告到服务器端。修改模板Jenkinsfile。

2025-02-13 08:34:30 410

原创 webhook post-build template

需要在代码仓库配置webhook,需要maintianer权限。webhook配置可以参考Mr 触发的pre build。模板功能用于发版本到gallery上面。

2025-02-13 08:34:15 734

原创 多分支流水线的pre build

如果配置Scan时间为1min,那么每1min会扫描所配置的代码仓库的分支,如果在该分支上搜索到了配置的Jenkinsfile,就会在Jenkins 创建一个以分支命名的Job并编译,如下图dev,当分支上有新的提交也会触发编译。配置Jenkins job ,调用代码仓库中的Jump Jenkinsfile Jenkins job调用代码仓库中的Jenkinsfile。因多分支流水线 job 以分支为命名,ph rule不能直接触发,所以会创建一个中转的jump job来根据分支下发编译需求。

2025-02-13 08:33:54 755

原创 Webhook 触发CICD job

使用Webhook在推送代码或创建Issue时触发一个事前配置好的URL,GitLab会向设定的Webhook的URL发送一个POST请求。Jenkinsfile 名:Jenkinsfile_Pre_build_MR。https://:@ci.hobot.cc/project/配置Jenkins job ,调用代码仓库中的Jenkinsfile。配置完webhookurl后,勾选Trigger选项,如下图中的2.语句的作用参考 // 后的注释,标黄部分必须根据项目实际情况修改。

2025-02-13 08:33:36 341

原创 gitlab将MR设置为draft

添加crontab定时任务:*/5 * * * * python3 send_gitlab_mr_note.py。这个脚本是判断一个MR如果2周不更新,会每两条添加一个note,两周后自动将这个MR设置成draft状态。config.cfg格式。

2025-02-13 08:33:15 478

原创 Jenkins git credential configure

包含 -----BEGIN OPENSSH PRIVATE KEY----- 和 -----END OPENSSH PRIVATE KEY-----Jenkinsfile通常在Jenkins project的配置里面可以找到,通过project里面的 configure 按钮可以找到对应的配置。从 -----BEGIN OPENSSH PRIVATE KEY-----到 -----END OPENSSH PRIVATE KEY-----Jenkins Job内的配置 替换红框内的配置信息。

2025-02-13 08:32:58 1048

原创 抓取jenkins数据入库

抓取jenkins数据入库。

2025-02-13 08:32:47 374

原创 检查C++函数是否超过400行

【代码】检查C++函数是否超过400行。

2025-02-13 08:32:36 209

原创 代码风格检查

【代码】代码风格检查。

2025-02-13 08:32:26 337

原创 Gerrit 接入门禁

脚本文件:/data/gerrit/gerrit_application/script/check_commit_msg.py。hooks文件: /data/gerrit/gerrit_application/hooks/commit-received。目前gerrit没有接入门禁检查,希望能通过门禁自动检查commit message 合规性。2.1 添加hooks(根据需要调整)2.2 添加脚本(根据需要调整)二、操作步骤(不需要重启系统)

2025-02-13 08:32:11 407

原创 Gerrit 提交关联jira

可以针对每个项目配置是否启用 Jira 集成。下载链接:https://archive-ci.gerritforge.com/job/plugin-its-jira-bazel-master-stable-3.6/模板文件:/data/gerrit/gerrit_application/etc/its/templates/link.soy。配置文件:/data/gerrit/gerrit_application/etc/its/actions.config。2.4 添加插件配置。2.5 添加插件模板。

2025-02-13 08:31:58 519

原创 Gitlab kill rebase or merged jenkins job

这个脚本是遍历MR,如果发现这个MR是需要rebase的或者已经merge了,会自动kill相应的jenkins job。添加crontab定时任务:*/5 * * * * python3 kill_gitlab_job.py。开启 kill rebase任务可能影响jenkins调试,谨慎开启。

2025-02-13 08:31:29 465

原创 Jenkins kill重复任务

脚本的功能是查看当前所有task,如果发现同一个url触发的task,就会abort之前的task,只保留最新的。

2025-02-13 08:31:14 230

原创 jenkinsfile common template

此模板可用于下载代码、编译。

2025-02-12 18:36:18 246

原创 pod内部docker时间和外部node时间不一致

可以将外部的/etc/localtime文件在pod启动的时候挂载到docker内部即可。

2025-02-12 18:35:55 173

原创 Jenkins工程挂载外部存储/缓存

在确认k8s环境的CI集群已经有对应的存储目录之后,需要该目录映射到jenkins job的pod中。cache和gradle缓存目录需要在k8s环境的CI集群的node节点中先创建。当前jenkins 环境已经挂载了一个测试的gpfs目录作为各种缓存目录使用。以下内容针对把k8s pod作为agent的jenkins job场景。这个目录可以是gpfs存储也可以是k8s 集群的node的本地目录。Job 的pod是每次运行的时候会自动挂载。需要设置ccache缓存目录。需要设置gradle缓存目录。

2025-02-12 18:34:46 326

原创 软件依赖源

依赖项源地址/备用源地址yumhttps://mirrors.aliyun.com/centos/https://mirrors.aliyun.com/epel/ubuntuhttps://mirrors.aliyun.com/ubuntu/ros2http://packages.ros.org/ros2/ubuntu/Anacondahttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainhttps://m

2025-02-12 18:33:34 234

原创 BlackDuck upgrade & backup

复制/mnt/ 目录数据到/blackduck/KB_2024_02目录。以下以2月份的升级操作做参考,创建的目录是KB_2024_02。KB每个月都会更新数据,所以数据目录可以根据月份来进行区分。数据解压之后 可以根据目录中的文件提示校验大小。查看备份相关内容即可,其他步骤无需操作。解压KB_2024_02的数据。内网BD服务的 KB服务更新。内网BD服务数据定时备份。挂载数据盘到操作系统。创建新的KB数据目录。每次更新需要修改脚本。

2025-02-12 18:32:58 361

原创 Coverity本地扫描

方案一: 获取到新增文件列表后,如果本地已有缓存,可以直接进行cov-build,cov-analyze等,因为缓存机制,只会对改动文件相关的代码进行编译,扫描出来的结果也只会是参与编译的文件相关的问题。方案二:由于需要一次全量扫描并上传到coverity后台,利用缓存机制会造成非全量代码参与编译扫描,从而影响coverity后台数据的准确性,所以在做第一次全量扫描上传时候不太适合缓存机制。增量扫描是针对于单次改动的代码,根据改动后的代码,Coverity扫描得到与增量代码相关的一系列问题。

2025-02-12 18:32:28 852

原创 python脚本(一)

获取coverity projects和streams。检查第一个文件夹中的文件是否也在第二个文件夹里。按空行将文件内容划分为多个文件。比较两个文件的相似度。

2025-02-12 18:31:59 250

原创 python脚本(二)

【代码】python脚本(二)

2025-02-12 18:31:04 206

原创 python脚本(三)

查询gitlab信息。

2025-02-12 18:30:53 202

原创 python脚本(Phabricator)

自动的创建ph的仓库,并配置导入gitlab仓库数据。查询仓库并写入文件input.txt给上面脚本使用。Phabricator修改build状态。Phabricator自动accept。

2025-02-12 18:30:34 313 1

原创 Gerrit CICD

manifest仓库存放不同分支对应的jenkinsfile,master.jenkinsfile、develop。根据分支获取对应manifest.xml下载代码。每个仓库的提交触发对应的多分支流水线,多分支流水线会创建以 change_name 命名的Pre build Job。编译时将判断本次提交patch 的仓库是否在manifest.xml内,不在则退出编译,在则开始更新代码并开始编译。MANIFEST_XML:manifest的命名,例如:manifest.xml 、default.xml。

2025-02-11 22:20:37 1155

原创 网卡丢包解决方法

中断是由外部设备引起的,计算机能够接受的外部信号,非常的有限,因为不可能为每一个外部的设备都定义好信号的格式,所以,计算机给外部信号,只约定了一种信号格式,这种信号就是中断信号,这套信号的接受和处理共同组成中断机制。另外,前面提到,有些网卡支持 “中断合并” 特性,这个特定对于缓解中断压力有好处,并且默认情况下这个特性是关闭的,对这个服务器的网卡,设置 “中断合并” 操作,并没有生效,设置完成后也不报错,通过 ethtool -C eth0 也依然看到是 Off 状态。首先,这个操作,并不推荐。

2025-02-11 22:17:42 766

原创 从单体架构到微服务

保留在单体中的类可能会引用已移动到服务的类,反之亦然。使用主键替换对象引用的一个问题是,虽然这是对类的一个小改动,但它可能会对期望对象引用的类的客户端产生很大的影响。如果是这样,那么你的救星来了,如果从当前窘境中脱离,实现我们的微服务,从而完成我们的升级。你需要通过将单体中的功能提取到服务,从而将单体中的功能迁移到绞杀者应用程序。因此,你可以将 Order 和 Restaurant 类视为聚合,如图所示,将Order类中对 Restaurant 的引用替换为存储主键值的restaurantId 字段。

2025-02-11 22:15:37 1065

原创 高并发微服务架构设计

基于云端组建的基础资源,包括数据库、缓存和文件系统等,这些资源既可以使用云服务提供商提供的优质 RDBS 、分布式数据库和对象存储等服务,也可以自己搭建各种集群体系。这是一个典型的微服务总体架构设计图,自上往下看,可以分为前台应用层、 API 接入层、业务应用层、服务中心和基础资源层结构,每层结构都有其自身的功能和特别的设计。如图 2-4 所示,是根据阿里云设计的一个安全管理架构,通过安全防护和安全预警 对不安全的访问或可能存在的攻击进行有效隔离,从而保证系统的安全和稳定。

2025-02-11 22:14:51 1060

原创 考研算法(七) 排序

往前寻找插入位置,如果找到了大于等于它的元素或者没有找到,数组越界,查找停止,将元素插入对应位置。选择一个元素作为基数(考研通常是第一个元素),把比基数小的元素放到它左边,比基数大的元素放到它右边(相当于二分),再不断递归基数左右两边的序列。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。最好:O(nlog n) ,其他的数均匀分布在基数的两边,此时的递归就是不断地二分左右序列。最坏:O(n^2) ,其他的数都分布在基数的一边,此时要划分n次了,每次O(n)

2022-09-18 16:27:20 420

原创 考研算法(六) 查找

这一章确实不太常用,也不常考。

2022-09-18 15:45:38 171

原创 考研算法(五) 图

它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。若一个由图中所有点构成的序列A满足:对于图中的每条边(x, y),x在A中都出现在y之前,则称A是该图的一个拓扑序列。bfs就是一次将所有子结点入队,依次出队扩展新的子节点入队,同时要标记已入队的结点,避免重复入队。给定一个n个点m条边的有向图,请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出-1。二叉树中有bfs的详细代码,就是二叉树层序遍历,那是比较普遍的写法。

2022-09-17 09:34:17 387

原创 究级递归分析

从整体到局部,再从局部到整体,这样的思想符合我们的认知。我们简化了问题,但是就递归而言,可以更深刻地认识二叉树。二叉树很重要,因为很多数据结构都是以二叉树为基础。但这不是我如此强调它的原因,真实原因是二叉树很简单以及它和递归的关系。本节主题是递归,下面回归正题。递归有两个过程,一是递,即访问子结点,二是归,即回到头结点。每一次调用函数都是在递,函数返回就是归。以根结点为例,先进入参数为根节点的函数中,这是第一次,操作左子树之后来了一次,操作右子树之后来了一次。

2022-09-16 21:36:04 2115

原创 考研算法(四) 二叉树

前序遍历有个口诀即头左右,我们第一次访问的结点就是当前子树的头结点,所以直接压入栈即可。中序遍历的顺序为左头右,我们先保证最左的结点先被处理,只需将从头结点到最左的结点全部压入即可。这里设置最近访问结点的原因在于我们不能判断这是从头结点的最左结点返回的还是从当前头结点的右子树的头结点的最左结点返回的。中序遍历的顺序为左头右,我们先保证最左的结点先被处理,只需将从头结点到最左的结点全部压入即可。我们发现栈里的最左结点的下面一个结点正好是它的头结点,将它弹出栈,然后处理右子树的结点就可以了。

2022-09-16 16:34:49 385

原创 考研算法(三) 队列

设计你的模拟队列。

2022-09-15 16:31:36 87

原创 考研算法(二) 栈

我们将栈初始化为空,然后往栈里插入元素,然后我们同时往最小栈插入一个最小值,即使当前元素不是最小值也要插入,弹出时也最小栈同时弹出。给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;维护一个单调递增的栈,遍历数组,每次将大于等于将要入栈元素的元素弹出,这样就能找到第一个比他小的元素。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。

2022-09-15 15:41:51 226

原创 考研算法(一) 线性表

考研相关算法,难度一般

2022-09-15 14:39:22 1678

原创 (被)爆杀蓝桥杯指南

学习算法,爆杀蓝桥杯

2022-09-06 08:36:49 5192 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除