npm:找不到命令-Gitlab CI特定的运行器

时间:2019-12-28 19:14:12

标签: node.js django npm continuous-integration gitlab

我在服务器上运行gitlab-runner,我没有使用docker进行部署。我正在尝试通过对服务器执行SSH来实现在远程服务器上的部署。这是我的.gitlab-ci.yml文件-

stages:
  - deploy

pre-staging:
  stage: deploy
  environment:
    name: Gitlab CI/CD for pre-staging deployment
    url: "$REMOTE_SERVER"
  before_script:
    - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
    - mkdir -p ~/.ssh
    - eval $(ssh-agent -s)
    - 'echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
  script:
    - ssh-add <(echo "$REMOTE_PVT_KEY")
    - ssh ubuntu@"$REMOTE_SERVER" "cd deployment_container; npm --version ;rm -rf static; source deploy.sh"
    - echo "Deployment completed"
  only:
    - megre_requests
    - pre-staging
  tags:
    - auto-deploy

我的管道失败,出现错误npm:找不到命令。我在ssh-ed服务器上有适合npm的环境。我正在尝试部署Django反应的应用程序。 我已经尝试使用image: node:latest。 使用nvm安装npm

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

尝试将ssh步骤替换为:

'Item' is not a member type of 'Self'

如果此“部署”(将不会执行任何操作)完成,则意味着无法在SSH会话中定义的默认ssh ubuntu@"$REMOTE_SERVER" "pwd; cd deployment_container; echo $PATH" 中访问npm