gpt4 book ai didi

bash - 将文件内容作为 azure Devops 管道 docker 构建任务中的构建参数传递

转载 作者:行者123 更新时间:2023-12-03 04:59:43 26 4
gpt4 key购买 nike

我想使用 --build-arg 将我的文件内容作为 docker build 命令中的构建参数传递。我在终端中使用以下命令,它工作正常

docker build -t example --build-arg PRIVATE_KEY="$(cat /home/key)" .

但是当我在 azure devops pipeline docker build 任务中尝试相同的操作并在参数框中传递 --build-arg PRIVATE_KEY="$(cat/home/key)" 时,它会获取该值因为它是,即 $(cat/home/key) 并且不执行 cat 命令。

最佳答案

我不认为这是 docker build 任务的问题。它适用于命令行任务的原因可能是因为当您在本地计算机上或在命令行任务中运行 docker build 命令时,命令行首先将评估“$()”中包含的内容",然后将该值传递给 docker ARG。但对于 docker build 任务,它直接调用 docker.exe,因此无法计算“$()”中的表达式。

既然您已经找到了使用命令行任务的解决方法。我建议你使用命令行任务而不是docker任务。

我也尝试了@4c74356b41的建议。我定义了一个管道变量key,并将键的值放入该变量中,并在docker构建任务中引用该变量。

当我将 --build-arg PRIVATE_KEY="$(key)" 放入参数框中时,我在下面为我工作。

  • 变量 enter image description here

  • Docker 构建任务

enter image description here

关于bash - 将文件内容作为 azure Devops 管道 docker 构建任务中的构建参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60463392/

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