在我的存储库中,仅签入源文件-测试代码并在管道中生成dist文件。然后,我希望能够标记一个特定的版本,并将此管道生成的工件附加到该版本。理想情况下,所有这些都应在尽可能少的人工干预下发生。
从发行版中引用管道工件的最佳方法是什么?
答案 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
进行回购时,如果管道成功,它将创建一个发布。