我通过arch包安装了gitlab和redis,gitlab workhorse,postgresql,nginx和tls,以及ssh访问。系统是arch主机上的arch nspawn容器。
在为根用户在web界面中添加了我的ssh公钥后,通过git进行克隆是可行的,但是通过带有公钥身份验证的https进行克隆是行不通的,通过https进行克隆的公钥身份验证也是行不通的,但是使用密码进行https克隆也是可行的。
现在升级后,即使是通过git进行的带有公钥身份验证的克隆也无法工作!
Gitlab从11.1.3-1版本升级到11.1.4-1之后,它说:
directory permissions differ on /var/lib/gitlab/ filesystem: 711 package: 750
我修好了。
我还执行了包升级后显示的建议命令
su - gitlab -s /bin/sh -c "cd '/usr/share/webapps/gitlab'; EXECJS_RUNTIME=Disabled bundle-2.3 exec rake db:migrate RAILS_ENV=production"
以及archwiki中建议的after upgrade命令,它没有
EXECJS_RUNTIME=Disabled
这是不是:
su - gitlab -s /bin/sh -c "cd '/usr/share/webapps/gitlab'; bundle-2.3 exec rake db:migrate RAILS_ENV=production"
两个命令都成功。
之后,gitlab服务的重新启动失败
gitlab-unicorn.service: Failed at step USER spawning /usr/bin/bundle-2.3: No such process
gitlab-unicorn.service: Main process exited, code=exited, status=217/USER
PostgreSQL也有类似的错误:
postgresql.service: Failed at step USER spawning /usr/bin/postgresql-check-db-dir: No such process
Aug 07 16:26:28 adornisventures systemd[1]: postgresql.service: Control process exited, code=exited status=217
在一些服务重新启动之后,网站和/或储存库网站甚至无法正常工作(503和404错误),Web功能又开始工作,PostgreSQL和GITLAB独角兽正常启动。
当我尝试通过
git clone gitlab@domain.tld:root/privateproject.git
错误是:
Cloning into 'privateproject'...
/usr/share/webapps/gitlab-shell/lib/gitlab_net.rb:168:in `parse_who': who='-c/usr/share/webapps/gitlab-shell/bin/gitlab-shell key-3' is invalid! (ArgumentError)
from /usr/share/webapps/gitlab-shell/lib/gitlab_shell.rb:25:in `initialize'
from /usr/share/webapps/gitlab-shell/bin/gitlab-shell:20:in `new'
from /usr/share/webapps/gitlab-shell/bin/gitlab-shell:20:in `<main>'
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我的钥匙在
/var/lib/gitlab/.ssh/authorized_keys
以下内容:
command="/usr/share/webapps/gitlab-shell/bin/gitlab-shell key-3",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-ed25519 public_key_here
在这个文件中似乎有部分用散列分隔,上面还有其他的线条。
key-3
但删除它们并重新启动gitlab服务并不会改变任何事情。
没有登录
/var/log/gitlab/
尝试克隆存储库后有任何新条目。
如何进一步调试此问题?