Почему я не могу скопировать мою папку .git в мой контейнер докеров - PullRequest
0 голосов
/ 11 января 2019

У нас есть проект node.js / typescript, и теперь я должен предоставить данные для нашего анализа sonarqube.

Мы используем докер-контейнер для запуска наших тестов, и после их завершения мы проводим анализ sonarqube, поэтому мы можем использовать для него отчет о покрытии кода из тестов.

Единственная проблема в том, что информация о вине отсутствует. Вот почему я попытался скопировать папку .git в контейнер докера, но пока мне это не удалось. Это содержимое моего Dockerfile.

FROM node:11.6-alpine
RUN apk --update add openjdk8-jre

WORKDIR /dist

COPY package*.json ./

RUN npm install

COPY src/ ./src/
COPY test/ ./test/
COPY ts*.json ./
COPY sonar-project.properties ./
COPY test.sh /
COPY .git/ ./

RUN chmod +x /test.sh

CMD ["sh", "/test.sh"]

Я прочитал, что файл .dockerignore можно использовать для исключения файлов или папок, но мы не используем такой файл, и я также попытался создать файл, который содержит только node_modules, но он также не работал.

Кто-нибудь есть идеи, как включить его или любой совет, что гуглить? Я нахожу только «как исключить .git из контейнера Docker», но отменить эти подсказки пока не помогло.

Редактировать: чтобы сделать его еще более странным, использование COPY . ./ включает в изображение папку .git.

1 Ответ

0 голосов
/ 11 января 2019

Вы скопировали содержимое папки .git в каталог / dist, а не в саму папку .git. Если вы хотите скопировать папку, укажите цель в качестве папки, которую вы хотите создать:

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