簡體   English   中英

Gitlab CI CD 未在我的子文件夾中構建 docker 圖像

[英]Gitlab CI CD not building docker image in my subfolders

我有簡單的 .net 應用程序並嘗試創建 pipe 行,但在嘗試構建圖像時出現以下錯誤“無效的引用格式:存儲庫名稱必須小寫”

運行管道.gitlab-ci.yml 文件時出錯:

default:
  image: mcr.microsoft.com/dotnet/sdk:6.0  
stages:
  - build
services:
  - docker:dind
docker-build: 
  image: 
    # name: docker/compose:latest
    name: docker:latest
  stage: build
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
    #- docker-compose version
  script:
    - echo "docker build started"  
    - echo $CI_REGISTRY/project/dncd.project.portal/
    - docker build -t $CI_REGISTRY_IMAGE/project/dncd.project.portal/ . 
    #- docker push "$CI_REGISTRY_IMAGE"
    #- docker build -t "$CI_REGISTRY_IMAGE/services/api/dncd.service.api/" . 
    #- docker push "$CI_REGISTRY_IMAGE"
    #- docker-compose build
    - echo "build completed"

Gitlab 亞軍 - config.toml:

concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "win11"
  url = "https://gitlab.com/"
  token = "5eNzn9o3FMvuUxUmgxDh"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "aspnet:3.1"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0

項目結構在此處輸入圖像描述

Docker 文件:FROM mcr.microsoft.com/do.net/as.net:3.1 AS base WORKDIR /app EXPOSE 80

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY ["Project/DNCD.Project.Portal/DNCD.Project.Portal.csproj", "Project/DNCD.Project.Portal/"]
COPY ["Services/API/DNCD.Services.API.Proxy/DNCD.Services.API.Proxy.csproj", "Services/API/DNCD.Services.API.Proxy/"]
COPY ["Common/DNCD.Common.Base/DNCD.Common.Base.csproj", "Common/DNCD.Common.Base/"]
RUN dotnet restore "Project/DNCD.Project.Portal/DNCD.Project.Portal.csproj"
COPY . .
WORKDIR "/src/Project/DNCD.Project.Portal"
RUN dotnet build "DNCD.Project.Portal.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "DNCD.Project.Portal.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "DNCD.Project.Portal.dll"]

你確定在你的gitlab-ci.yml你修復了

- docker build -t $CI_REGISTRY_IMAGE/project/dncd.project.portal/Dockerfile. 好像你提交的指令有錯字。

它應該是- docker build -t $CI_REGISTRY_IMAGE/project/dncd.project.portal/.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM