1
0
Fork 1
mirror of https://gitlab.com/mangadex-pub/mangadex_at_home.git synced 2024-01-19 02:48:37 +00:00
mangadex_at_home/.gitlab-ci.yml

103 lines
2.4 KiB
YAML
Raw Permalink Normal View History

stages:
- build
- publish
2021-10-02 03:54:09 +00:00
- docker
- push
2021-10-02 03:54:09 +00:00
Gradle Build:
image: openjdk:8
stage: build
2021-10-02 03:54:09 +00:00
only:
- branches
- tags
- merge_requests
2021-10-01 06:10:07 +00:00
before_script:
2021-10-02 03:54:09 +00:00
- export VERSION="${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}"
2021-10-01 06:10:07 +00:00
script:
- ./gradlew build
variables:
KUBERNETES_MEMORY_REQUEST: 3Gi
KUBERNETES_MEMORY_LIMIT: 3Gi
artifacts:
name: "mangadex_at_home"
paths:
- "build/libs/mangadex_at_home-*-all.jar"
2021-10-02 03:54:09 +00:00
Publish Artifacts:
image: alpine
stage: publish
2021-10-02 03:54:09 +00:00
needs:
- Gradle Build
variables:
GIT_STRATEGY: none
2021-10-01 06:10:07 +00:00
before_script:
2021-10-01 06:10:07 +00:00
- apk update && apk add zip
2021-10-02 03:54:09 +00:00
- 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
artifacts:
name: "mangadex_at_home"
paths:
- "mangadex_at_home-*-all.jar"
- "mangadex_at_home-*.zip"
- "settings.sample.yaml"
2021-10-02 03:54:09 +00:00
Docker Build:
2021-10-01 06:10:07 +00:00
image: docker:20.10.8
services:
- docker:20.10.8-dind
2021-10-02 03:54:09 +00:00
stage: docker
needs:
- Gradle Build
2021-10-01 06:10:07 +00:00
before_script:
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin ${CI_REGISTRY}
2021-10-02 03:54:09 +00:00
- export VERSION="${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}"
2021-10-02 04:13:34 +00:00
- export BASE_TAG="git-$CI_COMMIT_SHORT_SHA"
2021-10-02 03:54:09 +00:00
script:
- mv build/libs/mangadex_at_home-${VERSION}-all.jar build/libs/mangadex_at_home.jar
2021-10-02 03:54:09 +00:00
- docker build . -t $CI_REGISTRY_IMAGE:$BASE_TAG
- docker push $CI_REGISTRY_IMAGE:$BASE_TAG
2023-04-07 20:51:29 +00:00
2021-10-02 03:54:09 +00:00
.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}
2021-10-02 04:13:34 +00:00
- export BASE_TAG="git-$CI_COMMIT_SHORT_SHA"
2023-04-07 20:51:29 +00:00
- export SHORT_TAG="$(echo $CI_COMMIT_TAG | cut -d "." -f1)"
2021-10-02 03:54:09 +00:00
script:
- docker pull $CI_REGISTRY_IMAGE:$BASE_TAG
- docker tag $CI_REGISTRY_IMAGE:$BASE_TAG $CI_REGISTRY_IMAGE:$NEW_TAG
2023-04-07 20:51:29 +00:00
- docker tag $CI_REGISTRY_IMAGE:$BASE_TAG $CI_REGISTRY_IMAGE:$SHORT_TAG
- docker push $CI_REGISTRY_IMAGE --all-tags
2021-10-02 03:54:09 +00:00
Push Latest:
<<: *docker_push
needs:
- Docker Build
only:
- master
variables:
NEW_TAG: latest
2023-08-09 19:45:27 +00:00
SHORT_TAG: $NEW_TAG
2021-10-02 03:54:09 +00:00
Push Tags:
<<: *docker_push
needs:
- Docker Build
only:
- tags
variables:
2021-10-19 04:55:53 +00:00
NEW_TAG: $CI_COMMIT_TAG