将通用部署脚本拉取到多个 GitLab 存储库的最佳实践

问题描述 投票:0回答:1

在 GitLab 上,我们有许多应用程序存储库,每个存储库都包含自己的应用程序运行时代码、IaC (CloudFormation) 模板、配置、GitLab CI/CD 管道文件以及作为管道一部分执行的常见 shell 部署脚本。

这些脚本都很常见,并且设计为可供多个项目重用。目前,这些脚本在每个存储库中的

bin
文件夹中都有重复。我想摆脱这种重复,因为每当我们需要对其中一个脚本进行更改时,我们都需要在每个存储库中更新它。对此的最佳实践是什么?从研究来看,GitLab 子模块可能是一个很好的解决方案,但我以前从未使用过它们。另一种解决方案是将它们存储在 S3 等外部存储库中,并将脚本作为管道的一部分拉下来。对此有任何建议将不胜感激。

git gitlab gitlab-ci
1个回答
0
投票

将常见部署脚本拉取到多个 GitLab 存储库的最佳实践是使用 Git 子模块或 GitLab CI/CD 模板。

  1. Git 子模块:您可以创建一个包含常用部署脚本的单独的 Git 存储库。然后,在每个项目存储库中,您可以将此公共存储库添加为子模块。这使您可以维护部署脚本的单一事实来源,同时轻松地将它们合并到多个项目中。

  2. GitLab CI/CD 模板:GitLab 允许您定义可在多个项目中重复使用的 CI/CD 模板。您可以创建一个包含部署脚本和变量的模板,然后将此模板包含在每个项目存储库的

    .gitlab-ci.yml
    文件中。这种方法可确保一致性并简化项目中部署脚本的维护。

通过采用其中一种方法,您可以简化跨多个 GitLab 存储库管理和部署通用脚本的过程,从而提高开发工作流程的效率和可维护性。

© www.soinside.com 2019 - 2024. All rights reserved.