cloudron-drone-app/.drone.yml
Felix Bartels b56229c6a2 Add example for file linting
Signed-off-by: Felix Bartels <felix@9wd.eu>
2022-07-07 14:55:59 +02:00

63 lines
1.6 KiB
YAML

---
kind: pipeline
type: docker
name: default
steps:
# https://github.com/weastur/metalinter
- name: lint
image: weastur/metalinter
commands:
- hadolint Dockerfile
- name: set version
image: golang:1.12
commands:
- "current_version=$(grep drone/drone: Dockerfile | cut -d' ' -f 2 | cut -d: -f 2)"
- timestamp=$(date +%s)
- echo -n "$current_version-$timestamp" > .tags
- name: docker build
image: docker:dind
volumes:
- name: dockersock
path: /var/run
commands:
- docker ps -a
- docker build -t fbartels/com.github.drone:latest .
- name: docker push
image: docker:dind
volumes:
- name: dockersock
path: /var/run
environment:
DOCKER_USERNAME: {from_secret: DOCKER_USERNAME}
DOCKER_PASSWORD: {from_secret: DOCKER_PASSWORD}
commands:
- current_version=$(cat .tags)
- docker tag fbartels/com.github.drone:latest fbartels/com.github.drone:$current_version
- echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin
- docker push fbartels/com.github.drone:latest
- docker push fbartels/com.github.drone:$current_version
when:
branch:
- master
event:
- promote
- name: cloudron update
image: fbartels/cloudron-cli:latest
environment:
CLOUDRON_SERVER: {from_secret: CLOUDRON_SERVER}
CLOUDRON_TOKEN: {from_secret: CLOUDRON_TOKEN}
commands:
- current_version=$(cat .tags)
- cloudron update --server $CLOUDRON_SERVER --token $CLOUDRON_TOKEN --app drone --image fbartels/com.github.drone:$current_version
when:
branch:
- master
event:
- promote
volumes:
- name: dockersock
host:
path: /var/run/