首页 > 解决方案 > 将 pm2 与 CircleCI 一起使用

问题描述

我在远程 ubuntu 服务器上使用 pm2,在 CI 上使用 CircleCI,我有以下配置文件:

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,或者我可以以另一种方式自动重新加载我的微服务?

标签: node.jsbashpm2circleci

解决方案


所以,如果你想用 CircleCI 在你的服务器上做任何事情,那只是浪费时间。CircleCI 提供了一个虚拟环境,例如,您可以在其中进行一些测试。您也可以在远程服务器上推送更改,但 CircleCI 将无法访问您的服务器系统。因此,如果我们谈论 pm2,您可以启用监视模式并在每次 CircleCI 向其推送更改时重新启动您的微服务


推荐阅读