我在服务器上运行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
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
尝试将ssh步骤替换为:
'Item' is not a member type of 'Self'
如果此“部署”(将不会执行任何操作)完成,则意味着无法在SSH会话中定义的默认ssh ubuntu@"$REMOTE_SERVER" "pwd; cd deployment_container; echo $PATH"
中访问npm
。