栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Gitlab CI构建,推送和拉取多个Docker容器?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Gitlab CI构建,推送和拉取多个Docker容器?

首先,您显然可以在https://gitlab.com以及自托管的GitLab实例上使用GitLab CI /
CD功能。除了您要注册运行程序的主机之外,它没有任何改变:

  • https://gitlab.com/以防万一您使用GitLab而不托管它
  • https:// your-custom-domain /如果您托管自己的GitLab实例

您可以根据需要添加任意数量的运行程序(我认为是这样,并且每个项目至少有5-6个运行程序没有问题)。您只需要为您的项目注册每个赛跑者。为此,请参阅注册跑步者。

至于共享跑步者还是特定跑步者,如果您想尝试GitLab CI / CD,我认为您应该坚持分享跑步者。

GitLab.com上的共享跑步者以自动缩放模式运行,并由DigitalOcean提供支持。自动扩展意味着减少了启动构建的等待时间,并为每个项目隔离了VM,从而最大程度地提高了安全性。

它们可免费用于公共开源项目,对于私人项目,每个组每月限制为2000 CI分钟。阅读有关所有GitLab.com计划的信息。

不过,您可以在任何机器上安装自己的跑步机,例如laptotp。您可以将其与Docker一起部署以快速入门。

最后,是的,

gitlab-ci.yml
如果您使用
ssh
executor并已
docker-compose
安装在服务器上,则可以在文件中使用docker-compose
。但是我建议使用
docker
执行程序并使用
docker:dind
(Docker中的Docker)映像

Docker中的Docker是什么?

尽管通常不建议在Docker内部运行Docker,但是>有一些合理的用例,例如Docker本身的开发。

这是一个示例用法,

docker-compose
尽管没有:

image: docker:latestservices:  - name: docker:dind    command: ["--experimental"]before_script:  - apk add --no-cache py-pip      # <-- add python package install pip  - pip install docker-compose     # <--- add docker-compose   - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin    # <---- Login to your registrybuild-master:  stage: build  script:    - docker build --squash --pull -t "$CI_REGISTRY_USER"/"$CI_REGISTRY_IMAGE":latest .    - docker push "$CI_REGISTRY_USER"/"$CI_REGISTRY_IMAGE":latest  only:    - masterbuild-dev:  stage: build  script:    - docker build --squash --pull -t "$CI_REGISTRY_USER"/"$CI_REGISTRY_IMAGE":"$CI_COMMIT_REF_SLUG" .    - docker push "$CI_REGISTRY_USER"/"$CI_REGISTRY_IMAGE":"$CI_COMMIT_REF_SLUG"  except:    - master

如您所见,我构建了Docker映像,对其进行了标记,然后将其推送到我的Docker注册表中,但是您可以推送到任何注册表。当然,您可以随时在

script
声明中使用docker-
compose

我的Git存储库如下所示:

/my_repo|---- .gitignore    |---- .gitlab-ci.yml    |---- Dockerfile    |---- README.md

我的跑步者的config.toml看起来像:

[[runners]]  name = "4Gb digital ocean vps"  url = "https://gitlab.com"  token = "efnrong44d77a5d40f74fc2ba84d8"  executor = "docker"  [runners.docker]    tls_verify = false    image = "docker:dind"    privileged = false    disable_cache = false    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]    shm_size = 0  [runners.cache]

您可以查看https://docs.gitlab.com/runner/configuration/advanced-
configuration.html以获得有关Runner配置的更多信息。

注意:这里使用的所有变量都是 秘密变量
。有关说明,请参见https://docs.gitlab.com/ee/ci/variables/

我希望它能回答您的问题



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号