Итак, я создал проблему на GitHub (https://github.com/Unitech/pm2/issues/4072), так как я вполне уверен, что это проблема с их стороны, но решил, что я бы тоже здесь спросил, на случай, если я немногоглупо.
Таким образом, в основном у нас есть команда Bitbucket с некоторыми репозиториями (команда владеет репо). Мы хотим развернуть репо на сервере с PM2. Поэтому мы настроили несколько ключей SSH в команде и затем скопировалиих на сервер.
Это наш конфиг (очевидно, отредактировал некоторую информацию);
module.exports = {
apps : [{
name: 'project-name',
script: './project/dist/app.js',
instances: 2,
exec_mode: 'cluster_mode',
autorestart: true,
watch: false,
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}],
deploy: {
production: {
key: '~/.ssh/id_rsa.pem',
user: 'root',
host: 'ip',
ref: 'origin/master',
repo: 'git@bitbucket.org:team/repo.git',
path: '/var/www/project',
'post-deploy': 'yarn install && yarn build && pm2 startOrRestart ecosystem.js.config — env production',
'pre-deploy-local' : 'echo \'Deploying code to servers\'',
}
}
};
Так что с этим конфигом при выполнении установки deploy он запрашивает ключевую фразу ключа SSH,(так что мы можем быть уверены, что он находит правильный ключ), но затем он выдает сообщение об ошибке.
git@bitbucket.org: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Мы абсолютно уверены, что ключ на сервере - тот, который соответствует ключу на githubрепо, и если мы делаем обычный git-клон с ключом, он работает нормально.
У кого-нибудь есть совет или кто-то может заметить, что мы делаем явно неправильно?
Спасибо.