diff options
| author | Daniel Gomez <daniel@qtec.com> | 2022-03-21 11:45:44 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-03-23 12:08:56 +0000 |
| commit | c5f5de1ad57af0ddfc4abfd40f939117b899d2dc (patch) | |
| tree | 85a20856297cf38e056230c49d675c60abc19fc5 | |
| parent | c41172d837dcaa73c338ac44ab43a3eb11299c2e (diff) | |
| download | poky-c5f5de1ad57af0ddfc4abfd40f939117b899d2dc.tar.gz | |
bitbake: contrib: Add Dockerfile for building PR service
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>
| -rw-r--r-- | bitbake/contrib/prserv/Dockerfile | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/bitbake/contrib/prserv/Dockerfile b/bitbake/contrib/prserv/Dockerfile new file mode 100644 index 0000000000..9585fe3f07 --- /dev/null +++ b/bitbake/contrib/prserv/Dockerfile | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | # SPDX-License-Identifier: MIT | ||
| 2 | # | ||
| 3 | # Copyright (c) 2022 Daniel Gomez <daniel@qtec.com> | ||
| 4 | # | ||
| 5 | # Dockerfile to build a bitbake PR service container | ||
| 6 | # | ||
| 7 | # From the root of the bitbake repository, run: | ||
| 8 | # | ||
| 9 | # docker build -f contrib/prserv/Dockerfile . -t prserv | ||
| 10 | # | ||
| 11 | # Running examples: | ||
| 12 | # | ||
| 13 | # 1. PR Service in RW mode, port 18585: | ||
| 14 | # | ||
| 15 | # docker run --detach --tty \ | ||
| 16 | # --env PORT=18585 \ | ||
| 17 | # --publish 18585:18585 \ | ||
| 18 | # --volume $PWD:/var/lib/bbprserv \ | ||
| 19 | # prserv | ||
| 20 | # | ||
| 21 | # 2. PR Service in RO mode, default port (8585) and custom LOGFILE: | ||
| 22 | # | ||
| 23 | # docker run --detach --tty \ | ||
| 24 | # --env DBMODE="--read-only" \ | ||
| 25 | # --env LOGFILE=/var/lib/bbprserv/prservro.log \ | ||
| 26 | # --publish 8585:8585 \ | ||
| 27 | # --volume $PWD:/var/lib/bbprserv \ | ||
| 28 | # prserv | ||
| 29 | # | ||
| 30 | |||
| 31 | FROM alpine:3.14.4 | ||
| 32 | |||
| 33 | RUN apk add --no-cache python3 | ||
| 34 | |||
| 35 | COPY bin/bitbake-prserv /opt/bbprserv/bin/ | ||
| 36 | COPY lib/prserv /opt/bbprserv/lib/prserv/ | ||
| 37 | COPY lib/bb /opt/bbprserv/lib/bb/ | ||
| 38 | COPY lib/codegen.py /opt/bbprserv/lib/codegen.py | ||
| 39 | COPY lib/ply /opt/bbprserv/lib/ply/ | ||
| 40 | COPY lib/bs4 /opt/bbprserv/lib/bs4/ | ||
| 41 | |||
| 42 | ENV PATH=$PATH:/opt/bbprserv/bin | ||
| 43 | |||
| 44 | RUN mkdir -p /var/lib/bbprserv | ||
| 45 | |||
| 46 | ENV DBFILE=/var/lib/bbprserv/prserv.sqlite3 \ | ||
| 47 | LOGFILE=/var/lib/bbprserv/prserv.log \ | ||
| 48 | LOGLEVEL=debug \ | ||
| 49 | HOST=0.0.0.0 \ | ||
| 50 | PORT=8585 \ | ||
| 51 | DBMODE="" | ||
| 52 | |||
| 53 | ENTRYPOINT [ "/bin/sh", "-c", \ | ||
| 54 | "bitbake-prserv \ | ||
| 55 | --file=$DBFILE \ | ||
| 56 | --log=$LOGFILE \ | ||
| 57 | --loglevel=$LOGLEVEL \ | ||
| 58 | --start \ | ||
| 59 | --host=$HOST \ | ||
| 60 | --port=$PORT \ | ||
| 61 | $DBMODE \ | ||
| 62 | && tail -f $LOGFILE"] | ||
