我对Gitlab和Gitlab-CI都很陌生,所以我可能会遗漏一些基本的东西 . 据我所知,Gitlab-CI基于 Dockerfile.gitlab-ci.yml 自动构建容器,该容器位于我的工作树的根目录中 .

我的设置:

我正在使用私人托管的 Gitlab (在容器中运行)并使用 Sonatype Nexus 3 用于我的私人托管的docker-registry . (Nexus 3也在一个容器中运行)

我的项目:

我正在开展一个大约有六个主题的项目.1313744_ Yii2 项目 . (主题数量不断增长)主题由我的配置文件夹中的 (clientname).php 文件确定 . 我喜欢Gitlab为每个主题创建容器,如果可能的话,自动将它们部署在我的私有注册表中 .

我的问题:

什么是最佳实践,配置Gitlab来分割我的工作树并在推送到主分支时为每个版本创建容器?
是否可以在每个版本上运行测试?如何配置推送到我的私人注册表以及如何配置容器是否用 :latest:semanticVersion 标记?
有没有办法在其中一些步骤中使用bash脚本?