我们的工具 - 2019 版

2025-06-07

我们的工具 - 2019 版

以下是我们构建“功能标志”平台 Bullet Train所使用的工具。只需谨慎购买 VPS,即可完全免费运行其中大部分功能!

(移至此处

GitLab 的一切

GitLab 非常棒,而且每次发布都会变得更加出色。它最大的优势在于集成了一系列不同的工具,并让它们协同工作,从而提高生产力。这也意味着单个 GitLab 实例就可以管理大部分开发流程。

我们自行托管 GitLab。它是一个相当大的应用程序,所以我们在 Google Cloud Platform 上的一个 3GB 虚拟机上运行,​​但如果您愿意,也可以使用更便宜的 VPS 提供商。GitLab 的开源版本被称为“社区版”,但别被误导了,它功能齐全,只缺少付费产品中的几个功能。它可以通过Omnibus 软件包轻松安装,更新也非常简单。

apt-get update; apt-get upgrade

您也可以像我们一样使用他们的托管产品,它有一个很棒的免费层。

源代码

嗯,当然。我们所有的代码都推送到了 GitLab。由于开源且自托管,您可以托管的开发者数量或私人项目数量没有限制。

持续集成/持续交付

GitLab 内置一流的 CI/CD 平台。您可以快速轻松地完成推送部署。只需几步即可启动并运行。

  1. 将一个.gitlab-ci.yml文件添加到项目的根路径。该文件包含构建产品所需的命令。2. 注册 GitLab Runner,它本质上是一个在某个地方运行的服务,可以接收来自 GitLab 的作业,运行它们,并将结果发送回 GitLab。您甚至可以在与 GitLab 实例相同的机器上运行 Runner。

敏捷项目管理

我们仍然认为Trello是其中最好的。它快速、简单,而且不费力。不过,他们最近对免费套餐做了一些调整,所以另一个可能值得一试的选择是 Gitlab。

您可以使用 Gitlab 问题跟踪器来管理需求,并在类似 Trello 的看板中查看它们。这样做的一大优势在于 Gitlab 组件之间的紧密集成。例如,如果您推送一个包含消息 的提交

Fixes #252

,则该提交将引用编号为 252 的问题。当您将该提交合并到主分支时,Gitlab 甚至会将该问题标记为已解决!还有许多其他集成也使用了这种模式。

开发/阶段构建

我们正在使用强大的Dokku来运行开发和功能分支。Dokku 是一款非常棒的软件,它可以将您的 VPS 变成一个迷你版 Heroku 平台。创建和销毁功能分支以及构建和部署开发版本都非常简单。我们使用这个 Docker 镜像将 Gitlab CI 与 Dokku 集成。

制作托管

这实际上取决于你正在开发的应用程序。对于Bullet Train(我们的 Feature Flag 平台),我们实际上拆分了托管:

  • 我们的 Web 前端用 Node/JS 编写,并部署到标准 AppEngine。它超级便宜(几乎免费)而且非常稳定。
  • 我们的 API 是用Django/DRF编写的,并使用 Postgres 数据库作为数据存储。我们将其托管在 AWS 和 Elastic Beanstalk 上。这为我们提供了良好的自动扩展选项和简单的部署流程。

功能标志

嗯,我们当然会用到 Feature Flags 来帮助构建我们的 Feature Flags!为了确保 CI/CD 流程的顺畅,并减少已提交但未部署的代码量,我们在 Bullet Train 内部使用了Bullet Train Feature Flags平台。Meta 也提供了相当不错的免费套餐,所以我们无需自掏腰包来运行我们的 Feature Flags。

支持、电子邮件等

全部免费!我们使用 FreshDesk 来跟踪客户问题,使用FreshStatus来制作状态页面,并使用Uptimely来监控正常运行时间/发出故障警报。

对于电子邮件,我们使用非常棒的Migadu来接收电子邮件,并使用 SendGrid 来发送电子邮件。

对于营销,MailerLite可以管理点滴营销活动,而免费版Intercom则可以进行应用内聊天。

文章来源:https://dev.to/kylessg/our-tools-2019-edition-533k
PREV
2022 年招聘远程工作者
NEXT
如果没有代码构建器,客户为什么要聘请开发人员?