This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 66b90103e1ccfac087322f1f9ba147ff5874de62 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Sep 27 11:43:14 2017 +0200 update gitlab ci for release --- .gitlab-ci.yml | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a82cd86..19a9f826 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -42,7 +42,7 @@ release: image: registry.nuiton.org/codelutin/dockerfiles:maven-release stage: release only: - - /^release-.*$/ + - /^release\/.*$/ except: - tags script: @@ -56,35 +56,49 @@ release: - cd /tmp - git clone --no-checkout "$GIT_URL" "release" - cd release + - git checkout -f develop + - git checkout -f master + - git flow init -fd - git checkout -f "$CI_COMMIT_SHA" - if [ ! -f LICENSE.txt ]; then echo "missing LICENSE.txt"; exit 1; fi - if [ ! -f README.md ]; then echo "missing README.md"; exit 1 ;fi - curl -sL --header "PRIVATE-TOKEN:${TOKEN_MR}" "https://gitlab.nuiton.org/codelutin/gitlab-tools/raw/master/release.sh" -o /tmp/release.sh - cat /tmp/release.sh - chmod +x /tmp/release.sh + - echo "Check Gitlab Milestone for $VERSION " - /tmp/release.sh "$TOKEN_MR" "$CI_PROJECT_ID" "$VERSION" check + - echo "Maven release for $VERSION " - mvn -q --batch-mode org.codehaus.mojo:versions-maven-plugin::set -DnewVersion=$VERSION - mvn org.codehaus.mojo:versions-maven-plugin:display-dependency-updates |sed -n '/The following dependencies in Dependencies have newer versions/,/--------------------------------------------------/p' - mvn -q --batch-mode org.codehaus.mojo:versions-maven-plugin::use-releases - mvn -q --batch-mode org.codehaus.mojo:license-maven-plugin:1.13:check-file-header -Dlicense.failOnMissingHeader=true -DfailOnNotUptodateHeader=true -Dlicense.roots=src/main -Dlicense.excludes=webapp/lib/** || (echo "Veullez mettre a jour vos header sur la branche $RELEASE avec la commande 'mvn org.codehaus.mojo:license-maven-plugin:1.13:update-file-header -Dlicense.roots=src/main -Dlicense.excludes=webapp/lib/**'"; exit 2) - - curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - && sudo apt-get install -y nodejs - - npm install - mvn -q --batch-mode clean install - mkdir -p $OLD_DIR/target - cp target/*.war $OLD_DIR/target/${CI_PROJECT_NAME}-$VERSION.war + - echo "NodeJs release for $VERSION " + - curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - && sudo apt-get install -y nodejs + - cd pollen-ui-riot-js + - npm install + - npm run-script package + - mkdir -p $OLD_DIR/target/${CI_PROJECT_NAME}-$VERSION-site + - cp -r target/dist/* $OLD_DIR/target/${CI_PROJECT_NAME}-$VERSION-site/. + - cd ../ + - echo "Generate CHANGELOG for $VERSION " - export CHANGELOG=$(/tmp/release.sh "$TOKEN_MR" "$CI_PROJECT_ID" "$VERSION" changelog) - echo "$CHANGELOG" >> CHANGELOG - if [ -f CHANGELOG ]; then git add CHANGELOG; fi - git commit -a -m "release $VERSION success [skip ci]" - - git tag "${TAG_NAME}" - - export NEXT_VERSION=$(echo "$VERSION" |perl -pe 's/^(.*)(\d+)(.*)$/$1.($2+1).$3."-SNAPSHOT"/e') - - mvn --batch-mode org.codehaus.mojo:versions-maven-plugin::set -DnewVersion=$NEXT_VERSION - - git commit -a -m "commit to prepare next development version $NEXT_VERSION [skip ci]" -# - git push origin HEAD:$RELEASE --tags -# - /tmp/release.sh "$TOKEN_MR" "$CI_PROJECT_ID" "$VERSION" close -# - curl --header "PRIVATE-TOKEN:$TOKEN_MR" --request POST "https://gitlab.nuiton.org/api/v4/projects/${CI_PROJECT_ID}/merge_requests?source_branch=${CI_COMMIT_REF_NAME}&target_branch=master&title=${RELEASE}&remove_source_branch=true&labels=release" -# - export FILE_URL=$(echo -e "\n\n"$(curl --request POST --header "PRIVATE-TOKEN:$TOKEN_MR" --form "file=@$OLD_DIR/target/${CI_PROJECT_NAME}-$VERSION.war" https://gitlab.nuiton.org/api/v4/projects/${CI_PROJECT_ID}/uploads |jq --raw-output '.markdown')) -# - curl --header "PRIVATE-TOKEN:$TOKEN_MR" --request POST --form "description=$CHANGELOG$FILE_URL" "https://gitlab.nuiton.org/api/v4/projects/${CI_PROJECT_ID}/repository/tags/${TAG_NAME}/release" + - git push + - git flow release finish + - git checkout -f develop + - git push + - git checkout -f master + - git push + - git push --tags + - /tmp/release.sh "$TOKEN_MR" "$CI_PROJECT_ID" "$VERSION" close + - curl --header "PRIVATE-TOKEN:$TOKEN_MR" --request POST "https://gitlab.nuiton.org/api/v4/projects/${CI_PROJECT_ID}/merge_requests?source_branch=${CI_COMMIT_REF_NAME}&target_branch=master&title=${RELEASE}&remove_source_branch=true&labels=release" + - export FILE_URL=$(echo -e "\n\n"$(curl --request POST --header "PRIVATE-TOKEN:$TOKEN_MR" --form "file=@$OLD_DIR/target/${CI_PROJECT_NAME}-$VERSION.war" https://gitlab.nuiton.org/api/v4/projects/${CI_PROJECT_ID}/uploads |jq --raw-output '.markdown')) + - curl --header "PRIVATE-TOKEN:$TOKEN_MR" --request POST --form "description=$CHANGELOG$FILE_URL" "https://gitlab.nuiton.org/api/v4/projects/${CI_PROJECT_ID}/repository/tags/${TAG_NAME}/release" artifacts: paths: - pollen-rest-api/target/pollen-rest-api-*.war @@ -93,7 +107,7 @@ release: -tag-docker: +docker: image: registry.nuiton.org/codelutin/dockerfiles:docker stage: release when: manual -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.