簡體   English   中英

Gitlab CI/CD 跨項目工件不使用“需要”下載

[英]Gitlab CI/CD cross project artifacts not downloading using "needs"

我有一個名為my-group ,它由一個 spring-boot maven 項目和 2 個庫組成,如下所示:

   my-group
    |
    ├─> core-lib
    |       ├─> .gitlab-ci.yml
    |       └─> pom.xml 
    ├─> core-sec
    |       ├─> .gitlab-ci.yml
    |       └─> pom.xml 
    └─> user-service
            ├─> .gitlab-ci.yml
            └─> pom.xml 

項目user-service是一個可運行的應用程序,它需要core-libcore-sec作為依賴項。

我正在引用此頁面: cross-project-artifact-downloads-with-needs

.gitlab-ci.yml 用於 core-lib

cache:
    paths:
      - .m2/repository

variables:
      MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
      MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
      DOCKER_DRIVER: overlay2

image: docker:19.03.1

services:
      - docker:19.03.1-dind

stages:
      - build

mvn_build:
      image: maven:3.3.9-jdk-8
      stage: build
      only:
       - gitlabci-test
      script:
       - "mvn $MAVEN_CLI_OPTS clean install -Dmaven.test.skip=true"
      artifacts:
            paths:
            - target/*.jar

.gitlab-ci.yml 用於用戶服務:

    cache:
          paths:
          - .m2/repository

    variables:
          MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
          MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
          DOCKER_DRIVER: overlay2

    image: docker:19.03.1

    services:
          - docker:19.03.1-dind

    stages:
          - build

    mvn_build:
          image: maven:3.3.9-jdk-8
          stage: build
          only:
           - gitlabci-test
          script:
           - "mvn $MAVEN_CLI_OPTS clean install -Dmaven.test.skip=true"
          artifacts:
                paths:
                - target/*-exec.jar
          needs:
          - project: my-group/core-lib
            job: mvn_build
            ref: gitlabci-test
            artifacts: true

core-lib 和 core-sec 的工件正在成功構建和上傳,但是在構建用戶服務 gitlab runner 時說:

找不到工件 com.myproject.core_lib:core-lib:jar:1.1-SNAPSHOT

請幫我解決這個問題。 謝謝

這是一項高級功能,免費的自托管 GitLab 實例不支持。 文檔沒有正確說明這一點,在更新我們的整個 CI 工作流程后,我遇到了同樣的問題。 但是,該文檔現已更新並將其標記為高級功能。 還有一個關於它的問題,但我找不到了。

暫無
暫無

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

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