gpt4 book ai didi

docker - .env文件通过DevOps CD管道部署时标记为不是对象

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

我刚刚创建了一个.env文件,用于将环境变量与主docker-compose文件分开。我可以在本地计算机上正常运行此文档,没有任何错误或问题,但是当我尝试通过CD管道运行它时,出现以下错误。

[error]Top level object in 'C:\BuildAgent_work\r38\a\"Myproject Name"\drop\ .env' needs to be an object not 'class 'str'.



我最初以为这是因为我的build / CI程序设置错误,但是我一直在玩弄它,并且没有运气。

我还在线进行了一些研究,以找到其他有相同问题的研究,但无论如何都与DevOps不相关,因此这一直无济于事

我不确定如何重现此问题,但是如果有人知道我可以尝试在需要时提供一些代码

编辑:

这是我的.env文件的摘要。查看下面的评论以了解我的想法

ContainerInfrastructure_Version=6.7.93-beta.1

ContainerInfrastructureCore_Version=6.7.41-beta.1

AuthenticationWebService_Version=6.7.52-beta.1

CRM_Version=6.7.52-beta.1



预期结果:

Deploys successfully



我在docker-compose任务中得到的是:

[error]Top level object in 'C:\BuildAgent_work\r38\a\Goldpine.ReleaseManagement\drop.env' needs to be an object not 'class 'str'.

最佳答案

好的,所以我知道了。我不确定如何简要解释这一点,但我会尽力而为。

所以问题出在DevOps本身,而不是我的代码。原来,如果您从.env文件存在的工作目录中运行docker-compose命令,则docker-compose.yml文件仅可以工作/获取。

当它进入DevOps时,它不是从下载的人工目录中运行命令,而是通过使用-f命令创建指向它的路径。

长话短说,如果您使用.env文件,则需要将working directory中的CD pipeline设置到您的artefact文件夹中,以便它可以正确查看.env文件。

我希望这很清楚,即使不让我知道,我也会尝试相应地进行更改:)

关于docker - .env文件通过DevOps CD管道部署时标记为不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57778877/

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