Я запускаю изображение docker в Azure Devops yaml-pipeline с использованием шага контейнера . Однако у меня проблемы с установкой содержимого репозитория, чтобы он был доступен изнутри образа 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
Я также попытался заменить $(..)$
с $[..]
(см. здесь , но это приводит к той же ошибке. Также с ${{..}}
конвейер даже не запускается (ошибка: «Выражение шаблона не разрешено в этом контексте» в пользовательском интерфейсе )
Если я удалю options
, скрипт запустится, но репо не будет смонтировано.
Для конвейеров, отличных от yaml, вопрос был рассмотрен здесь .
Есть идеи, как выполнить sh это? Или мне нужно создать новый docker образ, куда были добавлены файлы репо: ed?