gpt4 book ai didi

docker - 带有 GitLab、docker 和 docker 私有(private)注册表的 CD

转载 作者:行者123 更新时间:2023-12-02 19:06:53 25 4
gpt4 key购买 nike

我们需要自动化部署过程。让我指出我们使用的堆栈。
我们有自己的 GitLab CE 实例和私有(private) docker 注册表。在生产服务器上,应用程序在容器中运行。每次主提交后,GitLab CI 都会使用其中的代码构建镜像,并将其发送到 docker 注册表,这就是自动化结束的地方。
生产服务器上的部署可以通过几个步骤来执行 - 停止当前的应用程序容器,拉新的应用程序容器并运行它。
自动化此过程的最佳方法是什么?
我阅读了一些解决方案(但我相信还有更多)

  • docker 私有(private)注册表 ping 到一个生产服务器,它自己执行所有上述步骤(生产机器上的脚本由例如主管或类似的东西管理)
  • 使用docker机器远程管理运行容器

  • 首选方式是什么?或者你可以推荐别的东西吗?
    无需使用 swarm、kubernetes 等工具,非常简单的应用程序。提前致谢。

    最佳答案

    在你的生产机器上安装 Gitlab-ci 运行器怎么样?并在主服务器上推送到注册表后执行一项工作,称为 deploy并使用 Gitlab CI 标签将其固定到该机器上。

    该作业只是从注册表中提取图像并重新启动您的服务或您现有的任何东西。

    就像是:

    deploy-job:
    stage: deploy
    tags:
    - production
    script:
    - docker login myprivateregistry.com -u $SECRET_USER -p $SECRET_PASS
    - docker pull $CI_REGISTRY_IMAGE:latest
    - docker-compose down
    - docker-compose up -d

    关于docker - 带有 GitLab、docker 和 docker 私有(private)注册表的 CD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49242546/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com