Add automatic Docker image build and push

This commit is contained in:
Torin Sandall
2016-11-09 11:49:39 -08:00
parent 2c9e60c623
commit 9d34061ced
3 changed files with 44 additions and 3 deletions
+22 -3
View File
@@ -1,5 +1,24 @@
sudo: required
language: go
env:
global:
- secure: hqXso0qAPRWKHIRqDFsLAa26fQX33fifTGasVQ92o1ApxgSz6b1lTAwNKn+VBpdoKjcP78B/P7mCgSsuV3TpahvkZVr0gKq8L7OdyKYIV5/DwTHQw7iMRPUaC7Cfo3vFDpilOUwt2suiWV8yg5o1bAwXZ+u68kYfz5V3ZlUE25agoo9NIBBYtPWpqn5NGMnnxekSfgnQUfRq0iXZpNMKHNCMhkkA575SfStcnMPVTZVWKnHD3c0ST9OiCaN5ImowoQLWf669WC8gAd1Em4dtkbQd1YF4pdqWk4DZvmGyxqmuLyeo9VDjimp+EcB0rWhyyf/2QQEKi1G1iXd4s3cxfveYm2g2khm3mHvZ0MhlE2nw15j4FAdJdiXHidNK+VBqi06TUu9KuV1CLV/Ml9SdhiwyhXgwNvZiSvQ9mvSNuNOGaEw8Aa35pcdU8+LO22tzS8NU23rTEcd+uTqWHqNG45eN4a7VxMiqQ2dDjv7Uh95YGjzh5Ex0VvcYDH2emszXAmWBq93gY5cjOtiEP1N0Ey/q72+RDE39Hd904IsmeeSPcoWcCcZounT3raEPA4YnsP4MatZdyWsEXxaqmzxUoSIwA8qlYAtD99UPaXCr8SahWPzll5lSldiOJqdjtvcp+w6+x1pANdTv+megLyHryDlfpu5CwTG7Tm32Fiv7OOs=
- secure: M41h0yMdC/klq6destS/tABpxdKJaYj1CAPfh0LwT+h7mPv1sO0k8f3N74pkxeOT57iFq/H7qt4hpYYQN7kjOUWm4wJnoI6aWY5zzyQpoXKTNcjQOylCysbULyKVXVDhW69d+QkpEW8D+ppbjHMQhVTw3MuhT805b+j/MFaIKHd/qMzVBFNWvI6xz1fwbP/o7lqhcLzuKewGxnwCvJ0+gPhO5ncCsh+yfu2v8ff70h0PS25SH/6aTHAY5SB5OzxTSIwXfE0qzr4QIas0iQ1o6woqZS39nQ7m5ifSrkobO3mdD1+9l8RSfAXRptwpodNJaMOA68Z4FK1lV1Kvxx78CCQrelVtZFdh68wRZJ1bJuNqUs5HbJw9tsQ7qxv7aYEwZ9ooVH+MzZokAQZ4Ee/BxHbCTDivqgAdhzJsW8Q/trHoMc9kCzE37rT43VjqbQpdYHcHSXX4GjKN8zgOMp8cIYfdH6zchItbiZGcZbnVaAoqFxTA4a1cCw6Hpcd5Cj4s09cYYCCdOBfo5XmSBbFzU5ECdO/7qULAYeIAr1cSX+7bB5t0p/F/j5BJiDOxEVbcnJpoG8pzV6INvblgJ75eGxr6uCwi/hFMLlVbPWVBy6QP8Np5lo8+W1/VKTKI8QK/ZQdby8yhyJQ4ttdoGJfC6ER9N3J6rqwCw3dWTPx+M/A=
- secure: O4yBjNl0TgbZC1YyCpP7yVhNtmfBMs+npdb5rDOC0r+VtKND0qB09z/Qyuqg+iey6HfBVNJLl+s5BsrgRTDM6xbF3pcwHUeKp+TSjeX3vbLJNscolyBn8kkx1Q+mSwb5+e810zBYqr8sVl28f04WCxzdHYo+G16haz1BIYa3xT7kGRCSftZbzxR9PUrJhb9e6ai8njCwrdA8OKL1O08zU3r2t5J3WDKuIPsbF0HWmB08ZqnSI2JtCLibcMHXJtJyWCI9tCDNeSjOUrO59jqjtT58zLtPAph8sT78HGxHxT6vtHK/S/qtr/MUYU3zM9SLgqDwfOeQmJ1QB+0BlvxweAdiyVCDGIa8lz2U2YhK/XlklelWBbWuMfIGEm8P/T2zNUhHgQI8TJd1KXR1NxAcOIZJq7k2qkFFINOTz+PXnbGjS0YVmkEVayAwqXo5vBRVEQ/Iv9oEeJYBJXZ998XtsA3EgK78vYNppigYM0hHMlBMRZzPq3s4zX2MFFF64hAP+yORwFrPAGexYxiG4gyfjRcFlDJXT4NSiMz77WkiPa7w+nnCAe60Zq49lSXchMmOie/F/BWAsLtG3sA5Q7qq0VbY46rob+qZ2FYKSu1zj2VHK19OFB9v5RVKTpFE51x4uKlAFDkMeopCFBvJE02Wco7598qjkcj9WNCsvbdTZUQ=
services:
- docker
go:
- 1.6
- 1.7
after_success: make perf-regression
- 1.6
- 1.7
after_success:
- make perf-regression
- if [[ is_travis_push_env -eq 1 ]]; then docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS; fi
- if [[ is_travis_push_env -eq 1 ]]; then make image-quick; fi
- if [[ is_travis_push_env -eq 1 ]]; then make push; fi
- if [[ is_travis_push_env -eq 1 ]]; then make tag-latest; fi
- if [[ is_travis_push_env -eq 1 ]]; then make push-latest; fi
+9
View File
@@ -51,12 +51,21 @@ build: generate
image:
@$(MAKE) build GOOS=linux
@$(MAKE) image-quick
image-quick:
sed -e 's/GOARCH/$(GOARCH)/g' Dockerfile.in > .Dockerfile_$(GOARCH)
docker build -t $(IMAGE):$(VERSION) -f .Dockerfile_$(GOARCH) .
push:
docker push $(IMAGE):$(VERSION)
tag-latest:
docker tag $(IMAGE):$(VERSION) $(IMAGE):latest
push-latest:
docker push $(IMAGE):latest
install: generate
$(GO) install -ldflags $(LDFLAGS)
+13
View File
@@ -19,3 +19,16 @@ function opa::go_files_in_package() {
echo $dir/$file
done
}
function is_travis_push_env() {
if [ "$TRAVIS_GO_VERSION" != "1.7" ]; then
return 0
fi
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
return 0
fi
return 1
}