【问题标题】:Server and application on two different git repositories两个不同 git 存储库上的服务器和应用程序
【发布时间】:2017-05-10 09:32:55
【问题描述】:

我想使用 IBM Bluemix DevOps Services,尤其是自动化管道,通过构建、测试传递最后推送的提交,然后在测试环境中部署。

我找到的所有指南都建议将服务器和应用程序放在一个存储库中,并将此存储库链接到管道。虽然这样的配置有效,但我觉得它违反了 Django 标准。应用程序(我开发的)应该与服务器分开(即:在另一个 git repo 上)(这只是使应用程序工作的一部分)。

我不知道如何处理这种情况。我应该:

  • 编写一个构建脚本,使用git clone 检索像https://github.com/fe01134/djangobluemix 这样的构建包,然后修改适当的文件;
  • 找到一种方法将两个 git 存储库附加到一个管道;
  • 忘记这个想法并采用 IBM 推荐的方式将服务器和应用程序放在同一个存储库中?

【问题讨论】:

  • 查看 CI 平台,您可以轻松构建前端,然后为 Django 提供静态文件。 (我不确定你在谈论前端/后端管道)
  • 是否有不能创建两个管道的原因?每个回购一个?据我所知,现阶段您不能将两个存储库添加到一个管道中
  • @OrDuan 不,我说的是服务器和应用程序管道。应用程序是一个单独的部分,不能单独工作,需要部署服务器。
  • @EdShee 谢谢你的建议。但是,应用程序管道需要构建和部署服务器部分。是否可以在两个不同的管道之间共享相同的环境?如果是的话,我猜依赖部分很容易管理。
  • 抱歉 - 对此有更多想法:如果您正在修改 django buildpack,为什么不直接克隆它,进行更改,然后将新的 git url 指定为 buildpack url(使用 cf push -b BUILDPACK_URL或将其添加到清单中)

标签: django ibm-cloud pipeline devops-services


【解决方案1】:

似乎您正在尝试创建自己的构建包(通过克隆 Django 并对其进行编辑)。

Bluemix 支持来自任何公共 git 存储库的 3rd 方构建包,因此您最好执行以下操作:

  1. fork django buildpack 并对您的应用进行必要的编辑
  2. 将您的应用程序放入它自己的存储库中
  3. 将管道指向此存储库并配置您的构建/测试/部署阶段
  4. 通过包含buildpack line in your manifest.yml 或将部署脚本修改为cf push -b http://yourbuildpackurl.git "${CF_APP}",配置您的“部署”阶段以使用新修改的构建包

【讨论】:

    【解决方案2】:

    这个例子只是使用一个文件来指定对 Django 的依赖,而不是把它放在你的 repo 中(在第 4 步中):

    https://www.ibm.com/developerworks/cloud/library/cl-worldbank-charting-app/

    【讨论】:

    • 向 Django 添加依赖是不够的。您还必须创建服务器部分 (django-admin startproject),并通过添加应用程序、编辑文件和应用迁移来配置服务器。
    猜你喜欢
    • 2014-10-18
    • 2016-12-16
    • 2011-05-19
    • 2021-07-08
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多