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