Annual work summary from 2019.03 - 2020.07

Summarize what did I do from 2019.03 to 2020.07 when I became a Build Release/DevOps engineer.

Build automation

  • Support all server windows platform build manual to auto.
  • Support clients build from manual to auto.
  • Switch Linux/Unix build from Bamboo to Jenkins.
  • Support all platforms branches/Pull Request build.
  • Provide auto-build as self-service for a developer, no need to involve build engineer, they could build themselves.

Integration

  • Integration with Jenkins

    • Self-service installation.
    • Blackduck, Polaris integration.
    • Git stats, analyze Bitbucket data with Elastic stack.
    • Monitor legacy build machines status.
    • Product escrow, sync xdemo, provide NFS and SYNC mvopensrc, update Bitbucket Jenkins build status, etc.
  • Integration with JFrog Ariifactory

    • Establish deploy strategy and directory structure organization.
    • Handle artifacts(build, etc) with different maturity.

Infrastructure management

  • Manage Jenkins for setting, update and backup.
  • Ariifactory artifacts cleanup, retention, backup.
  • Git branches/hooks management.
  • VMs tracking, management build machines.

Jenkins 执行 Shell 如果返回值不为0,作业(Job)停止并失败怎么办?

《Jenkins Tips 3》—— 每期用简短的图文描述一个 Jenkins 小技巧。

问题

在使用 Jenkins pipeline 时,如果 Shell 的返回值不为零(也就是 Shell 命令执行时有错误),Jenkins Job 默认会标记当前的 stage 为失败。因此整个 Job 也会失败。

在有些时候我们希望 Shell 虽然执行失败返回的不为零,但希望Jenkins Job 在执行成功后,要显示成功状态。

Read More

每个 Jenkins 用户都应该知道这三个最佳实践

​在使用 Jenkins 实施了企业级的 CI/CD 工作,有如下三个最重要的实践和总结。

第一,Configuration as Code(配置即代码)
其次,Jenkins shared libraries(Jenkins 共享库)
最后,Multi-Branch Pipeline(多分支流水线)

配置即代码

配置即代码(Configuration as Code)是一种在代码仓库里管理配置的方法。

它有什么好处

作业透明化

Read More

Jenkins Top 3 best practice

I am Xianpeng, a build engineer. Today, I am going to share with you three Jenkins Practice.

I will talk about Configuration as code, followed up with shared libraries, and then Multi-Branch Pipeline in the end.

Configuration as Code

What is Configuration as Code?

Configuration as code (CAC) is an approach that managing configuration resources in a bitbucket repository

What are the benefits?

First, Jenkins Job Transparency

Read More

解决 Jenkins Artifactory Plugin 仅在 AIX 上传制品到 https 协议的 Artifactory 失败的问题

本文对于同样在 AIX 遇到这个问题的人会非常有帮助。另外,不要被标题无聊到,解决问题的过程值得参考。

分享一个花了两天时间才解决的一个问题:使用 Jenkins Artifactory 插件上传制品到 https 协议的企业级的 Artifactory 失败。该问题只在 AIX 平台上出现的,其他 Windows,Linux, Unix 均正常。

Read More

从 “会写程序的干不过会写PPT的” —— 聊程序员写作

在程序员圈子里比较流行这样一句话“会写程序的干不过会写 PPT 的”,还记得 2019 年新东方年会的一首《放飞自我》里有这样一句歌词戳中了绝大大多数程序员的内心

“干的累死累活,有成果那又如何,到头来干不过写PPT的”。

一时间大家好像都认同了这个说法,表达着自己的不满和无奈。

Read More