image: maven:latest variables: LANG: C.UTF-8 LC_ALL: C.UTF-8 PROJECT_ARTIFACT_ID: FIDENTIS-Analyst-app DEPLOYMENT_INFO_VERSION_FILE: VERSION.txt # FTP_* variables are defined in the CI condiguration of the gitlab. stages: - build - test - document - publish build: stage: build script: - mvn clean install -B -DskipTests -Dcheckstyle.fail=false tags: - shared-fi rules: - if: '$CI_COMMIT_BRANCH' artifacts: paths: - application/target/$PROJECT_ARTIFACT_ID-*.zip expire_in: 1 hour when: on_success test: stage: test script: - mvn test -B -Dcheckstyle.fail=false tags: - shared-fi rules: # - if: '$CI_COMMIT_BRANCH == "master"' # changes: # - VERSION.txt # when: never - if: '$CI_COMMIT_BRANCH' # generate documentation when commiting to master and the VERSION.txt file has changed document: stage: document script: - mvn -Dauthor=false -Dcheckstyle.fail=false -DadditionalJOption=-Xdoclint:none javadoc:javadoc - mvn -Dauthor=false -Dcheckstyle.fail=false -DadditionalJOption=-Xdoclint:none javadoc:aggregate tags: - shared-fi rules: - if: '$CI_COMMIT_BRANCH == "master"' changes: - VERSION.txt - if: '$CI_COMMIT_BRANCH' when: never artifacts: paths: - MeshModel/target/site/apidocs/ - GUI/target/site/apidocs/ - Comparison/target/site/apidocs/ - target/site/apidocs/ expire_in: 1 hour when: on_success # publish release when commiting to master and the VERSION.txt file has changed publish: stage: publish image: ubuntu:latest script: - export VERSION=$(grep -oP '^([^\s]*)' $DEPLOYMENT_INFO_VERSION_FILE) - apt-get update -qq && apt-get install -y -qq lftp #- lftp -c "set ftp:ssl-allow no; open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; mirror -Rnev $CI_PROJECT_DIR/application/target ./$FTP_TARGET_DIR --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/" - lftp -c "set ftp:ssl-allow yes; set ssl:verify-certificate false; open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; cd $FTP_TARGET_DIR; mput -c $CI_PROJECT_DIR/application/target/$PROJECT_ARTIFACT_ID-$VERSION.zip; put -c $CI_PROJECT_DIR/application/target/$PROJECT_ARTIFACT_ID-$VERSION.zip -o $PROJECT_ARTIFACT_ID-LATEST.zip" - lftp -c "set ftp:ssl-allow no; open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; mirror -Rnev $CI_PROJECT_DIR/target/site/apidocs ./$FTP_TARGET_DIR/apidocs --ignore-time --parallel=10" - lftp -c "set ftp:ssl-allow no; open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; mirror -Rnev $CI_PROJECT_DIR/MeshModel/target/site/apidocs ./$FTP_TARGET_DIR/apidocs-MeshModel --ignore-time --parallel=10" - lftp -c "set ftp:ssl-allow no; open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; mirror -Rnev $CI_PROJECT_DIR/GUI/target/site/apidocs ./$FTP_TARGET_DIR/apidocs-GUI --ignore-time --parallel=10" - lftp -c "set ftp:ssl-allow no; open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; mirror -Rnev $CI_PROJECT_DIR/Comparison/target/site/apidocs ./$FTP_TARGET_DIR/apidocs-Comparison --ignore-time --parallel=10" tags: - shared-fi rules: - if: '$CI_COMMIT_BRANCH == "master"' changes: - VERSION.txt - if: '$CI_COMMIT_BRANCH' when: never