我正在使用容器步骤在 Azure Devops yaml-pipeline 中运行 docker 映像。但是,我在安装 repo 的内容时遇到问题,以便可以从 docker 映像内部访问它。
Azure Devops pipeline.yml 文件如下:
container:
image: 'image-name'
endpoint: 'foo'
options: '-v $(Build.SourcesDirectory):/testing'
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script inside docker image'
这失败并显示错误消息:
Error response from daemon: create $(Build.SourcesDirectory): "$(Build.SourcesDirectory)" includes
invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended
to pass a host directory, use absolute path
我还尝试替换$(..)$
为$[..]
(请参见此处,但这会导致相同的错误。${{..}}
管道甚至无法启动(错误:UI 中的“此上下文中不允许模板表达式”)
如果我删除options
脚本运行,但未安装 repo。
对于非 yaml 管道,问题已在此处解决。
任何想法如何做到这一点?或者我是否需要创建一个新的 docker 镜像,其中添加了 repo 文件:ed?