Mam skrypt kompilacji GitLab CI tak:Zastosowanie GitLab API z GitLabCI zbudować skrypt
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"
Celem tego kroku jest automatycznie dodać Changes Zaloguj z Git w GitLab prasowe sekcję.
To działa, jeśli ręcznie uruchomić to w wierszu poleceń i umieścić w zmiennych ...
Problem polega na tym, że wartość CI_BUILD_TOKEN
w kompilacji biegacza nie jest poprawnym GitLab Prywatna Reklamowe - to tylko token do łączenia się z rejestrem Docker - zgodnie z dokumentacją.
Czy istnieje sposób na uzyskanie prawidłowego tokena interfejsu API GitLab, który programista budowy może wykorzystać do uzyskania dostępu do interfejsu API dla projektu, na którym działa kompilacja? Wydaje się, że to powinno być możliwe.
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
Jak wspomniano tutaj, czy masz program gitlab runner 1.2? (http://stackoverflow.com/questions/37468084/what-is-the-special-gitlab-ci-token-user#comment62905945_37545323) – VonC
Tak, mam GitLab 1.2.0 - połączony artykuł dotyczy dostępu do rejestru Docker , Próbuję uzyskać dostęp do API GitLab. Dostęp do rejestru Docker GitLab działa. – ETL
Wygląda na to, że 'CI_BUILD_TOKEN' służy głównie do uzyskiwania dostępu do rejestru, a nie do korzystania z interfejsu API GitLab. – VonC