gpt4 book ai didi

git - 用于生产和暂存/开发的不同 composer.json 文件

转载 作者:太空狗 更新时间:2023-10-29 13:31:20 36 4
gpt4 key购买 nike

场景:

我有一个现有的实时站点,它通过 dev-master 上的多个 GIT 存储库加载 Composer 依赖项。

一个新的功能请求来自客户端,在我将它从开发 merge 到主控之前,我需要将新的(未完成的)功能部署到一个暂存环境,以便在推送上线之前从客户端获得确定(我可能需要展示客户端是新功能的早期版本,还没有准备好掌握)。

我通常通过 capistrano 部署东西(我猜这并没有什么不同)。

我不能为新代码使用 require-dev,因为它可能是一个需要重构的现有插件。

理想情况下,我可以使用 dev-develop 作为暂存/开发环境的插件,为实时环境使用 dev-master ,但这不可能在同一个 composer.json 文件中两次拥有相同的存储库。

我怎样才能做到这一点?

最佳答案

解决方案是使用环境变量。

我有 2 个 composer.json 文件(还有 2 个 composer.lock 文件)。第二个我命名为 composer-dev.json(这将随后生成一个名为 composer-dev.lock 的锁文件)。

在我添加的阶段服务器的 capistrano 部署配置中

set :default_env, {
'COMPOSER' => 'composer-dev.json'
}

我可以define the environmental variable on the fly在我的本地机器上像这样:

$ COMPOSER=composer-dev.json composer update

它生成 composer-dev.lock 文件,然后我可以将其部署到暂存服务器。

当然我可以在登台服务器上配置环境,在我的 capistrano 配置中似乎更容易。

关于git - 用于生产和暂存/开发的不同 composer.json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34807269/

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