Simple scheduling for short-running Docker containers
https://blog.iamthefij.com/2018/11/19/introducing-dockron-scheduling/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
2.4 KiB
123 lines
2.4 KiB
--- |
|
kind: pipeline |
|
name: test |
|
|
|
steps: |
|
- name: test |
|
image: golang:1.15 |
|
commands: |
|
- make test |
|
|
|
- name: check |
|
image: python:3 |
|
commands: |
|
- pip install docker-compose pre-commit |
|
- wget -L -O /usr/bin/hadolint https://github.com/hadolint/hadolint/releases/download/v1.18.0/hadolint-Linux-x86_64 |
|
- chmod +x /usr/bin/hadolint |
|
- make check |
|
|
|
# - name: itest |
|
# image: docker/compose:alpine-1.26.2 |
|
# environment: |
|
# VERSION: ${DRONE_TAG:-${DRONE_COMMIT}} |
|
# commands: |
|
# - apk add make bash |
|
# - make itest |
|
|
|
--- |
|
kind: pipeline |
|
name: publish |
|
|
|
depends_on: |
|
- test |
|
|
|
trigger: |
|
event: |
|
- push |
|
- tag |
|
refs: |
|
- refs/heads/master |
|
- refs/tags/v* |
|
|
|
steps: |
|
- name: build |
|
image: golang:1.15 |
|
environment: |
|
VERSION: ${DRONE_TAG:-${DRONE_COMMIT}} |
|
commands: |
|
- make build-linux-static |
|
|
|
- name: push image - arm |
|
image: plugins/docker |
|
settings: |
|
repo: iamthefij/dockron |
|
auto_tag: true |
|
auto_tag_suffix: linux-arm |
|
username: |
|
from_secret: docker_username |
|
password: |
|
from_secret: docker_password |
|
build_args: |
|
- ARCH=arm |
|
- REPO=arm32v7 |
|
|
|
- name: push image - arm64 |
|
image: plugins/docker |
|
settings: |
|
repo: iamthefij/dockron |
|
auto_tag: true |
|
auto_tag_suffix: linux-arm64 |
|
username: |
|
from_secret: docker_username |
|
password: |
|
from_secret: docker_password |
|
build_args: |
|
- ARCH=arm64 |
|
- REPO=arm64v8 |
|
|
|
- name: push image - amd64 |
|
image: plugins/docker |
|
settings: |
|
repo: iamthefij/dockron |
|
auto_tag: true |
|
auto_tag_suffix: linux-amd64 |
|
username: |
|
from_secret: docker_username |
|
password: |
|
from_secret: docker_password |
|
|
|
- name: publish manifest |
|
image: plugins/manifest |
|
settings: |
|
spec: manifest.tmpl |
|
auto_tag: true |
|
ignore_missing: true |
|
username: |
|
from_secret: docker_username |
|
password: |
|
from_secret: docker_password |
|
|
|
--- |
|
kind: pipeline |
|
name: notify |
|
|
|
depends_on: |
|
- test |
|
- publish |
|
|
|
trigger: |
|
status: |
|
- failure |
|
|
|
steps: |
|
|
|
- name: notify |
|
image: drillster/drone-email |
|
settings: |
|
host: |
|
from_secret: SMTP_HOST # pragma: whitelist secret |
|
username: |
|
from_secret: SMTP_USER # pragma: whitelist secret |
|
password: |
|
from_secret: SMTP_PASS # pragma: whitelist secret |
|
from: drone@iamthefij.com
|
|
|