gpt4 book ai didi

gitlab - 从 GitLabCI 构建脚本使用 GitLab API

转载 作者:行者123 更新时间:2023-12-03 20:36:59 28 4
gpt4 key购买 nike

我有一个这样的 GitLab CI 构建脚本:

create release:
stage: deploy
tags:
- basic
only:
- tags
script:
- GITLOG=$(echo "# Changes Log"; git log `git tag | tail -2 | head -1`..${CI_BUILD_TAG} --pretty=format:" - %s")
- curl -X POST -d "private_token=$CI_BUILD_TOKEN&description=$GITLOG" "http://git.example.com/api/v3/projects/${CI_PROJECT_ID}/repository/tags/${CI_BUILD_TAG}/release"

此步骤的目的是在 GitLab Releases 部分中自动添加来自 Git 的更改日志。

如果我在命令行上手动运行它并输入变量,那将有效......

问题是 CI_BUILD_TOKEN 的值在构建运行器中不是有效的 GitLab 私有(private) token - 它只是连接到 Docker Registry 的 token - 根据文档。

有没有办法获得一个有效的 GitLab API token ,构建运行者可以使用它来访问它正在为其运行构建的项目的 API?似乎这应该是可能的。

亚搏体育app亚军:
gitlab-runner -v
Version: 1.2.0
Git revision: 3a4fcd4
Git branch: HEAD
GO version: go1.6.2
Built: Sun, 22 May 2016 20:05:30 +0000
OS/Arch: linux/amd64

最佳答案

你可以有只读 通过运行器的 API 访问,但前提是您添加带有 的 header CI_JOB_TOKEN .

例如

curl -H "JOB_TOKEN: $CI_JOB_TOKEN" "https://gitlab.com/api/v4/projects/2828837/repository/tags

仅限 当项目是 公众 每个人都可以访问来自同一个项目。

如果您也想访问私有(private)项目和/或写入权限,请投票 GitLab issue #29566和/或 #41084 .

作为暂时的替代方案,您可以在 gitlab 上创建访问 token 。 , 并将其添加到项目 settings/ci_cd 下的 secret 变量中,尽管不建议这样做,因为触发该工作的每个人都将使用您的个人访问 token 。

关于gitlab - 从 GitLabCI 构建脚本使用 GitLab API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38807677/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com