diff --git a/Dockerfile b/cmd/rove-server/Dockerfile similarity index 90% rename from Dockerfile rename to cmd/rove-server/Dockerfile index d5a7e6f..c10803d 100644 --- a/Dockerfile +++ b/cmd/rove-server/Dockerfile @@ -5,7 +5,7 @@ WORKDIR /app COPY . . RUN go mod download -RUN go build -o rove-server -ldflags="-X 'github.com/mdiluz/rove/pkg/version.Version=$(git describe --always --long --dirty --tags)'" . +RUN go build -o rove-server -ldflags="-X 'github.com/mdiluz/rove/pkg/version.Version=$(git describe --always --long --dirty --tags)'" cmd/rove-server/main.go CMD [ "./rove-server" ] diff --git a/main.go b/cmd/rove-server/main.go similarity index 100% rename from main.go rename to cmd/rove-server/main.go diff --git a/docker-compose.yml b/docker-compose.yml index 446dafe..d861789 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,7 +5,7 @@ volumes: services: rove-server: - build: . + image: rove-server:latest ports: - "80:80" command: ./rove-server --port 80 --data=/mnt/rove-server diff --git a/script/build.sh b/script/build.sh new file mode 100755 index 0000000..b0dbdbb --- /dev/null +++ b/script/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -e +cd "$(dirname "$0")" +cd .. +set -x + +# Generate a version string +export VERSION=$(git describe --always --long --dirty --tags) + +# Build and tag as latest and version +docker build -t "rove-server:latest" -t "rove-server:${VERSION}" -f "cmd/rove-server/Dockerfile" . \ No newline at end of file diff --git a/script/test.sh b/script/test.sh index c903697..c27a3ea 100755 --- a/script/test.sh +++ b/script/test.sh @@ -4,8 +4,11 @@ cd "$(dirname "$0")" cd .. set -x +# Build the image +bash script/build.sh + # Build and start the service -docker-compose up --build --detach +docker-compose up --detach # Run tests, including integration tests go mod download