diff --git a/gitlab-ci-1.2.yml b/gitlab-ci-1.2.yml index 35541605c6d9b553ddc470ab2ea1f23cd1cd2574..2c9b9ec0a596368c1b948287dc6131f2408f27b9 100644 --- a/gitlab-ci-1.2.yml +++ b/gitlab-ci-1.2.yml @@ -12,6 +12,9 @@ variables: CONTRIBUTORS: "wpdesk,dyszczo,grola,piotrpo,marcinkolanko" MINIMAL_WP_TESTED_UP: "6.2" MINIMAL_WC_TESTED_UP: "8.1" + DEMO_DEPLOY_TARGETS: + value: "/(wpdesk|octolize)/" + description: "Override this variable in project's .gitlab-ci.yml to support other servers. List supported targets in a regexg expression. To support all possible targets just use \"/.*/\". Currently supported targets: demo.wpdesk.org, demo.wpdesk.pl, demo.octolize.com, stage.demo.octolize.com, demo.flexibleinvoices." stages: - prepare-vendor @@ -38,6 +41,7 @@ include: - '/includes/tests/codeception-parallel.yml' - '/includes/tests/integration.yml' - '/includes/deploy.yml' + - '/includes/deploy/demo.yml' - '/includes/mixins/.after-codeception.yml' - '/includes/mixins/.composer-auth.yml' - '/includes/mixins/.skip-mr.yml' diff --git a/includes/deploy.yml b/includes/deploy.yml index 6feb289cbda753f2537ba8fbce38af2b31fd8774..c3c86304b54c86f484a3b1912d95dc1b9f2ccea6 100644 --- a/includes/deploy.yml +++ b/includes/deploy.yml @@ -10,7 +10,7 @@ only: - tags -.template: &job-build-to_deploy +build to deploy: image: wpdesknet/phpunit-woocommerce:0-0 stage: pre-deploy tags: @@ -47,7 +47,6 @@ - rm -rf composer.lock auth.json phpcs.xml.dist phpunit-integration.xml phpunit-unit.xml composer.phar wp-cli.phar functional tmp_artifacts .tmp tools codeception.dist.yml .env.testing wp-install.sh - rm -rf phpcs.xml.dist phpunit-integration.xml phpunit-unit.xml wp-cli.phar functional tmp_artifacts scoper.inc.php phpstan.dist phpstan.neon.dist - rm -rf assets-src package.json package-lock.json .babelrc webpack.mix.js webpack.config.js README.md - - find ./vendor -type d -name "tests" -exec rm -rf {} \; 2>/dev/null || (exit 0) - find ./vendor -name "LICENSE" -delete - find ./vendor -name "README.md" -delete @@ -59,9 +58,6 @@ - $IS_LIBRARY - $IS_NPM_LIBRARY -build to deploy: - <<: *job-build-to_deploy - plugin zip: image: wpdesknet/phpunit-woocommerce:0-0 stage: pre-deploy @@ -125,62 +121,6 @@ deploy to license: - $IS_LIBRARY - $IS_NPM_LIBRARY -deploy to demo NET: - <<: *job-deploy-template - before_script: - - eval "$(ssh-agent -s)" - - chmod 600 "$GLOBAL_SSH_PRIV_KEY" - - ssh-add "$GLOBAL_SSH_PRIV_KEY" - - echo "$SSH_KNOWN_HOSTS" | tr -d '\r' > ~/.ssh/known_hosts - script: - - rsync -rlDe 'ssh -p 40022' --delete release/${CI_PROJECT_NAME}/ serwer296287@serwer296287.lh.pl:/home/platne/serwer296287/public_html/demo.wpdesk.org/wp-content/plugins/${CI_PROJECT_NAME} - - 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <${CI_PROJECT_URL}|${CI_PROJECT_NAME}> zdeployowany do demo w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/${SLACK_AUTH}' - environment: - name: wpdesk demo net - url: https://demo.wpdesk.org - except: - variables: - - $IS_LIBRARY - - $IS_NPM_LIBRARY - -deploy to demo PL: - <<: *job-deploy-template - before_script: - - eval "$(ssh-agent -s)" - - chmod 600 "$GLOBAL_SSH_PRIV_KEY" - - ssh-add "$GLOBAL_SSH_PRIV_KEY" - - echo "$SSH_KNOWN_HOSTS" | tr -d '\r' > ~/.ssh/known_hosts - script: - - rsync -rlDe 'ssh -p 40022' --delete release/${CI_PROJECT_NAME}/ serwer296287@serwer296287.lh.pl:/home/platne/serwer296287/public_html/demo.wpdesk.pl/wp-content/plugins/${CI_PROJECT_NAME} - - 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}|${CI_PROJECT_NAME}> zdeployowany do demo PL w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/${SLACK_AUTH}' - environment: - name: wpdesk demo pl - url: https://demo.wpdesk.pl - except: - variables: - - $IS_LIBRARY - - $IS_NPM_LIBRARY - -deploy to demo octolize: - <<: *job-deploy-template - before_script: - - echo "$DEMO_FS_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa_demo_fs - - chmod 0600 ~/.ssh/id_rsa_demo_fs - - echo "$SSH_KNOWN_HOSTS" | tr -d '\r' > ~/.ssh/known_hosts - script: - - echo ${WPDESK_CI_VERSION} - - ssh-keyscan -H -p 222 s125.cyber-folks.pl >> ~/.ssh/known_hosts - - rsync -v --delete -rlDe 'ssh -p 222 -v -i ~/.ssh/id_rsa_demo_fs' ${CI_PROJECT_DIR}/release/${CI_PROJECT_NAME} wlgmnfabmq@s125.cyber-folks.pl:/home/wlgmnfabmq/domains/demo.octolize.com/public_html/wp-content/plugins - - rsync -v --delete -rlDe 'ssh -p 222 -v -i ~/.ssh/id_rsa_demo_fs' ${CI_PROJECT_DIR}/release/${CI_PROJECT_NAME} wlgmnfabmq@s125.cyber-folks.pl:/home/wlgmnfabmq/domains/stage.demo.octolize.com/public_html/wp-content/plugins - - 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <${CI_PROJECT_URL}|${CI_PROJECT_NAME}> zdeployowany do demo.octolize.com w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/${SLACK_AUTH}' - environment: - name: demo octolize - url: https://demo.octolize.com - except: - variables: - - $IS_LIBRARY - - $IS_NPM_LIBRARY - deploy to repository: <<: *job-deploy-template cache: diff --git a/includes/deploy/demo.yml b/includes/deploy/demo.yml new file mode 100644 index 0000000000000000000000000000000000000000..1e686938cb6ae022b9c03cf312d4f680063f462e --- /dev/null +++ b/includes/deploy/demo.yml @@ -0,0 +1,71 @@ +deploy:demo: + image: gitlab.wpdesk.dev:5050/wpdesk/docker-tests/amazon-svn-deploy:24.09 + environment: + name: $DEPLOY_SERVER + url: https://$DEPLOY_SERVER + stage: deploy + tags: + - deploy + dependencies: + - build to deploy + retry: 2 + parallel: + matrix: + - DEPLOY_SERVER: + - demo.wpdesk.org + - demo.wpdesk.pl + - demo.octolize.com + - stage.demo.octolize.com + - demo.flexibleinvoices.com + when: on_success + rules: + - if: $IS_LIBRARY || $IS_NPM_LIBRARY + when: never + # Run only for tagged deployments + - if: $CI_COMMIT_TAG == null + when: never + # Omit if server is not in deploy targets + - if: $DEPLOY_SERVER !~ $DEMO_DEPLOY_TARGETS + when: never + # Specific server overrides + ## demo.wpdesk.pl + - if: $DEPLOY_SERVER == 'demo.wpdesk.pl' + variables: + SSH_DSN: serwer296287@serwer296287.lh.pl:/home/platne/serwer296287/public_html/demo.wpdesk.pl/wp-content/plugins + SSH_PORT: 40022 + ## demo.wpdesk.org + - if: $DEPLOY_SERVER == 'demo.wpdesk.org' + variables: + SSH_DSN: serwer296287@serwer296287.lh.pl:/home/platne/serwer296287/public_html/demo.wpdesk.org/wp-content/plugins + SSH_PORT: 40022 + ## demo.octolize.com + - if: $DEPLOY_SERVER == 'demo.octolize.com' + variables: + SSH_DSN: wlgmnfabmq@s125.cyber-folks.pl:/home/wlgmnfabmq/domains/demo.octolize.com/public_html/wp-content/plugins + SSH_PORT: 222 + GLOBAL_SSH_PRIV_KEY: $DEMO_FS_SSH_KEY_FILE + ## stage.demo.octolize.com + - if: $DEPLOY_SERVER == 'stage.demo.octolize.com' + variables: + SSH_DSN: wlgmnfabmq@s125.cyber-folks.pl:/home/wlgmnfabmq/domains/stage.demo.octolize.com/public_html/wp-content/plugins + SSH_PORT: 222 + GLOBAL_SSH_PRIV_KEY: $DEMO_FS_SSH_KEY_FILE + ## demo.flexibleinvoices.com + - if: $DEPLOY_SERVER == 'demo.flexibleinvoices.com' + variables: + SSH_DSN: serwer296287@serwer296287.lh.pl:/home/platne/serwer296287/public_html/demo.flexibleinvoices.com/wp-content/plugins + SSH_PORT: 40022 + before_script: + - eval "$(ssh-agent -s)" + - chmod 600 "$GLOBAL_SSH_PRIV_KEY" + - ssh-add "$GLOBAL_SSH_PRIV_KEY" + - echo "$SSH_KNOWN_HOSTS" | tr -d '\r' > ~/.ssh/known_hosts + script: + - rsync -rlDe "ssh -p $SSH_PORT" --delete "$CI_PROJECT_DIR/release/$CI_PROJECT_NAME" $SSH_DSN + - 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <${CI_PROJECT_URL}|${CI_PROJECT_NAME}> zdeployowany do <${CI_ENVIRONMENT_URL}|${CI_ENVIRONMENT_NAME}> w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/${SLACK_AUTH}' + +# deploy to demo octolize: +# before_script: +# - echo "$DEMO_FS_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa_demo_fs +# - chmod 0600 ~/.ssh/id_rsa_demo_fs +# - echo "$SSH_KNOWN_HOSTS" | tr -d '\r' > ~/.ssh/known_hosts