infoscreen/.drone.yml

105 lines
2.0 KiB
YAML

kind: pipeline
type: docker
name: build
trigger:
event:
- push
steps:
- name: tag-image
image: alpine
commands:
- echo '${DRONE_COMMIT:0:8},latest' > .tags
- name: clone-submodules
image: alpine/git
environment:
SSH_KEY:
from_secret: ssh_git_key
commands:
- mkdir -p /root/.ssh
- echo "$${SSH_KEY}" > /root/.ssh/id_rsa
- chmod 600 /root/.ssh/id_rsa
- ssh-keyscan github.com > /root/.ssh/known_hosts
- ssh-keyscan git.c0ntroller.de >> /root/.ssh/known_hosts
- git submodule update --init --recursive
- name: secrets
image: alpine
environment:
SECRETS_JSON:
from_secret: secrets_json
commands:
- echo "$${SECRETS_JSON}" > secrets.json
- name: build-image
image: plugins/docker
settings:
username:
from_secret: docker_user
password:
from_secret: docker_token
registry:
from_secret: registry_host
repo:
from_secret: local_repo
insecure: true
---
kind: pipeline
type: ssh
name: deploy
depends_on:
- build
trigger:
branch:
- senpai
event:
- push
server:
host:
from_secret: ssh_host
user:
from_secret: ssh_user
ssh_key:
from_secret: ssh_key
steps:
- name: deploy
when:
branch:
- senpai
environment:
DOCKER_USER:
from_secret: docker_user
DOCKER_PASS:
from_secret: docker_token
REGISTRY_HOST:
from_secret: registry_host
IMAGE: infoscreen:latest
commands:
- docker-compose -p infoscreen -f docker-compose.yml rm -s -v -f
- docker rmi localhost:5000/$${IMAGE} || true
- docker rmi $${REGISTRY_HOST}/$${IMAGE} || true
- docker pull $${REGISTRY_HOST}/$${IMAGE}
- docker-compose -p infoscreen -f docker-compose.yml up -d
---
kind: pipeline
type: ssh
name: refresh-client
depends_on:
- deploy
trigger:
branch:
- senpai
event:
- push
server:
host:
from_secret: ssh_client_host
user:
from_secret: ssh_client_user
ssh_key:
from_secret: ssh_key
steps:
- name: deploy
when:
branch:
- senpai
commands:
- export DISPLAY=:0
- xdotool search --onlyvisible --class "chromium-browser" key F5