2022 年 12 月 22 日 20:00,Atlassian 杭州社区联合澳门社区,在 腾讯 Webinar 与 微信视频号 两个渠道,为 Atlassian 社区用户呈现了一场主题为《基于 Jira 的 DevOps 实践》的分享。DevOps 是一种软件工程文化和实践,旨在通过全面的自动化和监控,统一整合软件开发和运维过程(从集成、测试、发布到部署和基础架构管理),以缩短开发周期,提高部署频率和更可靠地发布,与业务目标保持一致。
这是两个社区第二次联合举办的活动,第一次在今年 7 月 16 日,分享主题为 《初始 Jira Work Management》,专为业务团队设计的事务与项目管理工具,介绍了 HR 招聘流程管理案例。本次分享围绕 Atlassian DevOps 开放工具链,介绍了企业如何使用 Atlassian Agile & DevOps 解决方案 将创意转化成价值的全过程。
产品需求和技术方案等项目文档在现代文档协作工具 Confluence(简称:CF)中管理,使用开箱即用的文档模板实现高效协作与统一管理,且支持定制 CF 全局或特定空间的模板。在 CF 文档中,我们分享了智能链接(Smart Links)特性,可以在文档中集成 Figma 设计稿 与 YouTube 视频后直接预览,而无需跳转到对应的工具。同时,介绍了在 CF 文档中直接编辑 draw.io 图对团队资产沉淀和维护的益处。
我们从 CF 产品需求文档(PRD)中的 User Story 列表中直接批量创建 Jira Stories,Jira Story 状态的更新会实时同步到 PRD 中。在 Jira 敏捷项目管理中,我们演示了在 Jira Scrum Board 中做 Story Points 估算与 Sprint Planning -> 启动 Sprint -> Daily Standup -> 完成 Sprint。
当开始开发 Jira Story 时,从 GitLab Cloud 创建一个新代码分支(Branch)-> 修改代码后提交(Commits) -> 创建 合并请求 MR(Merge Request)-> 团队成员 Review MR -> 合并代码到主分支。在 Jira Story 工作流的流转中设置了如下触发器(Trigger),以实现如上图的 Story 状态自动流转,而无需研发人员切换到 Jira Board 更新状态。
- 创建新代码分支:触发状态流转到 In Progress
- 创建新拉取/合并请求:触发状态流转到 In Review
- 合并请求被拒绝:触发状态流转到 In Progress
- 合并代码到主干:触发状态流转到 Done
此外,还支持当创建新提交时触发相应状态流转(这次演示暂无此场景)。在 Jira Software Cloud 中,工作流触发器粒度控制得会更细,比如:当拉取请求被重新打开时。在自动化 Automation 中提供了非常丰富的 DevOps 自动化触发器,比如:当构建 Build 成功时、当部署生产环境成功时触发等。
当在 Jira 应用程序 -> 集成 -> DVCS accounts 中配置了 分布式版本控制系统 GitLab Group 账号后,即可在 Jira 中显示该 Group 下所有代码仓库,当为某个代码仓库配置了 Smart Commits 后,研发过程信息将会回传到 Jira Story 的开发面板中展示。如果实现 Jira Data Center 与 GitLab 集成的详细步骤见 Atlassian 官方说明:https://t.hk.uy/buch
最后,我们分享了在 GitLab 中配置构建触发器,当有代码推送 Push 到 GitLab 代码仓库或新建 MR 时,会触发 Jenkins 构建与部署 Pipeline,流水线执行状态结果会返回到 GitLab 的 MR 中。更多信息见 GitLab 官方说明:https://t.hk.uy/bucg
如果你有咨询服务的需求,请联系我的微信:craigyoung1985。如有其他问题,可以在文末留言。视频链接:https://www.bilibili.com/video/BV1a8411n7YT/?spm_id_from=333.788.recommend_more_video.-1&vd_source=27c8c73fa8c8fa7c8f1b25ad0b11c767