我在here中所述的docker容器中有一个gitlab运行程序。 我已经像这样设置了ssh密钥: https://docs.gitlab.com/ee/ci/ssh_keys/
在package.json文件中,我的配置如下所示:
"devDependencies": {
"foo": "git+ssh://git@gitlab.foo.net:bar/baz.git#v0.1.0",
}
我的.gitlab-ci.yml看起来像这样:
image: node:6.11.3
cache:
paths:
- node_modules/
stages:
- install
install:
stage: install
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
script:
- echo "Installing dependencies..."
- yarn install
tags:
- debian
当我运行管道时,在尝试安装我的私有依赖项时,它在安装“脚本”阶段失败:
Command: git
Arguments: clone git@gitlab.foo.net:bar/baz.git /usr/local/share/.cache/yarn/v1/.tmp/asdfasd
Directory: /builds/my-directory
Output:
Cloning into '/usr/local/share/.cache/yarn/v1/.tmp/asdfasd'...
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
足够有趣的是,当我进入docker bash时,我可以克隆并精装安装存储库。我猜这是gitlab-runner的问题。