Вы можете просто использовать 2 для разделения шагов сборки и использовать артефакты для передачи сборки между шагами.
Что вы можете сделать, так это то, что на первом шаге сборки вы используете образ с vue.js
и запускаете npm run build
и любые другие необходимые шаги.
В конце задания вы указываете артефакты .
artifacts:
paths:
- build
Это передаст сборку папки следующему заданию.
Затем вы можете запустить второе задание, используя python для загрузки содержимого в S3.
Это даету вас есть свобода строить свою программу так, как вы хотите, без необходимости ограничивать себя конкретной средой.
Если вы не можете найти изображение, которое делает то, что вам нужно, вы можете создать свое собственное или, есливремя сборки не важно, вы можете использовать базовый образ и установить все, что вам нужно, как часть вашей работы.
image: node:alpine
before_script:
- yum install curl -y && yum update -y
script:
- npm run build
Приведенный выше фрагмент кода установит curl на образе узла alpine.