From 473071b929170a370c3f3427f7c32e6f43cfa520 Mon Sep 17 00:00:00 2001 From: Vladimir Hodakov Date: Fri, 22 Feb 2019 05:37:43 +0400 Subject: [PATCH] Add build via Gitlab CI --- .gitlab-ci.yml | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ golangci.yaml | 4 ++++ 2 files changed, 55 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 golangci.yaml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..ba820aa --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,51 @@ +image: lab.wtfteam.pro:4567/containers/golangci-lint + +stages: + - test + - build + - deploy + +before_script: + - go version + - mkdir -p $GOPATH/src/lab.wtfteam.pro/fat0troll/ + - ln -s $(pwd) $GOPATH/src/lab.wtfteam.pro/fat0troll/fw_zookeeper + - cd $GOPATH/src/lab.wtfteam.pro/fat0troll/fw_zookeeper + - apk add --no-cache gcc libc-dev + +lint: + stage: test + script: + - pwd + - golangci-lint run + +test: + stage: test + script: + - pwd + - go test -test.v -cover `go list ./... | grep -v examples | grep -v internal` + +build: + stage: build + script: + - pwd + - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -tags netgo -ldflags '-w -extldflags "-static"' + artifacts: + untracked: true + expire_in: 4 hours + paths: + - fw_zookeeper + +deploy: + stage: deploy + only: + - master + before_script: + - apk add --no-cache openssh-client + - mkdir -p ~/.ssh + - echo "$DEPLOY_KEY" | tr -d '\r' > ~/.ssh/id_rsa + - chmod 600 ~/.ssh/id_rsa + - eval "$(ssh-agent -s)" + - ssh-add ~/.ssh/id_rsa + - ssh-keyscan -H $DEPLOY_HOST >> ~/.ssh/known_hosts + script: + - scp fw_zookeeper $DEPLOY_USER@$DEPLOY_HOST:/usr/local/bin/ diff --git a/golangci.yaml b/golangci.yaml new file mode 100644 index 0000000..b729915 --- /dev/null +++ b/golangci.yaml @@ -0,0 +1,4 @@ +run: + deadline: 5m +linters: + enable-all: true