Web 如何使用circleci部署nuxt proj一旦对github有了新的提交

Web 如何使用circleci部署nuxt proj一旦对github有了新的提交,web,server,continuous-integration,continuous-deployment,circleci,Web,Server,Continuous Integration,Continuous Deployment,Circleci,最近,我在GitHub中为myrepo创建了一个dev分支,通过在ubuntu服务器中运行sh deploy-dev.sh来部署Nuxt应用程序。我发现每次推送提交后手动将我的项目重新部署到服务器相当耗时;因此,我试图找到在dev分支上进行新提交后自动部署应用程序的方法。 我已经阅读了一些关于CircleCI的文档,但我仍然很困惑。我已经在myrepo的CircleCI项目中添加了ssh密钥,将其作为步骤添加到config.yml中:-添加指纹-“FI:GE:RP:RI:T”,然后我遇到了连接问

最近,我在GitHub中为myrepo创建了一个
dev
分支,通过在ubuntu服务器中运行
sh deploy-dev.sh
来部署Nuxt应用程序。我发现每次推送提交后手动将我的项目重新部署到服务器相当耗时;因此,我试图找到在
dev
分支上进行新提交后自动部署应用程序的方法。 我已经阅读了一些关于CircleCI的文档,但我仍然很困惑。我已经在myrepo的CircleCI项目中添加了ssh密钥,将其作为
步骤添加到config.yml中:-添加指纹-“FI:GE:RP:RI:T”
,然后我遇到了连接问题,我应该如何实际运行
deploy-dev.sh
。 如果我想:

  • 仅当
    dev
    有新提交时运行测试
  • 尝试一下项目是否可以实际构建
  • 通过运行sh脚本将项目部署到服务器
  • 这是config.yml

    version: 2
    jobs:
      build:
        docker:
          - image: circleci/node:10.19.0
        working_directory: ~/dev
        steps:
          - checkout
          - run: npm install
          - run: npm run build
    
      deploy:
        machine:
          enabled: true
        steps:
          - add_ssh_keys:
              fingerprints:
                - "FI:GE:RP:RI:T"
          - run:
              name: Deploy Over SSH
              command: |
                 ssh USER@ADDRESS "sh dev/reploy-dev.sh"
    workflows:
      version: 2
      workflow:
        jobs:
          - build
          - deploy
    
    下面是deploy-dev.sh

    #!/bin/bash
    pm2 stop dev
    cd ~/dev/Myrepo
    git checkout dev
    git fetch
    git pull
    npm install
    cp ../.env .env
    npm run build
    pm2 restart dev