从Jenkins过渡到Github Actions



我们有几个Jenkins实例,有超过400个工作。虽然它被用作CI工具,但由于所有的集成和大量的服务,它相当复杂。我们有三个仓库可以使用Jenkins:

  1. 带有作业定义的作业dsl
  2. 与大多数管道定义(在jenkins文件中定义了许多自定义管道)共享的库
  3. JCasC

虽然我都是为了进步,但我有点不愿意过渡到Github Actions,因为它不仅需要很多时间,而且Jenkins实现的复杂性可能不太容易实现Github Actions。尽管如此,管理层还是决定削减詹金斯的维护成本。

有谁走过这条路,它看起来很复杂吗?你是否在GH中实现了与Jenkins相同级别的定制和抽象?

我有使用Github Actions的经验,但仅限于较小的应用程序,而且我绝对没有使用GH用于复杂系统的经验。

虽然从Jenkins到GitHub Actions的迁移是官方文档(并且,正如Benjamin W在评论中指出的,通过自动导入辅助),但它需要以下困难:

  1. 代码访问:Jenkins是自托管的,可以访问自托管的代码。
    除非你的代码已经在GitHub上,否则GitHub Action将无法访问相同的自托管代码以在其运行器上检查它。
    使用GHE (GitHub for Enterprise),您可以使用自托管运行器…但这就相当于你现在的Jenkins设置。

对于机密的、专有的企业代码,简单地将代码托管在GitHub上并不总是可能的。

  1. Jenkins插件:你必须重新实现它们到相应的GitHub动作,或者检查是否有一个已经匹配你的需要

  2. 发布:GitHub Action可以将其管道的结果存储为工件。同样,根据企业项目的敏感性质,这可能是可接受的,也可能是不可接受的。

最新更新