GITLAB CIパイプラインは、プロジェクトアクセストークンを使用してAPIコミットを使用する際に失敗しました
--- auth-origin.rb 2020-10-11 06:00:00.000000000 +0800
+++ auth-patch.rb 2020-10-11 06:00:00.000000000 +0800
@@ -47,7 +47,7 @@
# is enabled.
result =
service_request_check(login, password, project) ||
- build_access_token_check(login, password) ||
+ build_access_token_check(login, password, project) ||
lfs_token_check(login, password, project) ||
oauth_access_token_check(login, password) ||
personal_access_token_check(password, project) ||
@@ -276,16 +276,17 @@
end
end
- def build_access_token_check(login, password)
+ def build_access_token_check(login, password, project)
return unless login == CI_JOB_USER
return unless password
build = find_build_by_token(password)
return unless build
return unless build.project.builds_enabled?
+ return if project && build.user.project_bot? && !project.bots.include?(build.user)
if build.user
- return unless build.user.can?(:log_in)
+ return unless build.user.project_bot? || build.user.can?(:log_in)
# If user is assigned to build, use restricted credentials of user
Gitlab::Auth::Result.new(build.user, build.project, :build, build_authentication_abilities)
Reference
この問題について(GITLAB CIパイプラインは、プロジェクトアクセストークンを使用してAPIコミットを使用する際に失敗しました), 我々は、より多くの情報をここで見つけました https://dev.to/xbenet/gitlab-ci-pipeline-failed-when-using-project-access-token-246784-aj2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol