У меня есть сценарий сборки GitLab CI следующим образом:Использование GitLab API из GitLabCI скрипт сборки
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"
Цель этого шага для автоматического добавления изменений системы из Git в GitLab разделе Релизы.
Это работает, если я вручную запустить это в командной строке и положить в переменных ...
Проблема заключается в том, что значение CI_BUILD_TOKEN
в нарастании бегуна не является допустимым GitLab Private Токен - это только токен для подключения к реестру докеров - согласно документации.
Есть ли способ получить действительный токен GitLab API, который может использовать бегун для сборки для доступа к API для проекта, для которого выполняется сборка? Похоже, это должно быть возможно.
GitLab Runner:
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
Как уже упоминалось, у вас есть gitlab runner 1.2? (http://stackoverflow.com/questions/37468084/what-is-the-special-gitlab-ci-token-user#comment62905945_37545323) – VonC
Да, у меня есть GitLab 1.2.0 - связанная статья касается доступа к реестру докеров , Я пытаюсь получить доступ к API GitLab. Доступ к GitLab Docker Registry действительно работает. – ETL
Кажется, что 'CI_BUILD_TOKEN' в основном предназначен для доступа к реестру, а не для использования GitLab API. – VonC