forked from swisspost/kobuka
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaybe-release.sh
42 lines (42 loc) · 1.1 KB
/
maybe-release.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash
set -ev
if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_REPO_SLUG" == "swisspush/kobuka" ]
then
git reset --hard
git clean -fd
git checkout master
echo 'Master checked out'
groovy staging.groovy drop
rc=$?
if [ $rc -ne 0 ]
then
echo 'problem when trying to drop, ignored'
fi
echo 'starting a new nexus repository ...'
OUTPUT=$(groovy staging.groovy start)
echo "repository Id: $OUTPUT"
mvn -B -Prelease jgitflow:release-start jgitflow:release-finish --settings settings.xml -DrepositoryId=${OUTPUT}
rc=$?
if [ $rc -eq 0 ]
then
groovy staging.groovy close ${OUTPUT}
groovy staging.groovy promote ${OUTPUT}
rc=$?
if [ $rc -ne 0 ]
then
echo 'Release failed, cannot promote stage'
exit rc
fi
echo 'Release done, will push'
git tag
git push --tags
git checkout develop
git push origin develop
exit 0
fi
echo 'Release failed'
exit rc
else
echo 'Release skipped'
exit 0
fi