mecmapi
Version:
ManageEngine ECMA API - javascript library to work with ManageEngine (ServiceDesk Plus) REST API
47 lines (37 loc) • 1.58 kB
YAML
# .gitlab-ci.yml
image: "node:16-slim"
stages:
- publish
publish:
stage: publish
variables:
GIT_STRATEGY: clone
before_script:
- apt-get update && apt-get install git curl -y
script:
# Конфигурация npm
- echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
# Конфигурация git
- git config --global user.email ";${GIT_USER_EMAIL}";
- git config --global user.name ";${GIT_USER_NAME}";
# Установка зависимостей и сборка проекта
- npm install
# Определение новой версии npm пакета и генерация CHANGELOG.md файла
- npm run release
- commitMessage=$(git log -1 --pretty=%B)
- tagname=$(git tag --points-at HEAD)
- version=${tagname:1}
- npm run build
# Решение проблемы с циклическим вызовом
- git tag -d $tagname
- git commit --amend -m "[ci skip] ${commitMessage}" --no-verify
- git tag -a $tagname -m ''
# Публикация в gitlab
- git branch -a
- git push "https://${GIT_SYNC_USER}:${GIT_SYNC_TOKEN}@${CI_PROJECT_PATH}.git" --follow-tags HEAD:main
# Публикация в npm
- npm publish # "${NPM_PACKAGE_TITLE}" --new-version $version --verbose
- echo "\n\n================ SUCCESS ================ \n\n"
- curl -H "Title:MECMAPI npm publish SUCCESS" -H "Priority:high" -H "Tags:heavy_check_mark" -d "MECMAPI:published a new version to npm ($tagname)" "ntfy.sh/${NTFY_PUBLISH}"
only:
- main