diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..a576eabdba088cf8770152e118160b6f1dc5bd14 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,45 @@ +stages: + - build + - release + +variables: + MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version" + DATE_FORMAT: "%Y%m%d-%H%M%S" + +build: + stage: build + image: maven:3.8.7-openjdk-21 + script: + - mvn $MAVEN_CLI_OPTS clean package + - BUILD_DATE=$(date -u +${DATE_FORMAT}) + - JAR_NAME="PrivateServerPlugin-${BUILD_DATE}.jar" + - mv target/PrivateServerPlugin.jar "${JAR_NAME}" + - echo "BUILD_DATE=${BUILD_DATE}" > build.env + - echo "JAR_NAME=${JAR_NAME}" >> build.env + artifacts: + paths: + - "${JAR_NAME}" + - build.env + expire_in: 1 week + rules: + - if: $CI_COMMIT_BRANCH == "master" + +release: + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + needs: + - job: build + artifacts: true + script: + - source build.env + - echo "Release ${JAR_NAME} created at ${BUILD_DATE}" + release: + name: "Release ${BUILD_DATE}" + tag_name: "release-${BUILD_DATE}" + description: "Version compilée le ${BUILD_DATE} (commit ${CI_COMMIT_SHORT_SHA})" + assets: + links: + - name: "${JAR_NAME}" + url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/${CI_JOB_ID}/artifacts/${JAR_NAME}" + rules: + - if: $CI_COMMIT_BRANCH == "master" diff --git a/pom.xml b/pom.xml index fb2a1b9330ca7acb82e91043e42d24301e7b1419..8e2a1e5dfdf3f9a1d7bf72d93925931833b5bf53 100644 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,7 @@ <build> <defaultGoal>clean package</defaultGoal> + <finalName>PrivateServerPlugin</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>