Loading .build_composer.yml +19 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,25 @@ echo "No autoload adjustments are needed." fi .build_js: stage: build variables: JS_RESOURCES_ROOT: resources JS_BUILD_OUTPUT: new/build JS_NPM_SCRIPT: prod script: - cd $CI_PROJECT_DIR && npm install && npm run $JS_NPM_SCRIPT artifacts: paths: - "$JS_BUILD_OUTPUT/" expire_in: 1 week rules: - if: $CI_COMMIT_REF_PROTECTED == 'true' changes: - !reference [.default_changes, js_changes] - resources/js/**/* - resources/sass/**/* .build_composer_dev: stage: prebuild image: registry.cetera.su/boilerplate/docker/php_composer:8.4 Loading .deploy_code_to_server.yml +18 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,24 @@ - www/**/* - .gitlab-ci.yml .deploy_js_files_to_server: extends: .before_deploy_code variables: JS_BUILD_OUTPUT: new/build RSYNC_PARAMS: '--delete' dependencies: - setup_environment_vars script: - | rsync $RSYNC_ADMIN_PARAMS $RSYNC_PARAMS -e "ssh $SSH_OPTS" \ $CI_PROJECT_DIR/$JS_BUILD_OUTPUT/ $DEPLOY_HOST_PATH/$JS_BUILD_OUTPUT/ rules: - if: $CI_COMMIT_REF_PROTECTED == 'true' changes: - !reference [.default_changes, js_changes] - resources/js/**/* - resources/sass/**/* deploy_autotests_to_server: extends: .before_deploy_code script: Loading before_script.yml +12 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,18 @@ before_script: - 'which perl || (apt-get update -y && apt-get install perl -y)' - source $CI_PROJECT_DIR/.env.project .default_changes: js_changes: - .babelrc.js - .eslintrc.js - .lintstagedrc.js - .gitlab-ci.yml - .prettierrc.js - package.json - package-lock.json - webpack.config.js - webpack.mix.js .set_layouts: &set_layouts | cd $CI_PROJECT_DIR/working/ && export LAYOUTS=(`ls -1 -d ./*/|perl -nE 's{^\./(.+)/$}{$1}; print if /^[^.]/'`) Loading gitlab-ci-template.yml +58 −0 Original line number Diff line number Diff line Loading @@ -21,3 +21,61 @@ include: # deploy_composer_files_to_server: # extends: .deploy_composer_files_to_server # --- JS build/lint/deploy (default paths: resources/js, build output: new/build) --- # lint_js: # extends: .lint_js # build_js: # extends: .build_js # dependencies: # - setup_environment_vars # deploy_js_files_to_server: # extends: .deploy_js_files_to_server # dependencies: # - setup_environment_vars # - build_js # --- JS with non-standard paths (example: resources-terminal → terminal/build) --- # lint_js: # extends: .lint_js # variables: # JS_RESOURCES_ROOT: resources-terminal # JS_NPM_SCRIPT: prod-terminal # rules: # - if: $CI_COMMIT_REF_PROTECTED == 'true' || $CI_PIPELINE_SOURCE == "merge_request_event" # changes: # - !reference [.default_changes, js_changes] # - resources-terminal/js/**/* # build_js: # extends: .build_js # variables: # JS_RESOURCES_ROOT: resources-terminal # JS_BUILD_OUTPUT: terminal/build # JS_NPM_SCRIPT: prod-terminal # dependencies: # - setup_environment_vars # rules: # - if: $CI_COMMIT_REF_PROTECTED == 'true' # changes: # - !reference [.default_changes, js_changes] # - resources-terminal/js/**/* # - resources-terminal/sass/**/* # deploy_js_files_to_server: # extends: .deploy_js_files_to_server # variables: # JS_BUILD_OUTPUT: terminal/build # dependencies: # - setup_environment_vars # - build_js # rules: # - if: $CI_COMMIT_REF_PROTECTED == 'true' # changes: # - !reference [.default_changes, js_changes] # - resources-terminal/js/**/* # - resources-terminal/sass/**/* test.yml +9 −13 Original line number Diff line number Diff line .lint_js: variables: JS_RESOURCES_ROOT: resources JS_NPM_SCRIPT: prod stage: test only: script: - cd $CI_PROJECT_DIR && npm install && npm run lint-$JS_NPM_SCRIPT $JS_RESOURCES_ROOT/js/** rules: - if: $CI_COMMIT_REF_PROTECTED == 'true' || $CI_PIPELINE_SOURCE == "merge_request_event" changes: - .babelrc.js - .eslintrc.js - .lintstagedrc.js - .gitlab-ci.yml - .prettierrc.js - package.json - package-lock.json - webpack.config.js - webpack.mix.js - !reference [.default_changes, js_changes] - resources/js/**/* script: cd $CI_PROJECT_DIR && npm install && npm run lint-prod resources/js/**; .phpunit: stage: test Loading Loading
.build_composer.yml +19 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,25 @@ echo "No autoload adjustments are needed." fi .build_js: stage: build variables: JS_RESOURCES_ROOT: resources JS_BUILD_OUTPUT: new/build JS_NPM_SCRIPT: prod script: - cd $CI_PROJECT_DIR && npm install && npm run $JS_NPM_SCRIPT artifacts: paths: - "$JS_BUILD_OUTPUT/" expire_in: 1 week rules: - if: $CI_COMMIT_REF_PROTECTED == 'true' changes: - !reference [.default_changes, js_changes] - resources/js/**/* - resources/sass/**/* .build_composer_dev: stage: prebuild image: registry.cetera.su/boilerplate/docker/php_composer:8.4 Loading
.deploy_code_to_server.yml +18 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,24 @@ - www/**/* - .gitlab-ci.yml .deploy_js_files_to_server: extends: .before_deploy_code variables: JS_BUILD_OUTPUT: new/build RSYNC_PARAMS: '--delete' dependencies: - setup_environment_vars script: - | rsync $RSYNC_ADMIN_PARAMS $RSYNC_PARAMS -e "ssh $SSH_OPTS" \ $CI_PROJECT_DIR/$JS_BUILD_OUTPUT/ $DEPLOY_HOST_PATH/$JS_BUILD_OUTPUT/ rules: - if: $CI_COMMIT_REF_PROTECTED == 'true' changes: - !reference [.default_changes, js_changes] - resources/js/**/* - resources/sass/**/* deploy_autotests_to_server: extends: .before_deploy_code script: Loading
before_script.yml +12 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,18 @@ before_script: - 'which perl || (apt-get update -y && apt-get install perl -y)' - source $CI_PROJECT_DIR/.env.project .default_changes: js_changes: - .babelrc.js - .eslintrc.js - .lintstagedrc.js - .gitlab-ci.yml - .prettierrc.js - package.json - package-lock.json - webpack.config.js - webpack.mix.js .set_layouts: &set_layouts | cd $CI_PROJECT_DIR/working/ && export LAYOUTS=(`ls -1 -d ./*/|perl -nE 's{^\./(.+)/$}{$1}; print if /^[^.]/'`) Loading
gitlab-ci-template.yml +58 −0 Original line number Diff line number Diff line Loading @@ -21,3 +21,61 @@ include: # deploy_composer_files_to_server: # extends: .deploy_composer_files_to_server # --- JS build/lint/deploy (default paths: resources/js, build output: new/build) --- # lint_js: # extends: .lint_js # build_js: # extends: .build_js # dependencies: # - setup_environment_vars # deploy_js_files_to_server: # extends: .deploy_js_files_to_server # dependencies: # - setup_environment_vars # - build_js # --- JS with non-standard paths (example: resources-terminal → terminal/build) --- # lint_js: # extends: .lint_js # variables: # JS_RESOURCES_ROOT: resources-terminal # JS_NPM_SCRIPT: prod-terminal # rules: # - if: $CI_COMMIT_REF_PROTECTED == 'true' || $CI_PIPELINE_SOURCE == "merge_request_event" # changes: # - !reference [.default_changes, js_changes] # - resources-terminal/js/**/* # build_js: # extends: .build_js # variables: # JS_RESOURCES_ROOT: resources-terminal # JS_BUILD_OUTPUT: terminal/build # JS_NPM_SCRIPT: prod-terminal # dependencies: # - setup_environment_vars # rules: # - if: $CI_COMMIT_REF_PROTECTED == 'true' # changes: # - !reference [.default_changes, js_changes] # - resources-terminal/js/**/* # - resources-terminal/sass/**/* # deploy_js_files_to_server: # extends: .deploy_js_files_to_server # variables: # JS_BUILD_OUTPUT: terminal/build # dependencies: # - setup_environment_vars # - build_js # rules: # - if: $CI_COMMIT_REF_PROTECTED == 'true' # changes: # - !reference [.default_changes, js_changes] # - resources-terminal/js/**/* # - resources-terminal/sass/**/*
test.yml +9 −13 Original line number Diff line number Diff line .lint_js: variables: JS_RESOURCES_ROOT: resources JS_NPM_SCRIPT: prod stage: test only: script: - cd $CI_PROJECT_DIR && npm install && npm run lint-$JS_NPM_SCRIPT $JS_RESOURCES_ROOT/js/** rules: - if: $CI_COMMIT_REF_PROTECTED == 'true' || $CI_PIPELINE_SOURCE == "merge_request_event" changes: - .babelrc.js - .eslintrc.js - .lintstagedrc.js - .gitlab-ci.yml - .prettierrc.js - package.json - package-lock.json - webpack.config.js - webpack.mix.js - !reference [.default_changes, js_changes] - resources/js/**/* script: cd $CI_PROJECT_DIR && npm install && npm run lint-prod resources/js/**; .phpunit: stage: test Loading