diff --git a/.dockerignore b/.dockerignore index 2506b6b..6f98385 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,14 @@ -* -**/* -**/** \ No newline at end of file +.git +.github +.idea +.mvn +readme-assets +resources +scripts +target +.gitignore +Dockerfile +LICENSE +publish.sh +README.md +THANKS.md \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index c5f0286..0000000 --- a/.travis.yml +++ /dev/null @@ -1,64 +0,0 @@ -# binfmt_misc seems to act a bit weirdly on precise -dist: xenial -# sudo for docker -sudo: true -language: java -jdk: - - openjdk8 - -services: - - docker - -# force update docker-ce since the manifest is still experimental -addons: - apt: - packages: - - docker-ce - -# Only clone the most recent commit. -git: - depth: 1 - -cache: - apt: true - directories: - - "$HOME/.cache" - - ~/.m2 - - -jobs: - include: - - stage: Tests - script: mvn --batch-mode clean test jacoco:report coveralls:report - - - stage: Github release - if: tag IS present - script: - - mvn --batch-mode --quiet clean package -DskipTests=true - - mkdir packager-tmp && cp -r resources/* ./packager-tmp && cp target/*.jar ./packager-tmp - - cd ./packager-tmp && tar -czvf joal.tar.gz * && cd .. - deploy: - on: - tags: true - provider: releases - api_key: - secure: Y5IBLNmfzbDH/7u9JgYd/+YCoTFko1U0jzey3d6sglAF5oDngkkLgVSzzFckuzql3G2Yj8LbN0VGZb5a8LSnSNwMZ7VHFMRLGgdMFRPW3Bd4Xy633t9PRbHxkmucvdjnySrkIhNxIgrTx/aFNePEy8hEcamTVo1KthoneWxjHAuXNEaBJ+5J7dI48EVu8W7tQi+323h4W3qx68Im4+ZZPVL+Hb1DzFv3HK2DmO9Q2e3FUSdARUebJVcWaHyp/5mb/ydsL9sMtl8706l9G8ccQoSKEgS3+YMMwrpNwRGuFwA44C37KXOx7rlGTNCPD4zmI4/X2aYSEO1lnyX8NxWH2TGPYBjrOKIAO/C4pLjmQuoPUJ+8eqoaTrjeJzN5kAa1CgYhxMxYfLXqYBOSXYe6dwdLfRcMNCwq8ELDEJJtSBY6WsASXZkVSuz6Hgpa2HK7vKwYvP4/89gjVdHSgHQHLBTDWmFr5FUXU711e7Gk1JYwBsu30nBEIowEvwnKuD5z/EzRoGplVNMl8Vn6P6brRB4uRRT4PbDoV1GZDWiPxsP+L9r9E6e4Rc1ssk3Rp/PRVoRYDcuPXzpSNIrUBcDPYUUzsh6pdHB7VpiYhUC2thsrkUBwVVM58xeTDM2nSXrpK0Kgua97yVwmlve2/9/1fmIga31p7LyYBmMMZum9yMM= - file: packager-tmp/joal.tar.gz - skip_cleanup: true - draft: true - name: $TRAVIS_TAG - tag_name: $TRAVIS_TAG - after_deploy: - - rm -rf packager-tmp - - - stage: Docker release - if: tag IS present - # install binfmt to allow arm build on x86 (see https://dev.to/zeerorg/build-multi-arch-docker-images-on-travis-5428) - before_install: - - sudo docker run --privileged linuxkit/binfmt:v0.6 - - sudo docker run -d --privileged -p 1234:1234 --name buildkit moby/buildkit:v0.4.0 --addr tcp://0.0.0.0:1234 --oci-worker-platform linux/amd64 --oci-worker-platform linux/armhf - - sudo docker cp buildkit:/usr/bin/buildctl /usr/bin/ - - export BUILDKIT_HOST=tcp://0.0.0.0:1234 - # skill install step - install: true - script: bash ./travis/docker_deploy.sh diff --git a/Dockerfile b/Dockerfile index 06993ff..05e6a8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,16 +2,9 @@ FROM maven:3.8.1-adoptopenjdk-11 AS build -RUN apt-get update \ - && apt-get install -y git \ - && JOAL_VERSION="2.1.25" \ - && git clone https://github.com/anthonyraymond/joal.git --branch "$JOAL_VERSION" --depth=1 \ - && cd joal \ - && mvn --batch-mode --quiet package -DskipTests=true \ +RUN mvn -B --quiet package -DskipTests=true \ && mkdir /artifact \ - && mv "/joal/target/jack-of-all-trades-$JOAL_VERSION.jar" /artifact/joal.jar \ - && apt-get remove -y git \ - && rm -rf /var/lib/apt/lists/* + && mv "target/jack-of-all-trades-*.jar" /artifact/joal.jar # Actual joal image with jre only diff --git a/travis/docker_deploy.sh b/travis/docker_deploy.sh deleted file mode 100644 index 1f5dbe3..0000000 --- a/travis/docker_deploy.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash - -# Inspired from : https://github.com/zeerorg/cron-connector/blob/master/travis/deploy.sh - -DOCKER_IMAGE_NAME="anthonyraymond/joal" -ARCHITECTURES="amd64 arm arm64" - -# Login into docker -docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD" - - -platforms="" -for arch in $ARCHITECTURES -do -# Build for all architectures and push manifest - platforms="linux/$arch,$platforms" -done - -platforms=${platforms::-1} - - -# Push multi-arch image -buildctl build --frontend dockerfile.v0 \ - --local dockerfile=. \ - --local context=. \ - --exporter image \ - --exporter-opt name=docker.io/$DOCKER_IMAGE_NAME:$TRAVIS_TAG \ - --exporter-opt push=true \ - --frontend-opt platform=$platforms \ - --frontend-opt filename=./Dockerfile - - -# Push image for every arch with arch prefix in tag -for arch in $ARCHITECTURES -do -# Build for all architectures and push manifest - buildctl build --frontend dockerfile.v0 \ - --local dockerfile=. \ - --local context=. \ - --exporter image \ - --exporter-opt name=docker.io/$DOCKER_IMAGE_NAME:$TRAVIS_TAG-$arch \ - --exporter-opt push=true \ - --frontend-opt platform=linux/$arch \ - --frontend-opt filename=./Dockerfile & -done - -wait - -docker pull $DOCKER_IMAGE_NAME:$TRAVIS_TAG -docker tag $DOCKER_IMAGE_NAME:$TRAVIS_TAG $DOCKER_IMAGE_NAME:latest -docker push $DOCKER_IMAGE_NAME:latest