14.【DevOps基础篇】如何改善你的SDLC过程
@TOC
推荐超级课程:
工程管理工具
Typo:
Typo是一款智能工程管理平台。它用于提高可见性,消除障碍,并最大限度地提高开发人员的效率。通过SDLC指标,您可以确保与业务目标的一致性,并预防开发人员超负荷。这个工具可以与技术堆栈集成,提供实时见解。Git、Slack、日历和CI/CD只是其中几个。
Typo主要特点:
- 周期时间分解
- 工作日志
- 投资分配
- 为持续改进设定目标
- 开发人员超负荷警报
- PR见解
- 开发人员工作流程自动化
GIT/VCS
GitHub:
GitHub是一个受欢迎的git代码存储库托管服务,用于代码共享。这是一个基于云的工具,可让您与团队配置、控制和维护代码库。它还提供功能,如故障跟踪、功能请求和任务管理。GitHub支持的平台包括Windows、Linux、MacOS、Android和IOS。
GitHub主要功能:
- 简单的项目管理
- 简单的代码托管
- 跟踪和分配任务
- 轻松浏览存储库中的文件
- 为免费托管简单网站
- Bitbucket:
Bitbucket是由Atlassian拥有的最大版本存储库托管服务。它为Git提供无限数量的私人代码存储库。除此之外,它还提供问题跟踪、持续交付和维基。Bitbucket支持的平台包括Linux、AWS、Microsoft和Azure。
Bitbucket的主要特点:
- 通过SOC 2 Type 2认证提供安全的代码平台
- 提供拉请求和代码审查
- 支持GIT大型文件存储(LFT)
- 支持GitHub、Facebook、Google和Twitter等外部身份验证
- 为代码提供高级搜索
- 问题跟踪
Jira:
Jira是一个用于跟踪缺陷和管理敏捷项目的问题追踪产品。它有三个主要概念:项目、问题和工作流程。Jira可在Windows、Linux、亚马逊网络服务和微软云上使用,可以与各种工程工具集成。其中一些包括Zephyr、GitHub和Zendesk。
Jira的主要特性:
- 创建和共享复杂路线图
- 以报告形式提供相关信息
- 实时通知
- 带有颜色集成的时间跟踪
- 准备好使用的仪表板和报告
Linear
Linear是用于高效团队的问题跟踪工具。它用于优化软件项目、任务和故障跟踪。大部分重复工作已经自动化,从而加快了SDLC活动。它有超过2200种集成功能,如Slack、Gitlab和Marker.io。Linear支持的平台包括MacOS intel、MacOS silicon和Windows。
Linear的主要特点:
- 轻量级和快速
- 实时同步
- 也可以脱机使用
- 可创建多个团队并驻留在共享工作空间中
- 高度详细的问题跟踪
ClickUp:
ClickUp是一款领先的问题跟踪和生产力工具。它高度可定制,可以帮助您简化问题跟踪和错误报告流程。它与Gitlab、Figma和Google Drive等应用程序具有强大的集成功能。ClickUp适用于Windows和Android。
ClickUp主要特点:
- 可定制的bug跟踪视图
- 用于创建路线图和概述流程的ClickUp文档
- 提供各种模板
- 支持HTML、Python、CMS、PHP等编程语言
- 与Google日历同步
通信平台
Slack:
Slack是一款针对工程师领导者和开发人员的流行通信工具。它为项目讨论和增长提供实时可见性。该工具适用于Web、Windows、MacOS、Android、IOS和Linux等多个平台。Slack具有广泛的应用程序目录,可让您集成工程软件和自定义应用程序。
Slack的主要特点:
- 简单直观的界面
- 通过Huddle进行视频和语音通话
- 可创建公共和私人频道
- 直接从Slack频道中获取Jira、Jenkins等通知
- 将工程领导者和开发人员聚集在一起,消除不必要的摩擦
Microsoft Teams:
Microsoft Teams将沟通和协作整合到一个平台。它有助于跟踪开发、测试和部署活动。Microsoft Teams可用于Web、IOS、Android、Windows和MacOS,包括内置应用程序和集成。
Microsoft Teams的主要特点:
- 在云托管的环境中远程发布软件
- 快速投票选项
- 提供工程项目模板
- 提供易用和结构化的协作
- 在内置PowerPoint应用程序中构建3D对象
Discord:
Discord促进实时讨论和沟通。可在Windows、MacOS、Linux、Android和IOS等各种平台上使用。它具有高级视频和语音通话功能,可用于SDLC活动的协作。
Discord的主要特点:
- 具有高级功能的视频和语音聊天功能
- 简单易用
- 直接消息和频道
- 根据层次结构访问频道
- 持续集成和持续交付工具(CI/CD)
Jenkins
Jenkins是开发人员使用的流行CI/CD工具之一。它是一个基于Java的工具,可以在几分钟内产生结果,并提供实时测试和报告。Jenkins可用于MacOS、Windows和Linux平台。它还提供了大量插件库,可与其他开发工具集成。包括GitHub、Gitlab和Pipeline等。
Jenkin主要特点:
- 由于基于Java,可在所有平台上运行
- 完全免费和开源工具
- 简单易用的界面
- 根据表达式构建时间表
- 受到敏捷团队大型在线社区强大支持
Azure DevOps
Azure DevOps是微软推出的综合性CI/CD平台。它确保整个软件开发交付过程在一个地方完成。从自动化、构建和测试代码到Azure DevOps汇集了开发人员、产品经理和其他团队成员。此工具还提供了适用于MacOS、Windows和Linux的云托管流水线。此外,还有由Azure社区开发的1000多种应用程序集成。
Azure DevOps的主要特点:
- 自托管的CI/CD模型
- 清晰的用户界面
- 通过加密技术(包括SSL/TLS或IPSec VPN隧道)始终保持安全
- 支持手动和探索性测试
- 适应市场需求
AWS Codepipeline:
AWS Codepipeline是AWS用户的理想CI/CD工具。它可以帮助自动化构建、发布和流水线CI/CD流程。AWS Codepipeline还提供快速可靠的应用程序和基础设施更新。通过简单的步骤,您可以在几分钟内在AWS帐户中设置Codepipeline。该工具还可以与第三方服务器集成,包括GitHub或您的自定义插件。
AWS Codepipeline的主要功能:
- 支持代码构建、测试和编译
- 快速交付新功能和更新
- 预构建和自定义插件
- 接收事件通知
- 提高开发人员的产出
代码质量工具
Sonarqube
SonarQube是一款流行的静态代码分析工具。它用于持续代码检查、代码安全和质量。该工具中的质量门会阻止任何未达到一定质量标准的代码。它与各种代码存储库集成,如GitHub、Bitbucket和GitLab。SonarQube支持的平台包括MacOS、Windows和Linux。
SonarQube主要特点:
- 支持本地和云端设置
- 支持Python、C#、Java等编程语言
- 生成详细的代码报告
- 识别复杂问题
- 识别代码中的安全漏洞并加以强调
代码审查工具
Codacy:
Codacy是一款用于静态分析的自动化代码审查工具。Codacy支持40多种编程语言,还与各种流行工具和CI/CD工作流集成。
Codacy的主要特点:
- 明确展示项目现状及其质量随时间的变化
- 可调整的代码审查流程
- 提供代码覆盖
- 帮助了解技术债务的程度
- 可识别重复和代码质量低下的区域
Veracode:
Veracode是基于SaaS模型构建的一款代码审查工具。它通过使用二进制代码/字节代码提供测试覆盖率,对代码进行安全性分析。
主要功能:
- 通过集成和优化的测试自动化,为不同工作流程提供自动化
- 提供两种代码审查工具——静态分析和软件构成分析
- 提供缓解管理
- 整合到现有的调试系统中
AI自动编程员
GitHub Co-pilot
GitHub Co-pilot是一款使用开放AI Codex编写代码的AI自动编程员。这款程序员经过自然语言和公开源代码的培训,适用于编程和人类语言。其目标是加快开发过程,提高开发人员的生产效率。它通过从代码中提取背景信息并建议整行代码或完整函数来工作。GitHub在几种编程语言中表现最佳,包括Typescript、Javascript、Ruby、Python、GO、C#和C++。它可以与流行的编辑器集成。分别包括Neovim、JetBrains IDEs、Visual Studio和Visual Studio Code。但是,在此平台上使用GitHub需要安装Visual Studio Code。
GitHub Co-pilot主要特点:
- 从注释和代码中创建预测行
- 适用于程序员和人类语言
- 提供更多上下文,使其更准确和易用
- 使用简单
- 擅长编写样板代码
- 改进了代码导航
- 创建查找数据的字典
结论
这些工具可以在您进行SDLC活动时提供很好的帮助。
在本文中,我们重点介绍了您团队可能会用到的一些知名工具。您可以更多地了解它们,以找到最适合您团队的工具。