CICD
文章平均质量分 60
集成构建
sssssssssnake
奥力给
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
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 · 1124 阅读 · 0 评论 -
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 · 497 阅读 · 0 评论 -
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 阅读 · 0 评论 -
repo forall用法
配置完成后到仓库下 git remote -v 验证, push地址要指向target 仓库。url 是 target 仓库,pushInsteadOf 是原始 仓库。在~/.gitconfig中添加如下配置。git checkout 推代码到target。原创 2025-02-13 08:34:43 · 389 阅读 · 0 评论 -
Coverity全量扫描Jenkins template
使用下列的Coverity 模板,可完成在 Jenkins 上的Coverity 全量扫描、上传全量报告到服务器端。修改模板Jenkinsfile。原创 2025-02-13 08:34:30 · 409 阅读 · 0 评论 -
webhook post-build template
需要在代码仓库配置webhook,需要maintianer权限。webhook配置可以参考Mr 触发的pre build。模板功能用于发版本到gallery上面。原创 2025-02-13 08:34:15 · 734 阅读 · 0 评论 -
多分支流水线的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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
jenkinsfile common template
此模板可用于下载代码、编译。原创 2025-02-12 18:36:18 · 246 阅读 · 0 评论 -
pod内部docker时间和外部node时间不一致
可以将外部的/etc/localtime文件在pod启动的时候挂载到docker内部即可。原创 2025-02-12 18:35:55 · 173 阅读 · 0 评论 -
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 · 325 阅读 · 0 评论 -
Coverity本地扫描
方案一: 获取到新增文件列表后,如果本地已有缓存,可以直接进行cov-build,cov-analyze等,因为缓存机制,只会对改动文件相关的代码进行编译,扫描出来的结果也只会是参与编译的文件相关的问题。方案二:由于需要一次全量扫描并上传到coverity后台,利用缓存机制会造成非全量代码参与编译扫描,从而影响coverity后台数据的准确性,所以在做第一次全量扫描上传时候不太适合缓存机制。增量扫描是针对于单次改动的代码,根据改动后的代码,Coverity扫描得到与增量代码相关的一系列问题。原创 2025-02-12 18:32:28 · 851 阅读 · 0 评论 -
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 · 1154 阅读 · 0 评论
分享