beer/.drone.yml
kleph 80873a05c5
All checks were successful
continuous-integration/drone/push Build is passing
[CI] Merge pylint in unit test stage to avoid 2 python stages
2020-02-25 01:21:50 +01:00

81 lines
1.4 KiB
YAML

---
kind: pipeline
name: lint
steps:
- name: yaml lint
image: cytopia/yamllint
commands:
- yamllint .
- name: docker lint
image: hadolint/hadolint
commands:
- hadolint Dockerfile # ignore pinning version in pip
- name: w3c validator
image: validator/validator:latest
commands:
- vnu static/*.html
- name: markdown lint
image: pipelinecomponents/markdownlint:latest
commands:
- mdl --style all --warnings .
---
kind: pipeline
name: unit tests
steps:
- name: unit test
image: python:slim
commands:
- pip install -r requirements.txt
- pip install pylint
- pylint beer/*.py tests/*.py
- python -m pytest tests
depends_on:
- lint
---
kind: pipeline
name: build
steps:
- name: build image
image: plugins/docker
settings:
repo: kleph/beer
tags: latest
username:
from_secret: dockerhub_username
password:
from_secret: dockerhub_password
depends_on:
- unit tests
---
kind: pipeline
name: deploy
steps:
- name: deploy
image: sinlead/drone-kubectl
settings:
kubernetes_server:
from_secret: kubectl_uri
kubernetes_cert:
from_secret: kubectl_cert
kubernetes_token:
from_secret: kubectl_token
commands:
- kubectl get pods --namespace=beer
- kubectl get deployments --namespace=beer
- kubectl get svc --namespace=beer
- kubectl apply -f kube/beer-deployment.yaml --namespace=beer
depends_on:
- build