我在我的远程ubuntu服务器上使用pm2和CircleCI for CI,我有以下配置文件:
version: 2.1
orbs:
node: circleci/node@1.1.6
jobs:
deploy-prod:
docker:
# specify the version you desire here (you might not want node)
- image: circleci/node:7.10
steps:
- checkout
- run: ssh -oStrictHostKeyChecking=no -v $DROPLET_USER@$DROPLET_IP ./deploy_project.sh $MICROSERVICE_NAME
workflows:
build-and-test:
jobs:
- deploy-prod:
filters:
branches:
only:
- master
在我的部署脚本中,我执行以下操作:
cd /var/www/nodejs/$1
git pull git@github.com:DevandScorp/hippocrates_authorizationmicroservice.git
cd ..
pm2 restart ecosystem.config.js --only $1
但我遇到了以下错误:
./deploy_project.sh: line 4: pm2: command not found
是否可以在CircleCI配置中运行我的服务器的pm2,或者我可以用另一种方式自动重新加载我的微服务?
2条答案
按热度按时间ckx4rj1h1#
所以,如果你想在你的服务器上使用CircleCI做任何事情,那只是浪费时间。CircleCI提供了一个虚拟环境,在那里你可以,例如,做一些测试。你也可以在你的远程服务器上推送更改,但是CircleCI将没有任何访问你的服务器系统的权限。所以,如果我们谈论pm2,你可以启用监视模式,并在每次CircleCI推送更改时重新启动你的微服务
qvsjd97n2#
将您的部署SSH密钥添加到Github(或任何远程源控制),将其链接到CircleCI,以允许CircleCI通过SSH访问您的远程服务器,并在那里运行pm2。
将SSH密钥添加到Github
对于Bitbucket等,您可以遵循类似的步骤
https://github.com/settings/ssh/new
将SSH指纹添加到CI步骤:
CI将SSH连接到远程服务器并运行pm2:
我遵循了以下指南:https://scribe.rip/@blueish/how-to-setup-ci-cd-with-circleci-and-deploy-your-nodejs-project-to-a-remote-server-275a31d1f6c4
虽然它是针对Bitbucket,而不是Github。