deploy #5
					 2 changed files with 81 additions and 43 deletions
				
			
		
							
								
								
									
										120
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										120
									
								
								.drone.yml
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -1,43 +1,43 @@
 | 
			
		|||
---
 | 
			
		||||
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: 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
 | 
			
		||||
| 
						 | 
				
			
			@ -54,8 +54,42 @@ steps:
 | 
			
		|||
    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
 | 
			
		||||
  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
 | 
			
		||||
 | 
			
		||||
depends_on:
 | 
			
		||||
- unit tests
 | 
			
		||||
- build
 | 
			
		||||
 | 
			
		||||
when:
 | 
			
		||||
  branch:
 | 
			
		||||
    exclude:
 | 
			
		||||
    - master
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
kind: pipeline
 | 
			
		||||
| 
						 | 
				
			
			@ -84,3 +118,7 @@ steps:
 | 
			
		|||
 | 
			
		||||
depends_on:
 | 
			
		||||
- build
 | 
			
		||||
 | 
			
		||||
when:
 | 
			
		||||
  branch:
 | 
			
		||||
  - master
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,6 @@
 | 
			
		|||
apiVersion: v1
 | 
			
		||||
kind: Namespace
 | 
			
		||||
metadata:
 | 
			
		||||
  name: beer
 | 
			
		||||
  name: ${NAMESPACE}
 | 
			
		||||
  labels:
 | 
			
		||||
    name: beer
 | 
			
		||||
    name: ${NAMESPACE}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue