我会说“网站”比“移动应用程序”更合适,但我喜欢这种来自 Max Lynch 的表达方式。
每个生产移动应用程序最终都会有一套围绕集成、测试、部署和长期维护的定期任务。这些任务通常必须在一个由许多开发人员和应用程序项目组成的团队中自动执行。为这些任务构建流程可能非常耗时,需要专门的基础设施经验,但对于任何严肃的应用程序项目来说都是至关重要的。
他们谈论的是“持续集成和持续部署”,即 CI/CD。
每个人都试图让你使用他们的 CI/CD 工具,原因很明显:这是一种锁定方式。这些东西很难,所以如果他们能帮助简化它,那很好,但他们往往以自己的特殊方式来做,这意味着你不能轻易离开,否则会给自己带来很多额外的工作。我不是说不好,只是事实就是这样。
很多 CI/CD 相关的东西都吸引了我的注意。
- Max 写的是关于 AppFlow 的,它是 Ionic 的一个新的 CI/CD 工具。我还没有使用过它,但看起来不错。我也没有使用过 Semaphore,但看起来也很好。
- 我在 CSS-Tricks 上 使用 Buddy。
- 在 CodePen,我们过去使用 Capistrano,然后迁移到 CodeShip,之后又迁移到 GitLab (DevOps),现在在 GitHub (Actions) 上,并使用 Pulumi 进行配置。这在评估了 Azure DevOps 和 AWS CodeBuild 之后。其中一些涉及使用像 Serverless 这样的工具来帮助将代码部署到 AWS。
- Netlify 运行我所有 Jamstack 相关的 构建,它具有 高度可配置性,并且部署是默认的。
- 我们在 ShopTalk 上与 Brian Leroux 进行了交谈,他正在构建 Begin,这是一个无服务器 CI/CD 平台。
- 感觉上最经典的工具是 Jenkins、Circle CI 和 Travis CI。
- Heroku 应该得到一个高五,因为他们在很久以前就教会了开发者 CI/CD 应该基于 Git,并且像
git push heroku master
一样简单。
我可能漏掉了至少 20 家公司。就像我说的,每个人都希望你使用他们的系统。他们希望你将你的秘密存储在那里。他们希望你配置你的权限在那里。
Heroku 与相关仓库的 GitHub 分支连接起来非常容易。当您推送到该分支时,部署会自动进行。
我最近一直在为一个 Rails 应用程序使用 Google Cloud Build 和 Cloud Run。我必须说,当我开始研究从哪里开始的时候,这有点令人困惑和不知所措。我花了很多时间试图在 Gitlab 中设置所有东西。当我意识到在 Google Cloud Source 中建立一个 Git 镜像非常容易配置,将所有东西迁移到原生的云工具中,使用 Cloud Run 就更有意义了。我预计我可能要尝试至少 15 种不同的方式,才能找到最佳方案。我绝对同意锁定效应是真实存在的。当出现构建问题时,调试起来并不轻松,更不用说绿色构建但应用程序部署失败了。
很想看看关于这个话题的任何评论。
像 NetFront 这样的旧浏览器中的自定义字体怎么办…
Fastlane 是 React Native 项目的一个不错的竞争者,可以与许多提到的工具集成:https://fastlane.tools/
就我个人而言,Gitlab 的 CI/CD 管道和作业文档非常完善,易于上手,可以快速让管道运行起来。虽然一旦我学会了 Gitlab 的方法,现在学习一个完全不同的 CI/CD 工具似乎需要很多努力,但我感觉它们的目标都是一样的,学习另一个工具应该不会太难。