mirror of
https://github.com/gotson/komga.git
synced 2025-12-06 08:32:25 +01:00
feat: docker multi-arch images
This commit is contained in:
parent
a7a96145c0
commit
d54c67b3df
9 changed files with 57 additions and 18 deletions
|
|
@ -1,3 +1,4 @@
|
|||
os: linux
|
||||
language: java
|
||||
|
||||
before_install:
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||
./gradlew dockerPushLatest dockerPushSemVer
|
||||
2
.travis/docker-common.sh
Normal file
2
.travis/docker-common.sh
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export DOCKER_CLI_EXPERIMENTAL=enabled
|
||||
PLATFORMS=linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x
|
||||
25
.travis/prepare-dockerhub.sh
Executable file
25
.travis/prepare-dockerhub.sh
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env bash
|
||||
source "$(dirname "$0")/docker-common.sh"
|
||||
|
||||
# Update Docker CE
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||
sudo apt-get update
|
||||
sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
|
||||
|
||||
# Enable buildx
|
||||
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
docker buildx create --name mybuilder --driver docker-container --use
|
||||
docker buildx inspect --bootstrap
|
||||
|
||||
# Unpack fat jar
|
||||
./gradlew unpack
|
||||
|
||||
# Build docker images (no push)
|
||||
cd komga
|
||||
docker buildx build \
|
||||
--platform $PLATFORMS \
|
||||
--cache-from gotson/komga:latest \
|
||||
--tag gotson/komga:latest \
|
||||
--tag gotson/komga:$1 \
|
||||
--file ./Dockerfile .
|
||||
11
.travis/prepare-release.sh
Executable file
11
.travis/prepare-release.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Update version for Gradle
|
||||
echo version=$1 >gradle.properties
|
||||
|
||||
# Build jar
|
||||
./gradlew copyWebDist
|
||||
./gradlew assemble
|
||||
|
||||
# Prepare Dockerhub release
|
||||
source "$(dirname "$0")/prepare-dockerhub.sh" $1
|
||||
14
.travis/publish-dockerhub.sh
Executable file
14
.travis/publish-dockerhub.sh
Executable file
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
source "$(dirname "$0")/docker-common.sh"
|
||||
|
||||
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||
|
||||
# Push docker images (built previously)
|
||||
cd komga
|
||||
docker buildx build \
|
||||
--platform $PLATFORMS \
|
||||
--cache-from gotson/komga:latest \
|
||||
--tag gotson/komga:latest \
|
||||
--tag gotson/komga:$1 \
|
||||
--file ./Dockerfile . \
|
||||
--push
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
FROM adoptopenjdk:11-jre-hotspot
|
||||
FROM adoptopenjdk:11-jdk-hotspot
|
||||
VOLUME /tmp
|
||||
ARG DEPENDENCY=target/dependency
|
||||
ARG DEPENDENCY=build/dependency
|
||||
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
|
||||
COPY ${DEPENDENCY}/META-INF /app/META-INF
|
||||
COPY ${DEPENDENCY}/BOOT-INF/classes /app
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
import com.palantir.gradle.docker.DockerExtension
|
||||
import org.apache.tools.ant.taskdefs.condition.Os
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
|
|
@ -14,7 +13,6 @@ plugins {
|
|||
id("org.springframework.boot") version "2.2.5.RELEASE"
|
||||
id("io.spring.dependency-management") version "1.0.9.RELEASE"
|
||||
id("com.github.ben-manes.versions") version "0.28.0"
|
||||
id("com.palantir.docker") version "0.25.0"
|
||||
id("com.gorylenko.gradle-git-properties") version "2.2.2"
|
||||
jacoco
|
||||
}
|
||||
|
|
@ -163,14 +161,6 @@ tasks {
|
|||
}
|
||||
}
|
||||
|
||||
configure<DockerExtension> {
|
||||
name = "gotson/komga"
|
||||
tag("latest", "$name:latest")
|
||||
tag("semVer", "$name:$version")
|
||||
copySpec.from(tasks.getByName("unpack").outputs).into("dependency")
|
||||
buildArgs(mapOf("DEPENDENCY" to "dependency"))
|
||||
}
|
||||
|
||||
springBoot {
|
||||
buildInfo()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@
|
|||
[
|
||||
"@semantic-release/exec",
|
||||
{
|
||||
"prepareCmd": "echo version=${nextRelease.version}> gradle.properties && ./gradlew copyWebDist && ./gradlew assemble",
|
||||
"publishCmd": ".travis/deploy-dockerhub-prod.sh"
|
||||
"prepareCmd": ".travis/prepare-release.sh ${nextRelease.version}",
|
||||
"publishCmd": ".travis/publish-dockerhub.sh ${nextRelease.version}"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
|
|
|||
Loading…
Reference in a new issue