Bitbucket Webhooks Configuration

Background

I have set several multi-branch pipeline and it can support Bitbucket Pull Request build. So, when developer create a Pull Request on Bitbucket, Jenkins can auto-trigger PR build. but this jenkins-plugin may not very stable, it had not work two times and I actually don’t know why it does that. But I know the use Git webhook is a direct and hard approach could solve this problem. After my test, the answer is yes. it works as expect.

Read More

三种方法解决 Jenkins 声明式流水线 Exception Method code too large !

这是我第二次在使用 Jenkins 声明式流水线的时候遇到了这个问题,第一次遇到这个问题的时候是在一个 Pipeline 里大概写到 600 多行时候遇到如下错误

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during class generation: Method code too large!

java.lang.RuntimeException: Method code too large!
at groovyjarjarasm.asm.MethodWriter.a(Unknown Source)
[...]

Read More

DevOps Top 30+ 面试问题

DevOps术语和定义

  1. 什么是DevOps

    用最简单的术语来说,DevOps是产品开发过程中开发(Dev)和运营(Ops)团队之间的灰色区域。 DevOps是一种在产品开发周期中强调沟通,集成和协作的文化。因此,它消除了软件开发团队和运营团队之间的孤岛,使他们能够快速,连续地集成和部署产品。

  2. 什么是持续集成

    持续集成(Continuous integration,缩写为 CI)是一种软件开发实践,团队开发成员经常集成他们的工作。利用自动测试来验证并断言其代码不会与现有代码库产生冲突。理想情况下,代码更改应该每天在CI工具的帮助下,在每次提交时进行自动化构建(包括编译,发布,自动化测试),从而尽早地发现集成错误,以确保合并的代码没有破坏主分支。

  3. 什么是持续交付

Read More

2021 年务必知道的最好用的 14 款 CI/CD 工具

“Quality at Speed” 是软件开发中的新规范。

企业正在朝着 DevOps 方法论和敏捷文化迈进,以加快交付速度并确保产品质量。在 DevOps 中,连续和自动化的交付周期使快速可靠的交付成为可能的基础。

这导致我们需要适当的持续集成和持续交付(CI/CD)工具。 一个好的 CI/CD 工具可以利用团队当前的工作流程,以最佳利用自动化功能并创建可靠的 CI/CD 管道为团队发展提供所需的动力。

随着市场上大量 CI/CD 工具的出现,团队可能难以做出艰难的决定来挑选合适的工具。该列表包含市场上最好的 14 种 CI/CD 工具及其主要特性,使你和团队在选择过程中更加轻松。

Read More

一款免费的 C/C++ 静态代码分析工具 Cppcheck 与 Jenkins 集成

由于历史遗留原因,我们当前产品的代码仓库里遗留很多 Warning,这些 Warning 不是一时半会可以解决掉的。只有通过不断的丰富自动化测试用例,来保障最后的质量关卡,才敢有条不紊的进行 Warining 的修复,在次之前,如何有效杜绝继续引入更多的 Warining 是当下应该做的。

Read More

通过 Jenkins 定期自动给老板提供 Git 仓库的多维度代码分析报告

上一篇(GitStats - Git 历史统计信息工具),我已经给老板提供了他想看的所有仓库的 Git 提交历史分析报告了,并且把报告都部署到了一台虚拟机的 tomcat 上了,老板可以通过网址访问直接查看每个仓库的分析报告了,看看谁的贡献大,谁活跃,谁偷懒了,谁周末写代码了(这里不鼓励 996)。

最近老板提需求了。

老板:你弄个这个网址的数据咋不更新呢?报告上咋没见你们提交代码呢?
小开:老板儿,您看到这些一个个仓库的数据都是小开我人肉手动生成的,要不您给我点时间,我来做个自动化任务吧。

Read More