Files
state-machine/.gitlab-ci.yml
Andrey Sharshov f987e4dffe initial
2025-11-16 18:39:03 +01:00

49 lines
1.3 KiB
YAML

image: node:18.18.2
stages:
- install
- build
- deploy
variables:
NODE_ENV: 'production'
cache:
paths:
- node_modules/
before_script:
- echo "Setting up environment"
- echo "@popiplay:registry=https://gitlab.popiplay.dev/api/v4/projects/fe%2Fnpm%2Fstate-machine/packages/npm/" > .npmrc
- echo "//gitlab.popiplay.dev/api/v4/projects/fe%2Fnpm%2Fstate-machine/packages/npm/:_authToken=${CI_JOB_TOKEN}" >> .npmrc
build:
stage: build
script:
- rm -rf node_modules package-lock.json
- npm install --include=dev
- npm run build
artifacts:
paths:
- lib/ # Сохраняем собранные файлы в артефакты, чтобы они были доступны на этапе deploy
publish master:
stage: deploy
script:
- git config --global user.email ${GITLAB_USER_EMAIL}
- git config --global user.name ${GITLAB_USER_LOGIN}
- npm version patch
- npm publish --access=public
only:
- master # Публиковать только при изменениях в main ветке
publish branch:
stage: deploy
script:
- git config --global user.email ${GITLAB_USER_EMAIL}
- git config --global user.name ${GITLAB_USER_LOGIN}
- npm version prerelease --preid=dev
- npm publish --access=public
except:
- master