2018-02-16 03:16:20 +05:30
|
|
|
sudo: required
|
|
|
|
|
|
|
|
language: go
|
|
|
|
go:
|
|
|
|
- 1.9
|
|
|
|
|
|
|
|
services:
|
|
|
|
- docker
|
|
|
|
|
|
|
|
stages:
|
|
|
|
- test
|
2018-02-16 23:28:29 +05:30
|
|
|
- name: deploy
|
|
|
|
if: branch = master OR tag IS present
|
2018-02-16 03:16:20 +05:30
|
|
|
|
2018-02-16 23:28:29 +05:30
|
|
|
install:
|
2018-02-16 03:16:20 +05:30
|
|
|
- go get -u github.com/golang/dep/cmd/dep
|
2018-02-16 23:28:29 +05:30
|
|
|
- dep ensure
|
2018-02-16 03:16:20 +05:30
|
|
|
|
|
|
|
jobs:
|
|
|
|
include:
|
|
|
|
- stage: test
|
|
|
|
script:
|
2018-02-16 23:28:29 +05:30
|
|
|
- go test -v -race ./...
|
|
|
|
- stage: deploy
|
2018-02-16 03:16:20 +05:30
|
|
|
script:
|
|
|
|
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
|
2018-02-16 23:28:29 +05:30
|
|
|
- export DOCKER_TAG="${TRAVIS_TAG:-dev}"
|
|
|
|
- export APP_VERSION="${TRAVIS_TAG:-dev-${TRAVIS_COMMIT:0:7}}"
|
2018-02-16 03:16:20 +05:30
|
|
|
- >
|
2018-02-17 03:55:24 +05:30
|
|
|
env CGO_ENABLED=0 GOOS=linux GOARCH=amd64
|
2018-02-16 03:16:20 +05:30
|
|
|
go build
|
|
|
|
-o release/chrly
|
2018-02-17 03:44:43 +05:30
|
|
|
-ldflags '-extldflags "-static" -X github.com/elyby/chrly/bootstrap.version=$APP_VERSION'
|
2018-02-16 03:16:20 +05:30
|
|
|
main.go
|
2018-02-16 23:28:29 +05:30
|
|
|
- docker build -t elyby/chrly:$DOCKER_TAG .
|
|
|
|
- docker push elyby/chrly:$DOCKER_TAG
|
|
|
|
- |
|
2018-02-17 04:51:03 +05:30
|
|
|
if [ ! -z ${TRAVIS_TAG+x} ] && [[ "$TRAVIS_TAG" != *"-"* ]]; then
|
2018-02-16 23:28:29 +05:30
|
|
|
docker tag elyby/chrly:$DOCKER_TAG elyby/chrly:latest
|
|
|
|
docker push elyby/chrly:latest
|
|
|
|
fi
|