Итак, несколько вещей для рассмотрения.Каждое задание в gitlab запускается в контейнере.Обычно вы указываете, какой вы хотите использовать.Pages - это особый случай, поэтому вам не нужно заботиться об изображении контейнера.
Задание pages
заполнит вашу общую папку.Но вы можете изменить файл gitlab-ci.yml
и добавить шаги.
Это создаст приложение с использованием узла:
build_stuff:
stage: build
image: node:11
before_script:
- npm install
script:
- npm run build
artifacts:
paths:
- build
pages:
stage: deploy
script:
- mkdir .public
- cp -r build/ .public
- mv .public public
artifacts:
paths:
- public
only:
- master
Форматирование выключено
Вещи, чтобы отметить.Первым шагом является выполнение шагов сборки, чтобы сгенерировать все ресурсы для вашей выходной папки.Затем он сохраняет все, что объявлено в блоке артефактов, в данном случае папку сборки, и передает его следующему заданию.Отрегулируйте этот шаг в соответствии с тем, что вам нужно для создания приложения.
Единственное, что я изменил на втором шаге, это то, что вы копируете содержимое папки сборки, а не весь репозиторий, в папку .public.Настройте это также в соответствии со своими потребностями.
Что касается сценариев оболочки, то здесь нет ни одного, кроме тех, которые вы приносите в хранилище.Бегун по умолчанию поддерживает Bash, поэтому вы можете выполнять команды bash так же, как и в своем терминале.
Если вы создадите файл foo.sh
в своем репо и выполните bash foo.sh
, он выполнит сценарий, если он исполняемый,Не забудьте chmod, прежде чем нажимать его.