附加管道工件以在GitLab中发布

时间:2020-02-13 16:03:55

标签: gitlab gitlab-ci

在我的存储库中,仅签入源文件-测试代码并在管道中生成dist文件。然后,我希望能够标记一个特定的版本,并将此管道生成的工件附加到该版本。理想情况下,所有这些都应在尽可能少的人工干预下发生。

从发行版中引用管道工件的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以在构建应用程序的工作之后的某个阶段使用release-cli,以将先前工作的文件上传到发行版中,您需要该工作ID才能存储在以下文件中工件:

build:
  stage: build
  script:
    - echo "Build your app"
    - echo "${CI_JOB_ID}" > CI_JOB_ID.txt # This way you know the job id in the next stage
  artifacts:
    paths:
      - your_app.exe
      - CI_JOB_ID.txt
    expire_in: never
  rules:
    - if: $CI_COMMIT_TAG


release:
  stage: release
  image: registry.gitlab.com/gitlab-org/release-cli:latest
  script:
    - |
      release-cli create --name "Release $CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG \
        --assets-link "{\"name\":\"Executable file\",\"url\":\"https://gitlab.com/some/repo/-/jobs/`cat CI_JOB_ID.txt`/artifacts/file/your_app.exe\"}"
  rules:
    - if: $CI_COMMIT_TAG

这样,每次您tag进行回购时,如果管道成功,它将创建一个发布。