I want to encapsulate my golang unit testing in a docker-compose script because it depends on several external services. My application has quite a lot of dependencies, so it takes a while to go get
.
How can I cache packages in a way that allows the docker container to build without having to download all dependencies every time I want to test?
My Dockerfile:
FROM golang:1.7
CMD ["go", "test", "-v"]
RUN mkdir -p /go/src/app
WORKDIR /go/src/app
COPY . /go/src/app
RUN go-wrapper download
RUN go-wrapper install
Every time I want to run my unit tests I run docker-compose up --build backend-test
on the following script:
version: '2'
services:
...
backend-test:
build:
context: .
dockerfile: Dockerfile
image: backend-test
depends_on:
...
But now go-wrapper download
is called each time I want to run the tests and it takes a looong time to complete.
Solutions? Thanks in advance!
Aucun commentaire:
Enregistrer un commentaire