Add script to build and push all images for all architectures automatically
This script automatically builds the newest version of the documentserver for all architectures with the correct tags and pushes everything to dockerhub automatically
This commit is contained in:
parent
8384d08c26
commit
f070cdbd1f
2 changed files with 22 additions and 4 deletions
|
@ -1,4 +1,5 @@
|
||||||
FROM debian:bullseye
|
ARG ARCH=
|
||||||
|
FROM ${ARCH}debian:bullseye
|
||||||
LABEL maintainer Ascensio System SIA <support@onlyoffice.com>
|
LABEL maintainer Ascensio System SIA <support@onlyoffice.com>
|
||||||
|
|
||||||
RUN echo "deb http://deb.debian.org/debian bullseye main contrib non-free\ndeb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free\ndeb http://deb.debian.org/debian bullseye-updates main contrib non-free\ndeb http://deb.debian.org/debian bullseye-backports main" > /etc/apt/sources.list
|
RUN echo "deb http://deb.debian.org/debian bullseye main contrib non-free\ndeb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free\ndeb http://deb.debian.org/debian bullseye-updates main contrib non-free\ndeb http://deb.debian.org/debian bullseye-backports main" > /etc/apt/sources.list
|
||||||
|
@ -75,7 +76,6 @@ EXPOSE 80 443
|
||||||
|
|
||||||
ARG COMPANY_NAME=onlyoffice
|
ARG COMPANY_NAME=onlyoffice
|
||||||
ARG PRODUCT_NAME=documentserver
|
ARG PRODUCT_NAME=documentserver
|
||||||
ARG PACKAGE_URL="http://download.onlyoffice.com/install/documentserver/linux/${COMPANY_NAME}-${PRODUCT_NAME}_arm64.deb"
|
|
||||||
|
|
||||||
ENV COMPANY_NAME=$COMPANY_NAME \
|
ENV COMPANY_NAME=$COMPANY_NAME \
|
||||||
PRODUCT_NAME=$PRODUCT_NAME
|
PRODUCT_NAME=$PRODUCT_NAME
|
||||||
|
@ -84,11 +84,11 @@ RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
|
||||||
wget -q -P /tmp "http://download.onlyoffice.com/install/documentserver/linux/${COMPANY_NAME}-${PRODUCT_NAME}_${arch}.deb" && \
|
wget -q -P /tmp "http://download.onlyoffice.com/install/documentserver/linux/${COMPANY_NAME}-${PRODUCT_NAME}_${arch}.deb" && \
|
||||||
apt-get -y update && \
|
apt-get -y update && \
|
||||||
service postgresql start && \
|
service postgresql start && \
|
||||||
apt-get -yq install /tmp/$(basename "$PACKAGE_URL") && \
|
apt-get -yq install /tmp/$(basename "${COMPANY_NAME}-${PRODUCT_NAME}_${arch}.deb") && \
|
||||||
service postgresql stop && \
|
service postgresql stop && \
|
||||||
service supervisor stop && \
|
service supervisor stop && \
|
||||||
chmod 755 /app/ds/*.sh && \
|
chmod 755 /app/ds/*.sh && \
|
||||||
rm -f /tmp/$(basename "$PACKAGE_URL") && \
|
rm -f /tmp/"${COMPANY_NAME}-${PRODUCT_NAME}_${arch}.deb" && \
|
||||||
rm -rf /var/log/$COMPANY_NAME && \
|
rm -rf /var/log/$COMPANY_NAME && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
18
build_and_push_all_images.py
Normal file
18
build_and_push_all_images.py
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import requests
|
||||||
|
import os
|
||||||
|
|
||||||
|
response = requests.get("https://api.github.com/repos/ONLYOFFICE/DocumentServer/releases/latest")
|
||||||
|
|
||||||
|
print('docker buildx build --push --platform linux/arm64,linux/amd64 --tag jiriks74/onlyoffice-documentserver:latest .')
|
||||||
|
os.system(f'docker buildx build --push --platform linux/arm64,linux/amd64 --tag jiriks74/onlyoffice-documentserver:latest .')
|
||||||
|
print("///////////////////////////////////////////////////////////////////////////")
|
||||||
|
print('Build and push ":latest" .........................................finished')
|
||||||
|
print("///////////////////////////////////////////////////////////////////////////")
|
||||||
|
print()
|
||||||
|
|
||||||
|
print(f'docker buildx build --push --platform linux/arm64,linux/amd64 --tag jiriks74/onlyoffice-documentserver:{response.json()["name"].replace("ONLYOFFICE-DocumentServer-", "")} .')
|
||||||
|
os.system(f'docker buildx build --push --platform linux/arm64,linux/amd64 --tag jiriks74/onlyoffice-documentserver:{response.json()["name"].replace("ONLYOFFICE-DocumentServer-", "")} .')
|
||||||
|
print("///////////////////////////////////////////////////////////////////////////")
|
||||||
|
print(f'Build and push ":{response.json()["name"].replace("ONLYOFFICE-DocumentServer-", "")}".........................................finished')
|
||||||
|
print("///////////////////////////////////////////////////////////////////////////")
|
||||||
|
|
Loading…
Reference in a new issue