如何解决无法在Docker映像中使用cli在gitlab中创建个人令牌
我正在尝试使用CLI创建个人令牌。我的gitlab和runner使用最后一个gitlab-ee映像为gitlab配置了Docker映像。
要使用用户名Automation-bot创建属于用户的令牌, 在Rails控制台(sudo gitlab-rails控制台)中运行以下命令:
user = User.find_by_username('support')
token = user.personal_access_tokens.create(scopes: [:read_user,:read_repository],name: 'Automation token')
token.set_token('token-string-here123')
token.save!
可以使用以下命令将其简化为单行shell命令: GitLab Rails Runner:
sudo gitlab-rails runner "token = User.find_by_username('support').personal_access_tokens.create(scopes: [:read_user,name: 'Automation token'); token.set_token('token-string-here123'); token.save!"
当我尝试执行此命令时(无论如何,使用gitlab rails控制台还是直接内嵌,我都会收到下一个错误:
转轮错误:
Please specify a valid ruby command or the path of a script to run.
Run 'rails runner -h' for help.
undefined method `personal_access_tokens' for nil:NilClass
控制台错误:
user = User.find_by_username('Admin')
Loading production environment (Rails 6.0.3.1)
irb(main):001:0> user = User.find_by_username('Admin')
=> nil
irb(main):002:0> token = user.personal_access_tokens.create(scopes: [:read_user,name: 'Automation token')
Traceback (most recent call last):
1: from (irb):2
NoMethodError (undefined method `personal_access_tokens' for nil:NilClass)
irb(main):003:0> token.set_token('rdgjogdjl5lte4Tgdgdr')
Traceback (most recent call last):
2: from (irb):3
1: from (irb):3:in `rescue in irb_binding'
NoMethodError (undefined method `set_token' for nil:NilClass)
irb(main):004:0> token.save!
Traceback (most recent call last):
2: from (irb):4
1: from (irb):4:in `rescue in irb_binding'
NoMethodError (undefined method `save!' for nil:NilClass)
irb(main):005:0>
那么,如何正确运行呢?我在类似的命令之前使用过获得亚军令牌,并且没有任何问题。但是,如果使用个人令牌,则在任何情况下均不起作用。请指教。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。