Gitlab-CI 如何引用另一个项目的源代码?
Gitlab-CI how to reference source from another project?
我有两个项目,第一个是SOURCES(技术库),第二个是一个蚂蚁软件。
我在第二个项目上创建了一个 gitlab-ci.yml 但是构建管道总是出错,因为没有引用源库。
在我的 build.xml 中,来源是这样引用的:${SOURCES_DIRRECTORY}/folder/lib/library.jar
在 gitlab-ci.yml 我可以设置 SOURCES_DIRRECTORY 但是把另一个项目的 url 似乎不起作用。
一个被禁止的解决方案是在本地 lib 文件夹中添加源代码。 (以免重复)
是否可以从我的 CI 中引用另一个 gitlab 项目?
否则,我如何检索和使用源项目生成的工件来获取我的软件项目中的库?
感谢您的回答
您可以使用 GitLab CI APIs 下载在其他项目中制作的工件。
我在我的一个项目中做了类似的事情,它对我有用
curl -k --location --output artifacts.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/devel/download?job=$STAGE_NAME"
在这种情况下,我下载了同一项目中另一个分支制作的工件,所以我已经默认设置了变量,我可以使用 JOB-TOKEN
,而不是你应该使用 PRIVATE-TOKEN
这是一个具有 API 权限授予的访问令牌。你应该有这样的东西
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs/artifacts/main/download?job=test"
我有两个项目,第一个是SOURCES(技术库),第二个是一个蚂蚁软件。 我在第二个项目上创建了一个 gitlab-ci.yml 但是构建管道总是出错,因为没有引用源库。
在我的 build.xml 中,来源是这样引用的:${SOURCES_DIRRECTORY}/folder/lib/library.jar 在 gitlab-ci.yml 我可以设置 SOURCES_DIRRECTORY 但是把另一个项目的 url 似乎不起作用。
一个被禁止的解决方案是在本地 lib 文件夹中添加源代码。 (以免重复)
是否可以从我的 CI 中引用另一个 gitlab 项目? 否则,我如何检索和使用源项目生成的工件来获取我的软件项目中的库?
感谢您的回答
您可以使用 GitLab CI APIs 下载在其他项目中制作的工件。
我在我的一个项目中做了类似的事情,它对我有用
curl -k --location --output artifacts.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/devel/download?job=$STAGE_NAME"
在这种情况下,我下载了同一项目中另一个分支制作的工件,所以我已经默认设置了变量,我可以使用 JOB-TOKEN
,而不是你应该使用 PRIVATE-TOKEN
这是一个具有 API 权限授予的访问令牌。你应该有这样的东西
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs/artifacts/main/download?job=test"