azuredevops docker сборка не удалась при копировании файлов после сборки - PullRequest
0 голосов
/ 18 апреля 2020

У меня ниже задача в моем конвейере сборки:

- bash: |
          echo "To test file exists and can be copied inside DOckerfile"
          cat $(System.DefaultWorkingDirectory)/configCreate/properties/config.properties
          ls -ltr $(System.DefaultWorkingDirectory)/configCreate/pipelines/
          cd $(System.DefaultWorkingDirectory)/configCreate/
          echo $(pwd)
          ls -ltr $(System.DefaultWorkingDirectory)/configCreate/
          echo "Started Building Docker Image"
          docker build -t test -f Dockerfile .
        displayName: 'Build Docker Image'

Но это не удается при копировании configCreate / properties / config.properties внутри док-файла.

Dockerfile

COPY properties/config.properties ${SDC_HOME}

Также я пытался передать workingDIR как $(System.DefaultWorkingDirectory)/configCreate во время команды построения Docker в качестве аргумента, и мой файл Docker был бы тогда

COPY ${workingDIR}/configCreate/properties/config.properties ${SDC_HOME}

Каждый раз, когда он терпел неудачу, заявляя No such file or directory Что-то, что я должен сделать, чтобы файлы могли быть скопированы?

1 Ответ

0 голосов
/ 19 апреля 2020

Вы должны передать workingDirctory контекст, как показано ниже, чтобы файлы правильно копировались внутри Docker.

- bash: |
          cd $(System.DefaultWorkingDirectory)/configCreate/
          echo "Started Building Docker Image with tag $latestECRTag"
          docker build -t test:latest -f Dockerfile .


        displayName: 'Build Docker Image with Tag.'
        workingDirectory: $(System.DefaultWorkingDirectory)/configCreate/

, теперь внутри Dockerfile копирование работает нормально.

COPY properties/config.properties ${SDC_HOME} 

Отсутствие этого workingDirectory не приведет к ошибкам файлов или каталогов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...