image: golang:latest stages: - build - test - deploy before_script: - mkdir -p /go/src/dev.sum7.eu/$CI_PROJECT_NAMESPACE/ - cp -R /builds/$CI_PROJECT_PATH /go/src/dev.sum7.eu/$CI_PROJECT_NAMESPACE/ - cd /go/src/dev.sum7.eu/$CI_PROJECT_PATH - go get -d -t ./... build-my-project: stage: build script: - go install dev.sum7.eu/$CI_PROJECT_PATH - mv /go/bin/$CI_PROJECT_NAME /builds/$CI_PROJECT_PATH artifacts: paths: - config_example.conf - $CI_PROJECT_NAME test-my-project: stage: test script: - go get github.com/client9/misspell/cmd/misspell - misspell -error . - ./.ci/check-gofmt - ./.ci/check-testfiles - go test $(go list ./... | grep -v /vendor/) -v -coverprofile .testCoverage.txt artifacts: paths: - .testCoverage.txt test-race-my-project: stage: test script: - go test -race ./... deploy: stage: deploy only: - master script: - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - scp -6 /builds/$CI_PROJECT_PATH "$CI_PROJECT_NAME@apus.h.sum7.eu":/opt/$CI_PROJECT_NAME/bin - ssh -6 "$CI_PROJECT_NAME@apus.h.sum7.eu" /usr/bin/systemctl restart $CI_PROJECT_NAME