我们有一个node.js / typescript项目,现在我应该为声纳分析提供数据。
我们使用docker容器在测试完成后运行测试,然后运行声纳分析,因此我们可以使用测试中的代码覆盖率报告。
唯一的问题是,责任信息缺失。这就是为什么我尝试将.git文件夹复制到docker容器中的原因,但到目前为止我没有成功。这是我的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的文件,但这也行不通。
有人知道如何包括它吗?我只找到“如何从Docker容器中排除.git”,但到目前为止,还原这些提示并没有帮助。
编辑:使用COPY . ./
使其变得更加陌生时,请将.git文件夹包含在图像中。
答案 0 :(得分:2)
您将.git文件夹的内容复制到/ dist目录中,而不是.git文件夹本身。如果要复制文件夹,请将目标指定为要创建的文件夹:
COPY .git/ ./.git/