13 个面向开发人员的开源工具

选择可在软件集成和交付中提供最大灵活性的工具。
63 位读者喜欢这篇文章。
tools in the cloud with security

Opensource.com

现代开发人员技术精湛、见解独到、充满热情、以社区为中心、积极主动、精通多种语言,最重要的是,他们是掌握实权的决策者。如今,开发人员在构建的产品以及用于构建产品的工具和技术方面拥有发言权。最重要的是,时间非常宝贵,开发人员和项目经理始终可以从更高的效率中获益。但是,要获得更高的效率,您必须了解软件生命周期,以及如何组织和管理它。

行业仍在努力完善开发人员的时间分配方式。我们可以将开发人员的主要任务分为两个不同的“循环”

  • 内部循环: 这些是开发人员最常做的任务,也是充分利用他们技能的任务:编码、运行、验证和调试。这是经典的开发人员循环。

  • 外部循环: 这是开发人员的代码通过持续集成和持续交付 (CI/CD) 并部署到生产环境的地方。在 Gitlab 和类似平台上,开发人员的拉取请求 (PR) 被合并到主分支,CI/CD 启动并创建构建,运行必要的测试,并部署到指定的环境。这是一个 DevOps 循环。

开发人员应该将大部分精力放在内部循环任务上,推动创新,并尽可能减少在外部循环上花费的时间。

了解内部循环和外部循环之间的差异可以帮助确定最适合软件生命周期每个部分的开发人员工具。

开源内部循环工具

以下是我最喜欢的一些用于编码、运行、验证和调试循环的开源工具。

编码

  • Eclipse Che 使 Kubernetes 开发对开发团队来说变得触手可及。Che 提供了一个浏览器内的集成开发环境 (IDE),允许开发人员从任何机器上编码、构建、测试和运行应用程序,就像它们在生产环境中运行一样。
  • Visual Studio Code (VS Code) 和 VSCodium 是开源代码编辑器,支持调试、语法突出显示、智能代码完成、代码片段、代码重构和嵌入式 Git。

运行

  • OpenShift Do (odo) 是一个面向开发人员的命令行界面,支持快速迭代开发,使他们能够专注于对他们来说最重要的事情:代码。
  • Minishift 帮助开发人员通过在虚拟机内启动单节点 OKD 集群,在本地运行 OKD(Kubernetes 的社区发行版)。Minishift 允许在本地机器上试用 OKD 或使用 OKD 进行日常开发。
  • Eclipse Che

验证

部署

  • Eclipse Che
  • Odo

了解更多

有很多工作流程可以实现良好的编码循环。要了解开发人员如何使用这些工具,请阅读 Daniel Oh 关于他如何使用 Quark 进行无服务器应用程序开发 的文章,以及 Bryan Son 关于 他的团队如何使用 Eclipse Che 的文章。

开源外部循环工具

有许多优秀的开源工具可以更轻松地通过 CI/CD 发送代码并将其部署到生产环境。

CI/CD

  • Tekton 是一个用于创建 CI/CD 系统的开源框架,允许开发人员构建、测试和部署。
  • Jenkins 是一个免费的开源自动化服务器。它有助于自动化与构建、测试和部署相关的软件开发部分,以促进 CI/CD。

构建

  • Shipwright 是一个用于在 Kubernetes 上构建容器镜像的可扩展框架。
  • Eclipse JKube 是插件和库的集合,用于使用 Docker、Jib 或 OpenShift Source-to-Image (S2I) 构建策略构建容器镜像。

运行

  • CodeReady Containers (CRC) 管理针对测试和开发目的优化的本地 OpenShift 4.x 集群。

监控

部署

  • Tekton
  • Jenkins
  • Helm 是 Kubernetes 的软件包管理器。
  • Argo CD 是一个声明式的 GitOps Kubernetes 持续交付工具。它使应用程序部署和生命周期管理自动化、可审计且易于理解。

了解 DevOps

如果您热衷于实施 DevOps 策略,您可以从 Jess Cherry 关于如何 使用 Minishift 和 Jenkins 设置您的第一个管道 的文章开始。

使其变得容易

如今,开发人员选择用于软件集成和交付的工具和技术。如果您是开发人员,那么请选择开源工具以获得最大的灵活性。如果您是项目经理或架构师,请选择开源工具来帮助您的开发人员获得成功,从而减少工作量并完成更多工作。

User profile image.
Nimisha Mukherjee 是 Red Hat 的工程经理。她的团队致力于为在 Red Hat OpenShift 上构建云原生应用程序提供简化的开发人员体验。总的来说,她在交付前沿 Web 应用程序方面拥有 18 年以上的经验。她一直喜欢构建提供差异化用户体验的用户界面。

评论已关闭。

© . All rights reserved.