mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
Adds a Dockerfile for building the PR service in a container. Based on the hash equivalence server container [hashserv]. Use the following environment variables to configure the PR service container: - DBFILE: database filename. Default: /var/lib/bbprserv/prserv.sqlite3. - LOGFILE: log filename. Default: /var/lib/bbprserv/prserv.log. - LOGLEVEL: logging level. Default: DEBUG. - HOST: ip address to bind. Default: 0.0.0.0. - PORT: port number. Default: 8585. - DBMODE: database mode. Default: Empty (RW). Note: DBMODE in RO: "--read-only". [hashserv]: contrib/hashserv/Dockerfile (Bitbake rev: a5497428b539e8598263924f63a9df8fe1ea70f9) (Bitbake rev: 1d05abd92da56e284fcd904cf32bd12485903f10) Signed-off-by: Daniel Gomez <daniel@qtec.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1.4 KiB
1.4 KiB
SPDX-License-Identifier: MIT
Copyright (c) 2022 Daniel Gomez daniel@qtec.com
Dockerfile to build a bitbake PR service container
From the root of the bitbake repository, run:
docker build -f contrib/prserv/Dockerfile . -t prserv
Running examples:
1. PR Service in RW mode, port 18585:
docker run --detach --tty \
--env PORT=18585 \
--publish 18585:18585 \
--volume $PWD:/var/lib/bbprserv \
prserv
2. PR Service in RO mode, default port (8585) and custom LOGFILE:
docker run --detach --tty \
--env DBMODE="--read-only" \
--env LOGFILE=/var/lib/bbprserv/prservro.log \
--publish 8585:8585 \
--volume $PWD:/var/lib/bbprserv \
prserv
FROM alpine:3.14.4
RUN apk add --no-cache python3
COPY bin/bitbake-prserv /opt/bbprserv/bin/ COPY lib/prserv /opt/bbprserv/lib/prserv/ COPY lib/bb /opt/bbprserv/lib/bb/ COPY lib/codegen.py /opt/bbprserv/lib/codegen.py COPY lib/ply /opt/bbprserv/lib/ply/ COPY lib/bs4 /opt/bbprserv/lib/bs4/
ENV PATH=$PATH:/opt/bbprserv/bin
RUN mkdir -p /var/lib/bbprserv
ENV DBFILE=/var/lib/bbprserv/prserv.sqlite3
LOGFILE=/var/lib/bbprserv/prserv.log
LOGLEVEL=debug
HOST=0.0.0.0
PORT=8585
DBMODE=""
ENTRYPOINT [ "/bin/sh", "-c",
"bitbake-prserv
--file=$DBFILE
--log=$LOGFILE
--loglevel=$LOGLEVEL
--start
--host=$HOST
--port=$PORT
$DBMODE
&& tail -f $LOGFILE"]