From 3e14cc303122e2c5e897e9a576c475667e524c33 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Sat, 18 Nov 2017 11:54:41 +0100 Subject: [PATCH] Added Dockerfile integration --- .travis.yml | 9 +++++++++ Dockerfile.amd64 | 9 +++++++++ Dockerfile.arm | 9 +++++++++ Makefile | 6 +++++- 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 Dockerfile.amd64 create mode 100644 Dockerfile.arm diff --git a/.travis.yml b/.travis.yml index 7ee1b75..874ab1a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,8 @@ language: go go: - 1.9 +services: + - docker install: - . $HOME/.nvm/nvm.sh - nvm install stable @@ -9,6 +11,9 @@ install: script: - make - goveralls -service=travis-ci -ignore="handlers/static.go,handlers/tmpls/tmpls.go" + - make buildDockerImage + - docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"; + - docker push USER/REPO; deploy: provider: bintray user: maxibanki @@ -18,3 +23,7 @@ deploy: notifications: webhooks: - https://ws.b0n.pl/relaunch +env: + global: + - secure: "W6rdGN9tavB0DdzWcZ+2oKbodszrpUfodg0rbdRfA97ho3xwrRDtogzascSdu7tGXyN2w39CRtp+yY8i4+BJGqFl58m2qoWKOR/XBeAVzvZ093TQOBEPSOggIPgzpyGF+VgH9MOE4kPUViRKPMM0HGRs7Vq8ts9mGaNO9cX7tNr2QoRUpiHuNLZ18nKn25yZ/8kclL8KDz9UDD/sCCC+PLyvXCJsXEnKaJq/bLAPj/uo3kF5A8SJIN3agOQH/TQObycN4uyvo1XTFTSab0X3S78muEsRAY3zH4fHvEHwzuuCTITEwLna3KbAAKl5HCWP6o32ECLFyTsLWqoiSJjEEkvHS++SpK2JNWxq4K83riDhnzEofpeLlHb9FXXbD59En3Pc2OEAT7Zbf4OSdObF2AA80y28tYUAreo15YD6jNWALcac2x1ZRIKUH1drBByVZaFRpLM2aklPZvDuQXM7T1HmyTwhZzGYue03sg/XUcknmq9AoKukU8DlOxv9fydVzoq4tZhUEbjSii8kuiPU/EffT+hZVe0FyUZtnq7mQxcr+aXUIQqKlWDiUcQUWtb7BpQunqvdMg0lbxdaTFtpn+f8B3tPVAdKrxEsFTlhlYNNEsA4renhbPPLN5Qd0EMFi05Rf4QpLiB76E97m8BB9odaCtwVOoC7XKTX+kG/V40=" + - secure: "hp+ghJqS4+ElM/mk0W/8L9JUoapFttkyhCBaWdwQSthj3pSpc5m54HqxOSIvFQREMUW6x/Q70CLx0IHR8D7EqtlJ/CD4HsiYLVNtB3I+05sXLJ/qLPh3HhJ0X7bLWkb5ti5b4hRSGUgeMRqbJOOS9qcJbUb05+3HxPpK761GYzgUy1zPqsL0BnEkaUVD460H9loK5MfYLJ19M2IfVu0Ls84E3s3dfPgnmxrnjH9jq8c3TyE5sI4QqIRpcwXP2zr3xQNxaYWqXQTqcz1ni5dU7YS4nikHAeu6lAVjAsN5wI5NqZXsSutxvj3BE0nGijaQjGmJBMAsOooNZmJw9ZvK/ohU8o43v4u2HMytrYla5ziRzlXn2dqBRCPu++r1UrMj1AM0d8f8lmO4e4xt5QiVlLdwWag2/uVxg9piChJLpDjBP5MRt7q4vi3S2jG+P6I23loV9e+WUCFykpcEFsfD/T7MyYKDIWDzPrLGSRSBZbl1Czbi6c7myApQGnoW9s/ZVTEzJvInbzv79jefxKCFMkLZkI3vnFXf2Ef/2nSAMGmNpB6ZVmSkXKPWeMWVICakco1/GhWAYxtLsdlW9iYJZrQfOa1vOpBpvh7eoX+rqLtfIrqwrwvH8O8MmXEllz52eXnhjpdDbB9p5usiH+wzrgDCcjAmeE8OPVvkEzh0hEY=" diff --git a/Dockerfile.amd64 b/Dockerfile.amd64 new file mode 100644 index 0000000..77cd20a --- /dev/null +++ b/Dockerfile.amd64 @@ -0,0 +1,9 @@ +FROM scratch + +MAINTAINER Max Schmitt + +EXPOSE 8080 + +COPY releases/golang-url-shortener_linux_amd64/golang-url-shortener / + +CMD ["/golang-url-shortener"] diff --git a/Dockerfile.arm b/Dockerfile.arm new file mode 100644 index 0000000..10ff030 --- /dev/null +++ b/Dockerfile.arm @@ -0,0 +1,9 @@ +FROM scratch + +MAINTAINER Max Schmitt + +EXPOSE 8080 + +COPY releases/golang-url-shortener_linux_arm/golang-url-shortener / + +CMD ["/golang-url-shortener"] diff --git a/Makefile b/Makefile index a4f49d3..5751df6 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,10 @@ getGoDependencies: buildProject: @mkdir releases - gox -output="releases/{{.Dir}}_{{.OS}}_{{.Arch}}/{{.Dir}}" + gox -output="releases/{{.Dir}}_{{.OS}}_{{.Arch}}/{{.Dir}}" -osarch="linux/amd64 linux/arm windows/amd64 windows/386" find releases -maxdepth 1 -mindepth 1 -type d -exec cp build/config.yaml {} \; find releases -maxdepth 1 -mindepth 1 -type d -exec tar -cvjf {}.tar.bz2 {} \; + +buildDockerImage: + rm -rf releases/* + CGO_ENABLED=0 gox -output="releases/{{.Dir}}_{{.OS}}_{{.Arch}}/{{.Dir}}" -osarch="linux/amd64 linux/arm" \ No newline at end of file