我对 docker 和 DevOps 还很陌生。我正在尝试将一个秘密传递给我的 Docker 容器以在构建中使用。我读到,使用 BuildKit 可以提高安全性,因为秘密不会被烘焙到容器中。按照本文底部评论中的步骤进行操作后,我遇到了问题/sf/answers/4921657751/这似乎完美地解决了我的问题,并且看起来非常直接和简单,但是我不确定出了什么问题?我可以使用 --build-arg 将其他环境传递到构建中(我没有将它们包含在 yaml 代码片段中),但这种方法似乎在 Dockerfile 阶段对我来说是破坏性的(我认为)。
我的构建管道将值存储为秘密,当我将秘密回显到文件中$(Pipeline.Workspace)/direct_line_secret.txt并对其进行分类时,如下所示,我得到了管道构建中返回的 *** 隐藏值(从底部开始第二行)。
Starting: Store direct line secret
==============================================================================
Task : Bash
Description : Run a Bash script on macOS, Linux, or Windows
Version : 3.195.0
Author : Microsoft Corporation
Help : https://learn.microsoft.com/azure/devops/pipelines/tasks/utility/bash
==============================================================================
Generating script.
========================== Starting Command Output ===========================
/usr/bin/bash /home/vsts/work/_temp/070f6401-2a4d-4656-b674-4fadcce142ea.sh
***
Finishing: Store direct line secret
Run Code Online (Sandbox Code Playgroud)
这是我用于创建此脚本和 docker 构建任务的 yaml 文件。
trigger:
- main
resources:
- repo: self …Run Code Online (Sandbox Code Playgroud) environment-variables docker dockerfile azure-devops docker-buildkit