无法从脚本中注册gitlab runner?

无法从脚本中注册gitlab runner?,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,我正在尝试使用脚本自动注册在本地docker环境中运行的跑步者。脚本以非交互方式运行注册,如下所示: gitlab-runner -l debug register --non-interactive --url $GITLAB_URL --registration-token $TOEKN \ --executor docker --docker-image python3 --name TestRunner --docker-pull-policy always \ --locked

我正在尝试使用脚本自动注册在本地docker环境中运行的跑步者。脚本以非交互方式运行注册,如下所示:

gitlab-runner -l debug register --non-interactive --url $GITLAB_URL --registration-token $TOEKN \
  --executor docker --docker-image python3 --name TestRunner --docker-pull-policy always \
  --locked=false --run-untagged=false --docker-privileged=false \
  --limit 0 \
  --tag-list general,test
当以交互方式成功完成时,我仍然无法使用此脚本注册跑步者。使用上述命令注册运行程序时出现的错误:

Runtime platform                                    arch=amd64 os=linux pid=57 revision=05161b14 version=12.4.1
Checking runtime mode                               GOOS=linux uid=0
Running in system-mode.                            

Dialing: tcp gitlab.com:443 ...                    
ERROR: Registering runner... forbidden (check registration token)  runner=--execut
PANIC: Failed to register this runner. Perhaps you are having network problems 

当使用非交互式脚本而不是交互式方法时,导致注册失败的区别是什么?

问题在于读取注册令牌变量本身。因此,通过首先将其读入带引号的变量,它就变得可用:

t="$TOKEN"
gitlab-runner -l debug register --non-interactive --url ${GITLAB_URL} --registration-token ${t} \
  --executor docker --docker-image python3 --name TestRunner --docker-pull-policy always \
  --locked=false --run-untagged=false --docker-privileged=false \
  --limit 0 \
  --tag-list general,test