refactor: build docker image for all architectures
This commit is contained in:
@@ -6,7 +6,7 @@ contrib
|
||||
build
|
||||
docs
|
||||
tests
|
||||
!build/dokku.deb
|
||||
!build/package/*
|
||||
!tests/dhparam.pem
|
||||
!contrib/bash-completion
|
||||
!contrib/docker
|
||||
|
||||
@@ -14,7 +14,7 @@ RUN addgroup --gid $DOKKU_GID dokku \
|
||||
&& adduser --uid $DOKKU_UID --gid $DOKKU_GID --disabled-password --gecos "" "dokku"
|
||||
|
||||
COPY ./tests/dhparam.pem /tmp/dhparam.pem
|
||||
COPY ./build/dokku.deb /tmp/dokku.deb
|
||||
COPY ./build/package/ /tmp
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
# hadolint ignore=DL3005,DL3008
|
||||
@@ -28,7 +28,7 @@ RUN echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections
|
||||
&& apt-get update -qq \
|
||||
&& apt-get upgrade -qq -y \
|
||||
&& apt-get -qq -y --no-install-recommends --only-upgrade install openssl openssh-server \
|
||||
&& apt-get -qq -y --no-install-recommends install rsync /tmp/dokku.deb \
|
||||
&& apt-get -qq -y --no-install-recommends install rsync "/tmp/dokku-$(dpkg --print-architecture).deb" \
|
||||
&& apt-get purge -qq -y syslog-ng-core \
|
||||
&& apt-get autoremove -qq -y \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
@@ -43,7 +43,8 @@ fn-build-dokku() {
|
||||
|
||||
pushd "$ROOT_DIR" >/dev/null
|
||||
GOLANG_VERSION="$(grep BUILD_IMAGE common.mk | cut -d' ' -f3 | cut -d':' -f2)"
|
||||
docker build \
|
||||
docker buildx build \
|
||||
--platform linux/arm/v7,linux/arm64/v8,linux/amd64 \
|
||||
--build-arg DOKKU_VERSION="$DOKKU_VERSION" \
|
||||
--build-arg DOKKU_GIT_REV="$DOKKU_GIT_REV" \
|
||||
--build-arg IS_RELEASE="$IS_RELEASE" \
|
||||
@@ -395,7 +396,11 @@ main() {
|
||||
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error extracting deb package"
|
||||
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error extracting deb package"
|
||||
fn-extract-package "$IS_RELEASE" "dokku-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error extracting rpm package"
|
||||
cp -f "build/dokku_${NEXT_VERSION}_amd64.deb" build/dokku.deb
|
||||
mkdir -p build/package
|
||||
cp -f "build/dokku_${NEXT_VERSION}_amd64.deb" build/package/dokku-amd64.deb
|
||||
cp -f "build/dokku_${NEXT_VERSION}_arm64.deb" build/package/dokku-arm64.deb
|
||||
cp -f "build/dokku_${NEXT_VERSION}_armhf.deb" build/package/dokku-armhf.deb
|
||||
cp -f "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" build/package/dokku-amd64.rpm
|
||||
|
||||
if [[ "$RELEASE" != "build" ]]; then
|
||||
fn-publish-package "$IS_RELEASE" "raspbian" "build/dokku_${NEXT_VERSION}_armhf.deb" || log-fail "Error publishing deb package"
|
||||
@@ -416,9 +421,6 @@ main() {
|
||||
git reset -q HEAD plugins/*/plugin.toml
|
||||
git checkout -- plugins/*/plugin.toml
|
||||
fi
|
||||
|
||||
echo "build/dokku_${NEXT_VERSION}_amd64.deb" >build/deb-filename
|
||||
echo "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" >build/rpm-filename
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
@@ -74,14 +74,13 @@ build_dokku() {
|
||||
|
||||
echo "=====> build_dokku on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX"
|
||||
"${ROOT_DIR}/contrib/release-dokku" build
|
||||
cp "$(cat "${ROOT_DIR}/build/deb-filename")" "${ROOT_DIR}/build/dokku.deb"
|
||||
cp "$(cat "${ROOT_DIR}/build/rpm-filename")" "${ROOT_DIR}/build/dokku.rpm"
|
||||
}
|
||||
|
||||
install_dokku() {
|
||||
echo "=====> install_dokku on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX"
|
||||
|
||||
if [[ ! -f "${ROOT_DIR}/build/deb-filename" ]]; then
|
||||
local architecture="$(dpkg --print-architecture)"
|
||||
if [[ ! -f "${ROOT_DIR}/build/package/dokku-${architecture}.deb" ]]; then
|
||||
build_dokku
|
||||
fi
|
||||
|
||||
@@ -98,9 +97,9 @@ EOF
|
||||
echo "-----> End debconf selections"
|
||||
|
||||
sleep 5
|
||||
echo "-----> Start install $(cat "${ROOT_DIR}/build/deb-filename") via dpkg"
|
||||
sudo TRACE=1 dpkg -i "$(cat "${ROOT_DIR}/build/deb-filename")"
|
||||
echo "-----> End install $(cat "${ROOT_DIR}/build/deb-filename") via dpkg"
|
||||
echo "-----> Start install ${ROOT_DIR}/build/package/dokku-${architecture}.deb via dpkg"
|
||||
sudo TRACE=1 dpkg -i "${ROOT_DIR}/build/package/dokku-${architecture}.deb"
|
||||
echo "-----> End install ${ROOT_DIR}/build/package/dokku-${architecture}.deb via dpkg"
|
||||
}
|
||||
|
||||
build_dokku_docker_image() {
|
||||
|
||||
Reference in New Issue
Block a user