Merge pull request #14 from Telenav/feature/docker-orchestration
Telenav osrm-backend docker for development&release
This commit is contained in:
commit
fab977355b
10
docker-orchestration/README.md
Normal file
10
docker-orchestration/README.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Docker Orchestration
|
||||||
|
|
||||||
|
## Docker Images
|
||||||
|
### osrm-backend-dev
|
||||||
|
Base image for telenav osrm-backend development, include all building and running dependencies.
|
||||||
|
See details in [osrm-backend-dev docker](./osrm-backend-dev/).
|
||||||
|
|
||||||
|
### osrm-backend
|
||||||
|
Image within built osrm binaries(`osrm-extract/osrm-partition/osrm-customize/...`) and running dependencies.
|
||||||
|
See details in [osrm-backend docker](./osrm-backend/)
|
||||||
44
docker-orchestration/osrm-backend-dev/Dockerfile
Normal file
44
docker-orchestration/osrm-backend-dev/Dockerfile
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
FROM debian:stretch-slim
|
||||||
|
|
||||||
|
# Install necessary packages for proper system state
|
||||||
|
RUN DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||||
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
tmux \
|
||||||
|
vim \
|
||||||
|
git \
|
||||||
|
libboost-all-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libtbb-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libzip-dev \
|
||||||
|
lua5.2 \
|
||||||
|
liblua5.2-dev \
|
||||||
|
libluabind-dev \
|
||||||
|
pkg-config
|
||||||
|
|
||||||
|
# install go
|
||||||
|
RUN wget --progress=dot:mega https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz && \
|
||||||
|
tar -zxf go1.12.5.linux-amd64.tar.gz && \
|
||||||
|
mv go /usr/local/ && \
|
||||||
|
rm -f go1.12.5.linux-amd64.tar.gz && \
|
||||||
|
mkdir -p /workspace/go/bin /workspace/go/src /workspace/go/pkg
|
||||||
|
|
||||||
|
# set env
|
||||||
|
ENV GO_HOME=/usr/local/go
|
||||||
|
ENV PATH=${GO_HOME}/bin/:$PATH
|
||||||
|
ENV GOPATH=/workspace/go
|
||||||
|
|
||||||
|
# install thrift 0.12.0 go pkg
|
||||||
|
RUN cd /workspace/go && \
|
||||||
|
mkdir -p src/github.com/apache && \
|
||||||
|
cd src/github.com/apache && \
|
||||||
|
git clone -b 0.12.0 https://github.com/apache/thrift.git && \
|
||||||
|
cd thrift && \
|
||||||
|
git branch && \
|
||||||
|
cd /workspace/go && \
|
||||||
|
go install github.com/apache/thrift/lib/go/thrift
|
||||||
|
|
||||||
9
docker-orchestration/osrm-backend-dev/README.md
Normal file
9
docker-orchestration/osrm-backend-dev/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# osrm-backend-dev docker
|
||||||
|
|
||||||
|
## Build Image
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ cd docker-orchestration/osrm-backend-dev
|
||||||
|
$ DOCKER_BUILDKIT=1 docker build -t telenav/osrm-backend-dev .
|
||||||
|
|
||||||
|
```
|
||||||
46
docker-orchestration/osrm-backend/Dockerfile
Normal file
46
docker-orchestration/osrm-backend/Dockerfile
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
|
||||||
|
|
||||||
|
FROM wangyoucao577/osrm-backend-dev as builder
|
||||||
|
ARG BRANCH_NAME=master-telenav
|
||||||
|
|
||||||
|
RUN echo "Building branch ${BRANCH_NAME}" && \
|
||||||
|
git clone -b ${BRANCH_NAME} https://github.com/Telenav/osrm-backend.git && \
|
||||||
|
mkdir -p osrm-backend/build && \
|
||||||
|
cd osrm-backend/build && \
|
||||||
|
cmake .. -DENABLE_LTO=On && \
|
||||||
|
cmake --build . -- -j && \
|
||||||
|
mkdir /osrm-build && \
|
||||||
|
cp /osrm-backend/build/osrm* /osrm-build/ && \
|
||||||
|
cp -r /osrm-backend/profiles /osrm-build/
|
||||||
|
|
||||||
|
|
||||||
|
FROM wangyoucao577/osrm-backend-dev as gobuilder
|
||||||
|
ARG BRANCH_NAME=master-telenav
|
||||||
|
|
||||||
|
WORKDIR /workspace/go
|
||||||
|
RUN echo "Building branch ${BRANCH_NAME}" && \
|
||||||
|
mkdir -p src/github.com/Telenav && \
|
||||||
|
cd src/github.com/Telenav && \
|
||||||
|
git clone -b ${BRANCH_NAME} https://github.com/Telenav/osrm-backend.git && \
|
||||||
|
cd ../../../ && \
|
||||||
|
if [ -d "src/github.com/Telenav/osrm-backend/traffic_updater/go/osrm_traffic_updater" ]; then \
|
||||||
|
go install github.com/Telenav/osrm-backend/traffic_updater/go/gen-go/proxy && \
|
||||||
|
go install github.com/Telenav/osrm-backend/traffic_updater/go/osrm_traffic_updater && \
|
||||||
|
ls -lh bin/ \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
|
||||||
|
FROM debian:stretch-slim as runstage
|
||||||
|
|
||||||
|
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libboost-program-options1.62.0 libboost-regex1.62.0 \
|
||||||
|
libboost-date-time1.62.0 libboost-chrono1.62.0 libboost-filesystem1.62.0 \
|
||||||
|
libboost-iostreams1.62.0 libboost-thread1.62.0 expat liblua5.2-0 libtbb2 && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN mkdir /osrm-build
|
||||||
|
|
||||||
|
COPY --from=builder /osrm-build /osrm-build/
|
||||||
|
COPY --from=gobuilder /workspace/go/bin /osrm-build/
|
||||||
|
|
||||||
|
|
||||||
14
docker-orchestration/osrm-backend/README.md
Normal file
14
docker-orchestration/osrm-backend/README.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# telenav osrm-backend docker
|
||||||
|
|
||||||
|
## Build Image
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ cd docker-orchestration/osrm-backend
|
||||||
|
|
||||||
|
# build source from default branch master-telenav
|
||||||
|
$ DOCKER_BUILDKIT=1 docker build -t telenav/osrm-backend .
|
||||||
|
|
||||||
|
# build source from specified branch, e.g. feature/telenav-import-internal-pbf
|
||||||
|
$ DOCKER_BUILDKIT=1 docker build -t telenav/osrm-backend:telenav-import-internal-pbf --build-arg BRANCH_NAME=feature/telenav-import-internal-pbf .
|
||||||
|
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue
Block a user