diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e2707ad35f915bed543de17d7f07f0bd7944451a..f55d04f3dd533498d22ce3970dad940fc1f9182f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,32 @@ -Update site: - stage: deploy - environment: production +stages: + - prepare + - build + - deploy + +workflow: + rules: + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == "master"' + +"Установка зависимостей": + image: node:18 + stage: prepare script: - - bash /home/gitlab-runner/deploy + - npm install + +cache: + paths: + - node_modules/ + +"Сборка проекта": + image: node:18 + stage: build + before_script: npm install gulp + script: npm run build + +"Деплой на продакшене": + stage: deploy rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH \ No newline at end of file + before_script: + - 'which lftp || ( apt-get update -y && apt-get install lftp -y )' + script: + - lftp ftp://$PROD_FTP_USER:$PROD_FTP_PASSWORD@$PROD_FTP_SERVER -e "set ftp:ssl-allow no; mirror -X .* -X .*/ --reverse --delete --verbose ./app /; quit" \ No newline at end of file