stages: - build - publish - publish_latest - publish_docker build: image: openjdk:8 stage: build before_script: - export VERSION="$CI_COMMIT_REF_NAME" script: - ./gradlew build artifacts: name: "mangadex_at_home" paths: - "build/libs/mangadex_at_home-*-all.jar" publish: image: alpine/git stage: publish before_script: - export VERSION="$CI_COMMIT_REF_NAME" 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: - "mangadex_at_home-*-all.jar" - "mangadex_at_home-*.zip" - "settings.sample.yaml" publish_docker: image: docker:20.10.8-git services: - docker:20.10.8-dind stage: publish only: - tags before_script: - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin ${CI_REGISTRY} - export VERSION="$CI_COMMIT_REF_NAME" dependencies: - build 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}