Skip to content

Commit

Permalink
Ensure the docker image is built from a versioned source code archive.
Browse files Browse the repository at this point in the history
Conflicts:
	docker/install-terrain-server.sh
  • Loading branch information
Homme Zwaagstra committed Apr 15, 2015
1 parent 3abb7b8 commit 206901c
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 11 deletions.
7 changes: 4 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
cesium_version:=$(shell cat $(CURDIR)/docker/cesium-version.txt)
checkout:=$(shell cat $(CURDIR)/docker/cts-checkout.txt)
GOFILES:=$(shell find . -name '*.go')

install: $(GOFILES) assets/assets.go
Expand All @@ -13,13 +14,13 @@ assets/assets.go: .go-bindata data
data/smallterrain-blank.terrain:
curl --location --progress-bar https://raw.github.com/geo-data/cesium-terrain-builder/master/data/smallterrain-blank.terrain > data/smallterrain-blank.terrain

docker-local: docker/local/cesium-terrain-server.tar.gz docker/local/Cesium-$(cesium_version).zip
docker-local: docker/local/cesium-terrain-server-$(checkout).tar.gz docker/local/Cesium-$(cesium_version).zip
docker build -t geodata/cesium-terrain-server:local docker

docker/local/Cesium-$(cesium_version).zip: docker/cesium-version.txt
curl --location --progress-bar https://cesiumjs.org/releases/Cesium-$(cesium_version).zip > docker/local/Cesium-$(cesium_version).zip

docker/local/cesium-terrain-server.tar.gz: $(GOFILES) docker/cesium-version.txt Makefile
tar --exclude data/* -czvf docker/local/cesium-terrain-server.tar.gz $(GOFILES) docker/cesium-version.txt Makefile data
docker/local/cesium-terrain-server-$(checkout).tar.gz: $(GOFILES) docker/cts-checkout.txt docker/cesium-version.txt Makefile
git archive HEAD --prefix=cesium-terrain-server-$(checkout)/ --format=tar.gz -o docker/local/cesium-terrain-server-$(checkout).tar.gz

.PHONY: docker-local install
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ ENV GOPATH=/usr/local/go/_vendor:/usr/local/go GOBIN=/usr/local/bin

# Install the terrain server
ADD local/ /tmp/local/
ADD install-terrain-server.sh /tmp/
ADD cts-checkout.txt install-terrain-server.sh /tmp/
RUN /tmp/install-terrain-server.sh

# Install Cesium.js
Expand Down
1 change: 1 addition & 0 deletions docker/cts-checkout.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
master
17 changes: 10 additions & 7 deletions docker/install-terrain-server.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@
# Install the terrain server
#

CTS_DIR=/usr/local/go/src/github.com/geo-data/cesium-terrain-server
# If a local source code archive does not exist, get it from GitHub.
checkout=`cat /tmp/cts-checkout.txt`
archive="/tmp/local/cesium-terrain-server-${checkout}.tar.gz"
if [ ! -f $archive ]; then
wget --no-verbose -O $archive "https://github.com/geo-data/cesium-terrain-server/archive/${checkout}.tar.gz" || exit 1
fi

# Extract the terrain server code
# Set up the source directory
CTS_DIR=/usr/local/go/src/github.com/geo-data/cesium-terrain-server
mkdir -p $CTS_DIR || exit 1
cd $CTS_DIR || exit 1

if [ ! -f /tmp/local/cesium-terrain-server.tar.gz ]; then
git clone https://github.com/geo-data/cesium-terrain-server.git . || exit 1
else
tar -xzvf /tmp/local/cesium-terrain-server.tar.gz || exit 1
fi
# Extract the terrain server code
tar --strip-components=1 -xzf $archive || exit 1

# Build and install the server
make install || exit 1

0 comments on commit 206901c

Please sign in to comment.