Files
kalorienmanager/.gitlab-ci.yml
T
2019-09-05 09:28:46 +02:00

61 lines
1.4 KiB
YAML

stages:
- build
- test
- deploy
before_script:
- go get -u github.com/jstemmer/go-junit-report
- go get -u github.com/t-yuki/gocover-cobertura
Create Documentation:
stage: build
script:
- chmod +x docs/gradlew
- cd docs; ./gradlew asciidoctor
artifacts:
paths:
- docs/build/asciidoc/pdf/kalorienmanager.pdf
Compile Go Application:
stage: build
script: make build
Test Go Application:
stage: test
script:
- make test
- GOPATH=$HOME/go go test -v ./... 2>&1 | /home/gitlab-runner/go/bin/go-junit-report > report.xml
- GOPATH=$HOME/go go vet ./...
artifacts:
reports:
junit: report.xml
Deploy To Staging:
stage: deploy
script:
- make build
- sudo service kalorienmanager stop
- rsync -av templates kalorienmanager:/home/kalorienmanager/staging
- rsync -av bin/kalorienmanager kalorienmanager:/home/kalorienmanager/staging
- sudo service kalorienmanager start
environment:
name: staging
only:
- master
Deploy to Production:
stage: deploy
script:
- make build
- echo "ansible-playbook kalorienmanager-ansible.yml"
- sudo service kalorienmanager stop
- rsync -av templates kalorienmanager:/home/kalorienmanager/production
- rsync -av bin/kalorienmanager kalorienmanager:/home/kalorienmanager/production
- sudo service kalorienmanager start
environment:
name: production
only:
- master
when: manual