中/高级软件构建工程师(CI/CD & Build Engineer)
职位描述
岗位职责
1. 负责公司 CI/CD 持续集成与持续交付平台的规划、建设和持续优化,搭建标准化的软件构建、测试、发布流水线。
2. 基于 Jenkins 设计、开发和维护自动化流水线(Pipeline),实现代码提交、编译、测试、制品生成、发布部署等全流程自动化。
3. 建立和完善软件版本管理体系,制定版本号规范、分支管理策略、Tag 管理规范、发布流程及变更管理机制,保障软件版本可追溯。
4. 负责软件构建规范制定,包括编译环境标准化、依赖管理、构建缓存、制品命名规则、构建产物管理及多版本维护。
5. 负责软件发布规范建设,包括 Release、Hotfix、灰度发布、版本回滚等流程设计,提升软件交付效率和发布质量。
6. 建设和维护多平台自动化构建环境,支持 Linux、Windows、ARM(Jetson、RK3588 等)及 x86 等平台的软件编译与发布。
7. 建立统一的软件制品管理体系,负责构建产物上传、归档、版本管理及生命周期维护。
8. 持续优化构建效率,提升流水线稳定性,降低构建失败率和发布风险,缩短软件交付周期。
9. 推动代码质量平台建设,集成静态代码扫描、单元测试、覆盖率统计等质量检查流程,实现质量门禁。
10. 与研发、测试、产品及运维团队紧密协作,持续完善 DevOps 工程体系和研发效能平台。任职要求
任职要求
1. 本科及以上学历,计算机、软件工程、自动化等相关专业,3 年及以上 CI/CD、Build Engineer 或 DevOps 平台建设经验。
2. 精通 Jenkins,熟悉 Declarative Pipeline、Scripted Pipeline、Shared Library、Multibranch Pipeline、Credentials、Agent、Node 等核心能力,能够独立设计和维护复杂流水线。
3. 熟悉 Git 版本管理,掌握 Git Flow、Trunk Based Development、Release Branch、Hotfix Branch 等分支管理策略,具备规范的软件版本管理经验。
4. 熟悉 Linux 操作系统,具备扎实的 Shell 脚本开发能力,能够独立编写自动化构建和发布脚本。
5. 熟悉至少一种构建工具,如 CMake、Make、Ninja、Bazel、Gradle、Maven、Colcon、Catkin 等,并具备复杂项目构建经验。
6. 熟悉 Docker 容器技术,了解 Kubernetes、Helm 等云原生技术,具备容器化构建和部署经验者优先。
7. 熟悉 Harbor、Nexus、JFrog Artifactory 等制品仓库的使用和管理,具备软件制品生命周期管理经验。
8. 熟悉 Python 或 Groovy,能够进行自动化工具开发及 Jenkins Pipeline 编写。
9. 具备较强的问题定位和排查能力,能够快速分析并解决构建、发布及部署过程中的复杂问题。
10. 具备良好的沟通能力和团队协作能力,具有较强的责任心和持续改进意识。
加分项
* 具有自动驾驶、机器人、AI、大模型平台等研发工程体系建设经验。
* 熟悉 ROS、ROS2、Bazel、Colcon 等相关构建体系。
* 具备 x86、ARM、Jetson 等多架构交叉编译及持续集成经验。
* 熟悉 SonarQube、Coverity、CodeQL、Cppcheck、Clang-Tidy 等代码质量平台。
* 熟悉 GitLab CI、GitHub Actions、Argo CD、Tekton 等 CI/CD 平台。
* 具有大型研发团队 DevOps 平台建设或研发效能平台建设经验者优先。
* 具备 Jenkins 高可用部署、大规模 Build Farm 管理及流水线性能优化经验者优先。
我们希望你具备
* 良好的工程化思维,能够推动研发流程标准化和自动化建设。
* 对持续集成、持续交付、软件版本管理及发布流程有系统性的理解。
* 能够独立负责 CI/CD 平台建设,并持续优化研发效率和软件交付质量。
* 乐于学习新技术,对研发效能提升和 DevOps 最佳实践保持持续关注。
---
## 关键词
Jenkins|CI/CD|DevOps|Pipeline|Build Engineer|Release Engineer|Git|Linux|Shell|Python|Groovy|Docker|Kubernetes|Harbor|Nexus|CMake|Bazel|Colcon|ROS2|版本管理|软件构建|自动化发布