M H*_*her 3 windows git docker
当尝试在 docker 构建期间生成使用head当前提交哈希调用的文件时(用于内部 .NET 服务版本控制),docker 似乎根本无法将该.git文件夹拉入映像中。
鉴于以下情况DockerFile
FROM alpine/git AS version
WORKDIR /src
COPY .git/ ./.git/
RUN git rev-parse HEAD > head
Run Code Online (Sandbox Code Playgroud)
有时候是这样的:
=> ERROR [version 2/4] COPY .git/ ./.git/ 0.0s
------
> [version 2/4] COPY .git/ ./.git/:
------
failed to compute cache key: "/.git" not found: not found
Run Code Online (Sandbox Code Playgroud)
也许更有趣的是,使用COPY . .它时会失败,如下所示:
=> ERROR [version 4/4] RUN git rev-parse HEAD > head 1.7s
------
> [version 4/4] RUN git rev-parse HEAD > head:
#36 1.613 fatal: not a git repository (or any of the parent directories): .git
------
executor failed running [/bin/sh -c git rev-parse HEAD > head]: exit code: 128
Run Code Online (Sandbox Code Playgroud)
Dockerfilegit 文件夹与as ls -Force(windows powershell 版本)位于同一根目录,ls -a返回以下结果(为了隐私而编辑了一些文件夹):
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 11/4/2020 2:45 PM .ci
d--h-- 3/17/2021 3:06 PM .git
d----- 2/3/2021 6:12 PM .github
d----- 9/8/2020 7:22 PM .idea
d----- 1/20/2021 1:50 PM .run
d--h-- 9/29/2020 6:53 PM .vs
d----- 3/17/2021 10:55 AM build
d----- 11/4/2020 2:45 PM lib
d----- 9/7/2020 11:12 AM src
d----- 11/4/2020 2:45 PM tests
-a---- 3/15/2021 4:19 PM 340 .dockerignore
-a---- 2/3/2021 6:12 PM 186 .editorconfig
-a---- 2/3/2021 6:12 PM 580 .gitignore
-a---- 3/17/2021 4:07 PM 1611 Dockerfile
Run Code Online (Sandbox Code Playgroud)
取消隐藏.git不会改变此行为。
/sf/answers/3790547001/是一个相关的答案,似乎在这里不起作用。至少在 Windows 10 上
| 归档时间: |
|
| 查看次数: |
1903 次 |
| 最近记录: |