【问题标题】:Deploy To multiple production servers部署到多个生产服务器
【发布时间】:2019-01-05 19:22:45
【问题描述】:

我们有一个基于 Gitlab CD/CI 的主存储库。 现在随着我们的成长,我们很难使用 Git 自动部署来更新每个客户的应用程序。

现在我们正在寻找一种解决方案,当生产阶段成功并通过测试时,我们所有的客户都会获得最新的部署并自动提取更新。 (继续交付)

Gitlab 中有一个deploy to production,但它适用于单一生产,我们希望为每个镜像复制此步骤。

【问题讨论】:

    标签: docker github gitlab autodeploy


    【解决方案1】:

    您可能想查看DeployHQ。支持同时部署到不限数量的服务器。

    【讨论】:

    • 这是一个很棒的工具,但我们正在寻找内部解决方案。
    【解决方案2】:

    Gitlab-CI 部署阶段可以有多个环境,您可以将每个环境设置为自动/手动部署。

    示例:只需将暂存更改为 customer1,将生产更改为 customer2,然后根据需要添加任意数量。

    stages:
      - test
      - build
      - deploy
    
    test:
      stage: test
      script: echo "Running tests"
    
    build:
      stage: build
      script: echo "Building the app"
    
    deploy_staging:
      stage: deploy
      script:
        - echo "Deploy to staging server"
      environment:
        name: staging
        url: https://staging.example.com
      only:
      - master
    
    deploy_prod:
      stage: deploy
      script:
        - echo "Deploy to production server"
      environment:
        name: production
        url: https://example.com
      when: manual
      only:
      - master
    

    如果您无权访问您的客户环境,另一种解决方案是应用程序自动更新。

    还可以查看似乎专为 CD 设计的 Spinnaker

    【讨论】:

    • 假设您有 500 个客户,我们要在脚本中添加新客户 URL 吗?我不这么认为
    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 2012-01-13
    • 2013-12-11
    • 2012-03-26
    • 1970-01-01
    相关资源
    最近更新 更多