node.js - gitlab runner 没有加载正确的节点版本
问题描述
我已经在我的服务器中安装了 gitlab runner 并与 gitlab repo 和管道绑定。
这是我的 gitlab-ci.yml
image:
name: node:14.9.0
stages:
- install
- deploy
install for production:
image: node:14.9.0
stage: install
tags:
- mytag
only:
- master
script:
- node -v
- /home/gitlab-runner/.nvm/versions/node/v14.9.0/bin/npm i -s
deploy to production server:
image: node:14.9.0
stage: deploy
only:
- master
script:
- cp -r * /the/folder/backend/
- cd /the/folder/backend/
- /home/gitlab-runner/.nvm/versions/node/v14.9.0/bin/npm run migrate
- node_modules/pm2/bin/pm2 reload all --update-env -- DB_OPERATOR_USERNAME=$DB_OPERATOR_USERNAME DB_OPERATOR_EMAIL=$DB_OPERATOR_EMAIL DB_OPERATOR_PASSWORD=$DB_OPERATOR_PASSWORD DB_ADMIN_USERNAME=$DB_ADMIN_USERNAME DB_ADMIN_EMAIL=$DB_ADMIN_EMAIL DB_ADMIN_PASSWORD=$DB_ADMIN_PASSWORD DB_USERNAME=$DB_USERNAME DB_DATABASE=$DB_DATABASE DB_PASSWORD=$DB_PASSWORD
推送主分支并让管道运行后,它没有加载 14.9.0 节点版本。
Checking out b795f45a as master...
Removing node_modules/
Skipping Git submodules setup
Executing "step_script" stage of the job script
$ node -v
v8.10.0
$ /home/gitlab-runner/.nvm/versions/node/v14.9.0/bin/npm i -s
如果我 ssh 进入我的服务器,nvm 加载的节点版本(默认版本)是 14.9.0
我在这台机器上有 2 个跑步者。第一个用于前端(它加载正确的默认节点版本,即14.9.0
),第二个用于存在上述问题的后端。节点版本相同。我目前没有 docker,用户node -v
内部的命令sudo su gitlab-runner
显示14.9.0
为什么 gitlab runner 加载的是 8.10.0 版本?如何将其设置为 14.9.0?
提前致谢
解决方案
尝试在gitlab runner里面运行docker镜像,查看node的全局版本,好像不是runner的问题。
推荐阅读
- sql - Oracle PL/SQL:2 个表之间的计数 (*)
- javascript - 动态添加文本时按钮移动,如何解决?
- python - 验证是否存在一行矩阵 M 其值属于树 T
- hibernate - 创建休眠条件以将结果显示为此查询
- excel - 在 Excel 中选择主题颜色 * 不 * 使用 RGB 值?
- python - 我想访问 Gurobi 变量的值
- python - geodjango 保存功能时出现错误的 srid
- angular - 错误消息作为 angular-nativescript 中数组的第一个(不需要的)元素
- c++ - 使用 Eigen 实现 3D 位置的卡尔曼滤波器
- angular - 将 SonarTS 质量配置文件与 tslint.json Angular 项目同步