image: maven:3.6-jdk-8 #cache: # paths: # - $HOME/.m2/repository variables: # This will supress any download for dependencies and plugins or upload messages which would clutter the console log. # `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work. MAVEN_OPTS: "-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true" # As of Maven 3.3.0 instead of this you may define these options in `.mvn/maven.config` so the same config is used # when running from the command line. # `installAtEnd` and `deployAtEnd`are only effective with recent version of the corresponding plugins. MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true -Dmaven.repo.local=/tmp/.m2/repository" SKIP_DEPENDENCIES: "false" AUTO_DEPLOY_TO_PRODUCTION: "false" stages: - build_sde - build_est - test - deploy #- documentation #- release sde_build_test_job: only: refs: - master variables: - $SKIP_DEPENDENCIES == "false" stage: build_sde environment: staging script: - "curl -X POST -F token=d1ce830095dc9201851e948eb160f4 -F ref=master --form variables[SKIP_DEPENDENCIES]=true https://gitlab.fbk.eu/api/v4/projects/393/trigger/pipeline" est_build_test_job: only: refs: - master variables: - $SKIP_DEPENDENCIES == "false" stage: build_est environment: staging script: - "curl -X POST -F token=951497a03a4073902aa28ab8d9c2d3 -F ref=master --form variables[SKIP_DEPENDENCIES]=true https://gitlab.fbk.eu/api/v4/projects/1159/trigger/pipeline" maven_build_and_test: only: refs: - master stage: test environment: staging script: - "export DISPLAY=:0.0; cd org.polarsys.chess.parent; mvn $MAVEN_CLI_OPTS -P Neon-Java8,DevelopmentUpdateSite clean install" .deploy_to_production_update_site: &deploy_to_production_update_site dependencies: - maven_build_and_test variables: GIT_STRATEGY: none UPDATE_SITE_MOUNT_DIR: "/tmp/www_ci" UPDATE_SITE_PROD_TARGET_DIR: "html/tools/aida_chess" REPOSITORY_TO_COPY: "org.polarsys.chess.parent/releng/eu.fbk.tools.aida.chess.repository/target/repository" stage: deploy environment: staging script: - echo "Deploy to production update site" - mkdir -p $UPDATE_SITE_MOUNT_DIR - sshfs -o nonempty -o umask=0777 es@es-static.fbk.eu:/ $UPDATE_SITE_MOUNT_DIR - mkdir -p $UPDATE_SITE_MOUNT_DIR/$UPDATE_SITE_PROD_TARGET_DIR - cp -r ${REPOSITORY_TO_COPY}/* $UPDATE_SITE_MOUNT_DIR/$UPDATE_SITE_PROD_TARGET_DIR - chmod -R 0777 $UPDATE_SITE_MOUNT_DIR/$UPDATE_SITE_PROD_TARGET_DIR - fusermount -uz $UPDATE_SITE_MOUNT_DIR only: refs: - master automatic_deploy_to_production_update_site: << : *deploy_to_production_update_site only: variables: - $AUTO_DEPLOY_TO_PRODUCTION == "true" manual_to_production_update_site: << : *deploy_to_production_update_site when: manual only: variables: - $AUTO_DEPLOY_TO_PRODUCTION == "false"