LINUX.ORG.RU

Скрипт выполняется вне контейнера

 


0

1

Вот кусок моего .gitlab-ci.yml:

stages:
  - build
  - deploy

my_build:
  stage: build
  image: node:21-alpine
  tags:
    - mytag
  script:
    - yarn

Пайп вываливается с ошибкой: yarn: command not found

Выяснил, что yarn запускается в самой системе, где он не установлен, хотя требуется запуск в указанном контейнере node:21-alpine.

Где я туплю?



Последнее исправление: krot_v_lodke (всего исправлений: 1)

Где я туплю?

Обмазываешься жопаскриптом, контейнерами и прочей вебнёй.

anonymous
()

раннер, помеченный mytag, какого типа? может, он и не докер вовсе?

первые строчки лога от этой джобы покажи-ка?

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 1)
Ответ на: комментарий от aol
Running with gitlab-runner 16.9.1 (xxxxxxxxx) on mytag yyyyyyyy, system ID: zzzzzzzzzzzz
Preparing the "shell" executor 00:00
Using Shell (bash) executor...
Preparing environment 00:00
Running on mytag...
Getting source from Git repository 00:01
Fetching changes with git depth set to 50...
krot_v_lodke
() автор топика
Ответ на: комментарий от krot_v_lodke

shell executor выполняется на хостовой системе, всё верно.

Никаких «Скрипт выполняется вне контейнера» тут нет, как и самих контейнеров. 😊

aol ★★★★★
()
Ответ на: комментарий от aol

Блин, я не так понимал значение executor…

Как мне лучше поступить, зарегистрировать на этой машине второй раннер типа docker или из этого раннера можно в контейнер залезть?

Если из этого, то придётся делать что-то типа docker exec -it contname /bin/bash … или как-то проще можно?

krot_v_lodke
() автор топика
Ответ на: комментарий от krot_v_lodke

Как мне лучше поступить

Почитать документацию по гитлабу, конечно! 😊

aol ★★★★★
()
Ответ на: комментарий от krot_v_lodke

Помимо shell executor у gitlab-runner есть ещё docker executor. Я думаю тебе его надо добавить.

maxis11
()

yarn - это не часть стандартной библиотеки. ищи контейнер с yarn. странно, что никто не ответил выше, но по всей видимости кроме опыта эникейства нужно разбираться в стеке с которым работаешь хотябы на уровне быдлокодера. а потом удивляются почему девжопс стало синонимом слова посмешище

rtxtxtrx ★★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)

а зачем вам докер? может проще или быстрее будет поставить ярн на хостовую машину?

Syncro ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.