gitlab CI/CD Runner 运行平台的区别和使用

.gitlab-ci.yml如下:

stages:
  - build

build:
  stage: build
  script: npm run build

配置runner时,运行平台选的shell,提示Runner registered successfully

代码push时,进行jobs时报错了,提示找不到npm

clipboard.png

想请教下runner运行平台有什么不同,如何解决npm找不到的报错
clipboard.png

如果我选sheel,不是在本地运行么

谢谢大佬~~🙏

更新:
我配了两个runner

clipboard.png

ifun选的shell
oner选的是ssh,然后填了ssh的地址、用户名、密码等,

请教runner是在哪里跑的,比如oner这个,我配了ssh相关信息,是不是在填的服务器地址上跑runner?

阅读 6.9k
3 个回答

终于解决了,原来runner本身没有集成node环境的,说一下解决步骤:
1、先创建了个docker,集成node环境,
2、注册runner,指定runner的运行平台为docker,
3、通过tags指定相应的job由相应的runner去执行

这样用集成了node环境的runner去执行npm run build 时就不会报npm not found

最后对于问题,应该要用指定了平台类型的runner去执行有特殊要求的具体任务,比如一个任务用到了npm,就需要集成了node环境的runner去执行

作为今天才装上docker的前端er,刚开始搞CI/CD真是一头雾水啊,虽然这个问题对有经验的老手没什么价值,希望能对同样的小白提供点帮助吧

在runner服务的机器上安装node。script一般是这种格式:

script:
  - npm run build
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题