Merge branch 'derhuerst-docker-image'

This commit is contained in:
Patrick Brosi 2020-12-02 19:27:17 +01:00
commit 5d2bb9bbfd
5 changed files with 72 additions and 19 deletions

4
.dockerignore Normal file
View file

@ -0,0 +1,4 @@
/build
/Dockerfile
/push-docker-image.sh

View file

@ -1,33 +1,37 @@
language: cpp language: cpp
os: os:
- linux - linux
- osx - osx
compiler: compiler:
- gcc - gcc
- clang - clang
addons: addons:
apt: apt:
sources: sources:
- ubuntu-toolchain-r-test - ubuntu-toolchain-r-test
packages: packages:
- cmake - cmake
before_install: before_install:
- export LD_LIBRARY_PATH=$(if [[ $CXX == "clang++" ]]; then echo -n '/usr/local/clang/lib'; fi) - export LD_LIBRARY_PATH=$(if [[ $CXX == "clang++" ]]; then echo -n '/usr/local/clang/lib';
fi)
before_script: before_script:
- mkdir build - mkdir build
- cd build - cd build
- cmake .. - cmake ..
script: script:
- make -j4 - make -j4
- ctest --verbose - ctest --verbose
- docker build -t ad-freiburg/pfaedle .
deploy:
on:
branch: master
provider: script
script: bash push-docker-image.sh
notifications: notifications:
email: email:
on_success: never on_success: never
on_failure: always on_failure: always
env:
global:
- secure: W60bRWv9u28UFjmt1iO5ELtPBvUNkAPqiwwxd+boy7BazAJ0fUUBZoEpnsgv8pqKWJV6VMUvknP4taU5a6NM+3aRHuCZOjVC42Rs8oDGJoXrhmH9ZzOOp2nDnHy9hqrtRKJrYQUww+s7UjBpWcaorqHvo5iWNrt9OulKM+V2u6IQI3xI1bPoaVhK/EnHHFAWe52v0KOkaSjguL5zj7xZqCeaZKmX9PsiQdqQJVtX2zsdF/aDkDvhkAl4SxeVKrFEVDV4gPx7yqGC/uQ6YJrQXigqpWWL6oZ1cxsg2HWqLZyAYN8tIWcnaAW8+PVYLfH1iTDb6fnokD4DPpVfULz4dzqOnTuG+Qd97U2BVDJN+LdxK2d8RZ1KLAWNbFGBlkY/8zpMAtV/xhGk2vHg/pj6ZPUPncNlOzUepASw5yCY7H6SOH1NgzNNSn+Fg3Q+6eUoYWp5jrpejBcwO/tikRCfGOSNyEKTC+1joRNwySeLjTcLDcaO3+EJL64YjIKW1+YwVFopq5DKRhzjSyO+dUryA5+l+nT499BC9dxA7SvQ/tLwMs3uPlVhSDUvkH6DxiWIJQEYmTZIEA4JmLjdBFDB9FaApubvn5wRIlL07Dbq+t3XxMciWeLU3H2IQzlGPQpIbqB93L8yc6eH5Fq2Gu4HN5lmpJC3ZLpZOEqNk1kcFzo=
- secure: b10JKrMacKD+C8yGHPiOYP84ykXqBFiwm2wkcKn9SkGO6bDCtRIM+/eYMN64wQVD54Vwc/rfxqCRN6ckdAgw1zrtBdlRLz1krdwsdb7RuXJvTTTu3bd8CrtlsvcVh40vcItcFAQQKhKrPF/iDajbXm4GaVcoiqV8i8inhhfg063guC22o3D76J3xFmwyhNGv0QZuK7xG0O2h+mflU/LE8FuXrVO4+1QmvwJ9JRgBnz5F8jrEuZWipp3gJBVnpYHv4ZAy5r52zQ3iPEkji7Y6/GjvxYnjc08QM998I3SSlUuW4quiEPJFTGxK9w/UV34c0DJhzluJ3TGTz+RkhejIDUcNiKqFKWZCzCwzcx5f96RmTh7MTHulB7zTkK0hzSSPFjrYrRrkN/FCwMrHaLs1H3SQbXiB2Ga2pnfaOVfCbM5KraZHlk2xHUIqVHkhyetETBW76d4g6vxjNoe++siyx+eUW2VMj7Y+6c1HQPceGi+jpl9pJK6ZXKfVpfWjFj29qqnv7lNjoI3PXGllswDV4KxP/A5A4MBqHAcVOFEdTro5EReUhepyNYM7lUaS//Wa6DzE6US13bVpIr4fC+bKUf8XizfGp+f9TSc+Shl0J6asejxIbgQRCopTJd805xAFoCsoK1yt/sZIplBO/mjaBjLc9Y1+A04VH5FQWl92rHQ=

25
Dockerfile Normal file
View file

@ -0,0 +1,25 @@
FROM debian:buster-slim AS builder
WORKDIR /app
RUN apt-get update && \
apt-get install -y g++ cmake git
ADD . /app
RUN mkdir build && \
cd build && \
cmake .. && \
make -j && \
pwd && \
make install
FROM debian:buster-slim
RUN apt-get update && \
apt-get install -y libgomp1 && \
rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/local/etc/pfaedle /usr/local/etc/pfaedle
COPY --from=builder /usr/local/bin/pfaedle /usr/local/bin/pfaedle
ENTRYPOINT ["/usr/local/bin/pfaedle"]

View file

@ -75,6 +75,20 @@ input GTFS feed and the input configuration.
This can be used to avoid parsing (for example) the entire `planet.osm` on each This can be used to avoid parsing (for example) the entire `planet.osm` on each
run. run.
## via Docker
You can use the [`ad-freiburg/pfaedle` Docker image](https://hub.docker.com/repository/docker/ad-freiburg/pfaedle) by mounting the OSM & GTFS data into the container:
```shell
docker run -i --rm \
# mount OSM data
--volume /path/to/osm/data:/osm \
# mount GTFS data
--volume /path/to/gtfs/data:/gtfs \
# tell pfaedle where to find the data
pfaedle -x /osm/osm-data.xml -i /gtfs
```
## Debugging ## Debugging
The following flags may be useful for debugging: The following flags may be useful for debugging:

6
push-docker-image.sh Normal file
View file

@ -0,0 +1,6 @@
#!/bin/sh
set -ex
set -o pipefail
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
docker push adfreiburg/pfaedle