Зал: нет доступа к рабочим ресурсам во время шага размещения

Я пытаюсь создать задание и отправить образ докера, содержащий зависимости моего приложения, с помощью параметра сборки. В документации для собраний указано, что все ресурсы, которые были извлечены через get, доступны во время шага размещения. Однако, похоже, я не могу получить доступ к своему ресурсу git, чтобы вытащить из него файл pom.xml. Когда я пытаюсь запустить это задание, я получаю сообщение об ошибке, что файл pom.xml не существует.

трубопроводная работа

  - name: get-dependencies
    plan:
    - get: git-repo
      passed: [pull-repo]
      trigger: true
    - get: artifacts-container
    - put: artifacts-container
      params:
        inputs: [git-repo]
        build: git-repo/app/concourse/dockerfiles/artifacts

Dockerfile

# Set base image qualities
FROM localhost:5000/app-artifacts:0.0.3 AS build

Load application into image
COPY git-repo/app/pom.xml /

RUN mvn dependency:go-offline 

person Andy Zawada    schedule 24.06.2019    source источник
comment
Может быть, это проблема относительного пути? То есть собираемый Dockerfile находится на git-repo / app / concourse / dockerfiles / artifacts и пытается получить доступ к чему-то из git-repo / app / pom.xml. Возможно, он ищет git-repo / app / pom.xml внутри git-repo / app / concourse / dockerfiles / artifacts   -  person Beterraba    schedule 06.07.2019


Ответы (2)


У меня была похожая проблема. Я хотел создать образ докера и поместить в него папку из другого ресурса с помощью команды COPY.

Сначала я дал docker-image-resource только параметр «build» с папкой, в которой находится Dockerfile. Но так я не смог получить доступ к другому ресурсу. В итоге я использовал параметр build и dockerfile. Таким образом, сборка происходит в корне шага put, и все остальные артефакты становятся доступными.

Мой конвейер:

- put: docker-image-resource
  params:
    build: .
    dockerfile: ./path/to/Dockerfile
    build_args:
      CONFIG_DIR: ./other-resource/

Я использовал build-arg, чтобы отделить Dockerfile от сборки конвейеров. Таким образом, я могу указать другие каталоги в другом контексте сборки (например, локальном).

person Manuel Schmidt    schedule 24.10.2019

Не уверен, что делает ваш контейнер, но вам следует удалить оператор - get: artifacts-container и просто оставить put.

person Squake    schedule 28.06.2019