maven-public (1) <url>https://repo.liming.pub/nexus/repository/maven-public/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>maven-public</id> (1) <url>https://repo.liming.pub/nexus/repository/maven-public/</url> </pluginRepository> </pluginRepositories> <distributionManagement> <repository> <id>maven-releases</id> (2) <url>https://repo.liming.pub/nexus/repository/maven-public-releases/</url> </repository> <snapshotRepository> <id>maven-snapshots</id> <url>https://repo.liming.pub/nexus/repository/maven-public-snapshots/</url> </snapshotRepository> </distributionManagement> <!-- ... --> <developerConnection>scm:git:http://code.liming.pub/test.git</developerConnection> <tag>HEAD</tag> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.5.3</version> <configuration> <useReleaseProfile>false</useReleaseProfile> <autoVersionSubmodules>true</autoVersionSubmodules> <arguments>-DskipTests -Pmaven-public</arguments> (3) <scmCommentPrefix>「版本发布」</scmCommentPrefix> </configuration> </plugin> </plugins> </build> <!-- ... --> </project cd /home/gitlab-runner/releases mkdir -p ${CI_PROJECT_NAMESPACE} cd ${CI_PROJECT_NAMESPACE} if [[ ! -e ${CI_PROJECT_NAME} ]];then echo "克隆${CI_PROJECT_NAME}工程" git clone git@code.liming.pub:${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}.git cd ${CI_PROJECT_NAME} set +x if [[ -e release.properties ]];then echo "上次发布未成功,需要手工处理!" exit 1 set -x git checkout ${CI_COMMIT_REF_NAME} git reset --hard origin/${CI_COMMIT_REF_NAME} git pull set +x commit_message=$(git log --pretty=format:'%cn#%cd#%s' -1|cut -d# -f3|awk '{print $1}') if [[ "${commit_message}" == "「版本发布」prepare" || "${commit_message}" == "「版本发布」rollback" ]];then echo "当前分支不具备发布条件!" exit 1 echo "开始发布版本" mvn release:prepare --batch-mode mvn release:perform --batch-mode
commit_message=$(git log --pretty=format:'%cn#%cd#%s' -1|cut -d# -f3|awk '{print $1}')
if [[ "${commit_message}" == "「版本发布」prepare" || "${commit_message}" == "「版本发布」rollback" ]];then
  echo "版本发布自动提交,忽略..."
  exit 0