如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps,除了提供基础设施,指标和数据是也是一个很重要的一环,比如需要分析下某个 Git 仓库代码提交情况:
- 这个仓库的代码谁提交的代码最多
- 这个仓库的活跃度是什么样子的
- 各个时段的提交分析数据
- 每个版本的贡献排名
- 每周/每月/每年的贡献排名等等
几天前发现一个 Git 历史统计信息生成工具叫 GitStats (https://github.com/shenxianpeng/gitstats)
如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps,除了提供基础设施,指标和数据是也是一个很重要的一环,比如需要分析下某个 Git 仓库代码提交情况:
几天前发现一个 Git 历史统计信息生成工具叫 GitStats (https://github.com/shenxianpeng/gitstats)
本周二下班我没有像往常一样加会班(我一般都会赶在晚6点后下班来躲过晚高峰期),而是直接挤地铁奔向机场,准备坐八点半去往北京的一班飞机,因为第二天要参加 JFrog 中国在北京望京举办的 Jenkins, Artifactory & Kubernetes 实战训练营。
对于如何备份 Jenkins 除了用 Jenkins 插件来定期备份之外,如果把 Jenkins 安装到 Docker 里,定期备份一个 Docker Image 最后传到 Artifactory 中,也是一个不错的方案。
上一篇 初识 JFrog Artifactory,介绍了什么是 Artifactory,以及如何安装、启动和升级。
本篇介绍 Artifactory 与 Jenkins 的集成,因为没有与 CI 工具集成的 Artifactory 是没有灵魂的。
通过集成,可以让 Jenkins 在完成构建之后,可以直接将制品(比如 build)推送到 Artifactory,供测试下载、部署或是后续的 Jenkins 任务去继续进行持续集成。
如果想让 Jenkins Console Output 出来一些重要日志醒目的显示,可以让一些日志显示颜色方便查看
如何针对 Jenkins 里的不同 Job 进行不同的策略管理。比如某个 Job 所有人都可以查看,但仅限于某些人可以执行,这时候就需要对 Job 行程权限设置。
这里用的插件是 Role-based Authorization Strategy。安装成功后,打开要设置的 Job, 设置如下:
例如我有一个共享仓库的代码所在用的空间非常大(超过 20 G),在每个产品构建时候都需要用到这个仓库的代码(从里面 copy 第三方库),如果每个人都要 git clone 这个第三方仓库,一是网络开销非常大,二是 git clone 时间长,而且占用大量的物理空间。
这可以通过 NFS 共享来解决。
另外希望这个代码仓库能自动更新,这里引入了 Jenkins。用它来检查如果这个容量巨大的仓库有代码提交就自动执行 git pull 操作,更新最新的代码到共享服务器上。
最近我在运行 Jenkins Job 时候突然发现 git clone 代码的时候突然报了这个错误:
$ git clone ssh://git@git.companyname.com:7999/repo/opensrc.git |
这个错误只在我刚开始使用 git 的时候遇到过,那时候我还不知道如何使用 ssh 的方式来 clone 代码。怎么会出现这个错误呢?我也没改过什么,非常不理解。
Recently, my Jenkins build failed when execute git clone
with following this error message: ERROR: Error cloning remote repo ‘origin’.
git clone
and causing this disconnection. but when I try to git clone on the agent, it works well.timeout=10
in the Jenkins console log, I suddenly remembered that I deleted a very large folder a few days ago from git repo, and this may cause the repo more bigger, so it may take more time do a complete clone and it exceeds the Jenkins default clone timeout 10
.Googling and finally I found this issue JENKINS-47660 which is the same problem as mine.