geekbot/.gitlab-ci.yml

69 lines
1.8 KiB
YAML
Raw Normal View History

2018-08-28 22:32:24 +02:00
stages:
- build
2020-06-19 22:20:05 +02:00
- docker
2018-08-28 22:32:24 +02:00
- deploy
2020-06-19 22:20:05 +02:00
- ops
2018-08-28 22:32:24 +02:00
2020-06-19 22:20:05 +02:00
Build:
2018-08-28 22:32:24 +02:00
stage: build
2020-06-19 22:19:26 +02:00
image: mcr.microsoft.com/dotnet/core/sdk:5.0-focal
2018-08-28 22:32:24 +02:00
artifacts:
expire_in: 1h
paths:
2020-06-19 22:20:05 +02:00
- app
2018-08-28 22:32:24 +02:00
script:
- dotnet restore
2018-08-28 22:32:24 +02:00
- dotnet test Tests
2020-06-19 22:20:05 +02:00
- dotnet publish --version-suffix ${CI_COMMIT_SHA:0:8} -r linux-x64 -c Release -o ./app ./Geekbot.net/
2018-08-28 22:32:24 +02:00
2020-06-19 22:20:05 +02:00
Package:
stage: docker
image: docker
# only:
# - master
services:
- docker:stable-dind
variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker build -t $IMAGE_TAG .
- docker push $IMAGE_TAG
2020-06-19 22:20:05 +02:00
Deploy:
2018-08-28 22:32:24 +02:00
stage: deploy
2018-08-29 22:49:13 +02:00
image: runebaas/rsync-ssh-git
2018-08-28 22:32:24 +02:00
only:
- master
environment:
name: Production
url: https://discordapp.com/oauth2/authorize?client_id=171249478546882561&scope=bot&permissions=1416834054
before_script:
- eval $(ssh-agent -s)
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n StrictHostKeyChecking no" > ~/.ssh/config'
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
- chmod 700 ~/.ssh
script:
2019-02-13 01:06:05 +01:00
- rsync -rav -e "ssh -p 65432" ./Geekbot.net/Binaries/* geekbot@$DEPIP:$DEPPATH
- ssh -p 65432 geekbot@$DEPIP "sudo systemctl restart geekbot.service"
2018-08-28 22:32:24 +02:00
2020-06-19 22:20:05 +02:00
Sentry:
stage: ops
image: getsentry/sentry-cli
allow_failure: true
only:
- master
script:
- sentry-cli releases new -p geekbot 4.2.0-${CI_COMMIT_SHA:0:8}
- sentry-cli releases set-commits --auto 4.2.0-${CI_COMMIT_SHA:0:8}
- sentry-cli releases deploys 4.2.0-${CI_COMMIT_SHA:0:8} new -e Production
Github Mirror:
stage: ops
2018-08-29 22:49:13 +02:00
image: runebaas/rsync-ssh-git
2018-08-28 22:32:24 +02:00
only:
- master
script:
- git push https://runebaas:$TOKEN@github.com/pizzaandcoffee/Geekbot.net.git origin/master:master -f