2020-02-25 02:03:01 +01:00
|
|
|
#---
|
|
|
|
#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
|
2020-02-24 23:20:20 +01:00
|
|
|
|
2020-02-15 16:11:36 +01:00
|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
name: build
|
|
|
|
|
|
|
|
steps:
|
2020-02-15 00:42:17 +01:00
|
|
|
- name: build image
|
2020-02-17 22:09:48 +01:00
|
|
|
image: plugins/docker
|
|
|
|
settings:
|
|
|
|
repo: kleph/beer
|
2020-02-25 01:46:56 +01:00
|
|
|
tags: ${DRONE_COMMIT_SHA:0:8}
|
2020-02-17 22:09:48 +01:00
|
|
|
username:
|
2020-02-15 12:48:36 +01:00
|
|
|
from_secret: dockerhub_username
|
2020-02-17 22:09:48 +01:00
|
|
|
password:
|
2020-02-15 12:48:36 +01:00
|
|
|
from_secret: dockerhub_password
|
2020-02-15 17:02:19 +01:00
|
|
|
|
2020-02-25 02:03:01 +01:00
|
|
|
#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
|
|
|
|
environment:
|
|
|
|
IMAGE_TAG: ${DRONE_COMMIT_SHA:0:8}
|
|
|
|
NAMESPACE: beer-staging-${DRONE_COMMIT_SHA:0:4}
|
|
|
|
commands:
|
|
|
|
- echo "== create staging namespace ${NAMESPACE}"
|
|
|
|
- kubectl get svc --namespace=${NAMESPACE}
|
|
|
|
- cat kube/beer-deployment.yaml > kube/beer-namespace.yaml
|
|
|
|
- kubectl apply -f kube/beer-namespace.yaml
|
|
|
|
- echo "== deploy staging"
|
|
|
|
- cat kube/beer-deployment.yaml > kube/beer-deployment-${IMAGE_TAG}.yaml
|
|
|
|
- kubectl apply -f kube/beer-deployment-${IMAGE_TAG}.yaml --namespace=beer
|
|
|
|
|
2020-02-15 17:02:19 +01:00
|
|
|
depends_on:
|
2020-02-25 02:03:01 +01:00
|
|
|
- build
|
|
|
|
|
|
|
|
when:
|
|
|
|
branch:
|
|
|
|
exclude:
|
|
|
|
- master
|
2020-02-15 17:40:58 +01:00
|
|
|
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
|
|
name: deploy
|
|
|
|
|
|
|
|
steps:
|
2020-02-17 22:56:48 +01:00
|
|
|
- name: deploy
|
|
|
|
image: sinlead/drone-kubectl
|
|
|
|
settings:
|
|
|
|
kubernetes_server:
|
2020-02-15 17:40:58 +01:00
|
|
|
from_secret: kubectl_uri
|
2020-02-17 22:56:48 +01:00
|
|
|
kubernetes_cert:
|
|
|
|
from_secret: kubectl_cert
|
|
|
|
kubernetes_token:
|
|
|
|
from_secret: kubectl_token
|
2020-02-25 01:46:56 +01:00
|
|
|
environment:
|
|
|
|
IMAGE_TAG: ${DRONE_COMMIT_SHA:0:8}
|
2020-02-15 17:40:58 +01:00
|
|
|
commands:
|
2020-02-25 01:46:56 +01:00
|
|
|
- echo "== pre deploy status:"
|
2020-02-22 02:52:32 +01:00
|
|
|
- kubectl get pods --namespace=beer
|
|
|
|
- kubectl get deployments --namespace=beer
|
|
|
|
- kubectl get svc --namespace=beer
|
2020-02-25 01:46:56 +01:00
|
|
|
- cat kube/beer-deployment.yaml > kube/beer-deployment-${IMAGE_TAG}.yaml
|
|
|
|
- kubectl apply -f kube/beer-deployment-${IMAGE_TAG}.yaml --namespace=beer
|
|
|
|
- echo "== post deploy status:"
|
2020-02-15 17:40:58 +01:00
|
|
|
|
|
|
|
depends_on:
|
2020-02-15 18:38:57 +01:00
|
|
|
- build
|
2020-02-25 02:03:01 +01:00
|
|
|
|
|
|
|
when:
|
|
|
|
branch:
|
|
|
|
- master
|