ci auto deploy

This commit is contained in:
Martin/Geno 2019-02-28 15:16:30 +01:00
parent 58b2679492
commit d52e2d84a6
No known key found for this signature in database
GPG Key ID: 9D7D3C6BFF600C6A
1 changed files with 20 additions and 7 deletions

View File

@ -2,22 +2,23 @@ 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
- 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
- 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
- "$CI_PROJECT_NAME"
test-my-project:
stage: test
@ -26,7 +27,7 @@ test-my-project:
- misspell -error .
- ./.ci/check-gofmt
- ./.ci/check-testfiles
- go test $(go list ./... | grep -v /vendor/) -v -coverprofile .testCoverage.txt
- go test "$(go list ./... | grep -v /vendor/)" -v -coverprofile .testCoverage.txt
artifacts:
paths:
- .testCoverage.txt
@ -35,3 +36,15 @@ test-race-my-project:
stage: test
script:
- go test -race ./...
deploy:
stage: deploy
only:
- master
script:
- go install "dev.sum7.eu/$CI_PROJECT_PATH"
- '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 -P $SSH_PORT "/go/bin/$CI_PROJECT_NAME" "$CI_PROJECT_NAME@$SSH_HOST":/opt/$CI_PROJECT_NAME/bin
- ssh -6 -p $SSH_PORT "$CI_PROJECT_NAME@$SSH_HOST" sudo /usr/bin/systemctl restart $CI_PROJECT_NAME