1
0
Fork 1
mirror of https://gitlab.com/mangadex-pub/mangadex_at_home.git synced 2024-01-19 02:48:37 +00:00
This commit is contained in:
carbotaniuman 2021-10-01 22:16:50 -05:00
parent baecff51be
commit 1075632c6e
2 changed files with 59 additions and 21 deletions

View file

@ -1,14 +1,15 @@
stages:
- build
- publish
- publish_docker
- docker
- push
build:
Gradle Build:
image: openjdk:8
stage: build
before_script:
- export VERSION="$CI_COMMIT_REF_NAME"
- export VERSION="${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}"
script:
- ./gradlew build
artifacts:
@ -16,18 +17,20 @@ build:
paths:
- "build/libs/mangadex_at_home-*-all.jar"
publish:
Publish Artifacts:
image: alpine
stage: publish
dependencies:
- build
variables:
GIT_STRATEGY: none
before_script:
- apk update && apk add zip
- export VERSION="$CI_COMMIT_REF_NAME"
- export VERSION="${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}"
script:
- cp build/libs/mangadex_at_home-${VERSION}-all.jar ./
- zip -r9 mangadex_at_home-${VERSION}.zip mangadex_at_home-${VERSION}-all.jar settings.sample.yaml
dependencies:
- build
artifacts:
name: "mangadex_at_home"
paths:
@ -35,20 +38,51 @@ publish:
- "mangadex_at_home-*.zip"
- "settings.sample.yaml"
publish_docker:
Docker Build:
image: docker:20.10.8
services:
- docker:20.10.8-dind
stage: publish
only:
- tags
stage: docker
dependencies:
- build
before_script:
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin ${CI_REGISTRY}
- export VERSION="$CI_COMMIT_REF_NAME"
dependencies:
- build
- export VERSION="${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}"
- export BASE_TAG="$CI_COMMIT_SHORT_SHA"
script:
- mv build/libs/mangadex_at_home-${VERSION}-all.jar build/libs/mangadex_at_home.jar
- docker build . -t ${CI_REGISTRY_IMAGE}:${VERSION}
- docker push ${CI_REGISTRY_IMAGE}:${VERSION}
- docker build . -t $CI_REGISTRY_IMAGE:$BASE_TAG
- docker push $CI_REGISTRY_IMAGE:$BASE_TAG
.docker_push: &docker_push
image: docker:20.10.8
services:
- docker:20.10.8-dind
stage: push
variables:
GIT_STRATEGY: none
before_script:
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin ${CI_REGISTRY}
- export BASE_TAG="$CI_COMMIT_SHORT_SHA"
script:
- docker pull $CI_REGISTRY_IMAGE:$BASE_TAG
- docker tag $CI_REGISTRY_IMAGE:$BASE_TAG $CI_REGISTRY_IMAGE:$NEW_TAG
- docker push $CI_REGISTRY_IMAGE:$NEW_TAG
Push Latest:
<<: *docker_push
only:
- master
variables:
NEW_TAG: latest
Push Tags:
<<: *docker_push
only:
- tags
variables:
NEW_TAG: $CI_COMMIT_TAG

View file

@ -1,17 +1,21 @@
plugins {
id "jacoco"
id "java"
id "org.jetbrains.kotlin.jvm" version "1.5.21"
id "org.jetbrains.kotlin.kapt" version "1.5.21"
id "org.jetbrains.kotlin.jvm" version "1.5.31"
id "org.jetbrains.kotlin.kapt" version "1.5.31"
id "application"
id "com.github.johnrengelman.shadow" version "5.2.0"
id "com.github.johnrengelman.shadow" version "7.0.0"
id "com.diffplug.spotless" version "5.8.2"
id "net.afanasev.sekret" version "0.1.0"
id "com.palantir.git-version" version "0.12.3"
}
group = "com.mangadex"
version = System.getenv().getOrDefault("VERSION", 'git describe --tags --dirty'.execute().text.trim())
mainClassName = "mdnet.MainKt"
version = System.getenv("VERSION") ?: gitVersion()
application {
mainClass = "mdnet.MainKt"
}
repositories {
mavenCentral()