update docker build

pull/336/head
Michel Promonet 3 weeks ago
parent 890cdbe5ae
commit ef86de3922

@ -144,7 +144,8 @@ jobs:
command: |
export TAG=${CIRCLE_TAG:-latest}
docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
docker build --pull -t $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:${TAG}-arm32v7 -f Dockerfile.rpi .
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker build --pull -t $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:${TAG}-arm32v7 --build-arg IMAGE=balenalib/raspberry-pi2 .
docker push $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:${TAG}-arm32v7
# -------------------------------------
@ -161,7 +162,8 @@ jobs:
command: |
export TAG=${CIRCLE_TAG:-latest}
docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
docker build --build-arg ARCH=armv6l --pull -t $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:${TAG}-arm32v6 -f Dockerfile.rpi .
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker build --build-arg ARCH=armv6l --pull -t $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:${TAG}-arm32v6 --build-arg IMAGE=balenalib/raspberry-pi .
docker push $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:${TAG}-arm32v6
# -------------------------------------
@ -179,7 +181,7 @@ jobs:
export TAG=${CIRCLE_TAG:-latest}
docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker build --pull -t $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:${TAG}-arm64 -f Dockerfile.arm64 .
docker build --pull -t $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:${TAG}-arm64 --build-arg IMAGE=arm64v8/ubuntu:24.04 .
docker push $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:${TAG}-arm64
# -------------------------------------

@ -1,13 +1,17 @@
linux_docker_builder:
script: docker build -t $CIRRUS_REPO_FULL_NAME:cirrus-linux . -f Dockerfile
script: docker build -t $CIRRUS_REPO_FULL_NAME:cirrus-linux .
linuxarmv7_docker_builder:
script: docker build -t $CIRRUS_REPO_FULL_NAME:cirrus-rpi . -f Dockerfile.rpi
script: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker build -t $CIRRUS_REPO_FULL_NAME:cirrus-armv7 . --build-arg IMAGE=balenalib/raspberry-pi2
linuxarmv6_docker_builder:
script: docker build -t $CIRRUS_REPO_FULL_NAME:cirrus-armv6 . -f Dockerfile.rpi --build-arg ARCH=armv6l
script: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker build -t $CIRRUS_REPO_FULL_NAME:cirrus-armv6 . --build-arg IMAGE=balenalib/raspberry-pi
linuxarm64_docker_builder:
script: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker build -t $CIRRUS_REPO_FULL_NAME:cirrus-arm64 . -f Dockerfile.arm64
docker build -t $CIRRUS_REPO_FULL_NAME:cirrus-arm64 . --build-arg IMAGE=arm64v8/ubuntu:24.04

@ -8,13 +8,16 @@ jobs:
matrix:
include:
- os: ubuntu-latest
dockerfile: Dockerfile.arm64
image: arm64v8/ubuntu:24.04
label: arm64
- os: ubuntu-latest
dockerfile: Dockerfile.rpi
image: balenalib/raspberry-pi
label: armv6l
- os: ubuntu-latest
dockerfile: Dockerfile
image: balenalib/raspberry-pi2
label: armv7
- os: ubuntu-latest
image: ubuntu:24.04
label: amd64
runs-on: ${{ matrix.os }}
@ -25,4 +28,4 @@ jobs:
- name: Build an image from Dockerfile
run: |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker build -t docker.io/${{ github.repository }}:${{ matrix.label }} -f ${{ matrix.dockerfile }} .
docker build -t docker.io/${{ github.repository }}:${{ matrix.label }} --build-arg IMAGE=${{ matrix.image }} .

@ -1,4 +1,5 @@
FROM ubuntu:24.04 as builder
ARG IMAGE=ubuntu:24.04
FROM $IMAGE as builder
LABEL maintainer michel.promonet@free.fr
WORKDIR /v4l2rtspserver
@ -8,7 +9,7 @@ COPY . .
RUN cmake . && make install && apt-get clean && rm -rf /var/lib/apt/lists/
FROM ubuntu:24.04
FROM $IMAGE
WORKDIR /usr/local/share/v4l2rtspserver
RUN apt-get update \

@ -1,27 +0,0 @@
FROM ubuntu:24.04 as builder
LABEL maintainer michel.promonet@free.fr
WORKDIR /v4l2rtspserver
ARG ARCH=arm64
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates xz-utils cmake make patch pkg-config git wget gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libasound2-dev && apt-get clean && rm -rf /var/lib/apt/lists/
COPY . .
RUN cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY . \
&& make install
FROM arm64v8/ubuntu:24.04
WORKDIR /usr/local/share/v4l2rtspserver
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates libasound2-dev libssl-dev && apt-get clean && rm -rf /var/lib/apt/lists/
COPY --from=builder /usr/local/bin/ /usr/local/bin/
COPY --from=builder /usr/local/share/v4l2rtspserver/ /usr/local/share/v4l2rtspserver/
ENTRYPOINT [ "/usr/local/bin/v4l2rtspserver" ]
CMD [ "-S" ]

@ -1,24 +0,0 @@
FROM debian as builder
LABEL maintainer michel.promonet@free.fr
WORKDIR /v4l2rtspserver
COPY . /v4l2rtspserver
ARG ARCH=armv7l
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates xz-utils cmake make patch pkg-config git wget \
&& git clone --depth 1 https://github.com/raspberrypi/tools.git /rpi_tools \
&& export PATH=/rpi_tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:$PATH \
&& cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc -DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY . \
&& make install \
&& apt-get clean && rm -rf /var/lib/apt/lists/
FROM balenalib/raspberry-pi
WORKDIR /usr/local/share/v4l2rtspserver
COPY --from=builder /usr/local/bin/ /usr/local/bin/
COPY --from=builder /usr/local/share/v4l2rtspserver/ /usr/local/share/v4l2rtspserver/
ENTRYPOINT [ "/usr/local/bin/v4l2rtspserver" ]
CMD [ "-S" ]
Loading…
Cancel
Save