deploy #5
					 3 changed files with 99 additions and 88 deletions
				
			
		
							
								
								
									
										179
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										179
									
								
								.drone.yml
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -1,3 +1,98 @@
 | 
			
		|||
---
 | 
			
		||||
kind: pipeline
 | 
			
		||||
name: build
 | 
			
		||||
 | 
			
		||||
steps:
 | 
			
		||||
- name: build image
 | 
			
		||||
  image: plugins/docker
 | 
			
		||||
  settings:
 | 
			
		||||
    repo: kleph/beer
 | 
			
		||||
    tags: ${DRONE_COMMIT_SHA:0:8}
 | 
			
		||||
    username:
 | 
			
		||||
      from_secret: dockerhub_username
 | 
			
		||||
    password:
 | 
			
		||||
      from_secret: dockerhub_password
 | 
			
		||||
 | 
			
		||||
#depends_on:
 | 
			
		||||
#- unit tests
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
kind: pipeline
 | 
			
		||||
name: deploy-staging
 | 
			
		||||
 | 
			
		||||
steps:
 | 
			
		||||
- name: deploy-staging
 | 
			
		||||
  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}
 | 
			
		||||
  commands:
 | 
			
		||||
  - export NAMESPACE=beer-staging-${DRONE_COMMIT_SHA:0:4}
 | 
			
		||||
  - echo "== create staging namespace $${NAMESPACE}"
 | 
			
		||||
  - sed "s/__NAMESPACE__/$${NAMESPACE}/g" kube/beer-namespace.yaml > kube/beer-namespace-staging.yaml
 | 
			
		||||
  - kubectl apply -f kube/beer-namespace-staging.yaml
 | 
			
		||||
  - echo "== deploy staging"
 | 
			
		||||
  - sed "s/__IMAGE_TAG__/$${IMAGE_TAG}/g" kube/beer-deployment.yaml > kube/beer-deployment-staging.yaml
 | 
			
		||||
  - kubectl apply -f kube/beer-deployment-staging.yaml --namespace=$${NAMESPACE}
 | 
			
		||||
  - echo "== post deploy status:"
 | 
			
		||||
  - kubectl get deployments --namespace=$${NAMESPACE}
 | 
			
		||||
  - kubectl get pods --namespace=$${NAMESPACE}
 | 
			
		||||
 | 
			
		||||
depends_on:
 | 
			
		||||
- build
 | 
			
		||||
 | 
			
		||||
when:
 | 
			
		||||
  branch:
 | 
			
		||||
    exclude:
 | 
			
		||||
    - master
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
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
 | 
			
		||||
  commands:
 | 
			
		||||
  - echo "== pre deploy status:"
 | 
			
		||||
  - kubectl get pods --namespace=beer
 | 
			
		||||
  - kubectl get deployments --namespace=beer
 | 
			
		||||
  - kubectl get svc --namespace=beer
 | 
			
		||||
  - cat kube/beer-deployment.yaml
 | 
			
		||||
  - sed "s/__NAMESPACE__/$${NAMESPACE}/g" kube/beer-deployment.yaml > kube/beer-deployment-prod.yaml
 | 
			
		||||
  - cat kube/beer-deployment-prod.yaml
 | 
			
		||||
  - sed "s/__IMAGE_TAG__/$${IMAGE_TAG}/g" kube/beer-deployment-prod.yaml > kube/beer-deployment-prod2.yaml
 | 
			
		||||
  - echo "applying"
 | 
			
		||||
  - cat kube/beer-deployment-prod2.yaml
 | 
			
		||||
  - kubectl apply -f kube/beer-deployment-prod2.yaml --namespace=beer
 | 
			
		||||
  - echo "== post deploy status:"
 | 
			
		||||
  - kubectl get deployments --namespace=beer
 | 
			
		||||
  - kubectl get pods --namespace=beer
 | 
			
		||||
 | 
			
		||||
depends_on:
 | 
			
		||||
- build
 | 
			
		||||
 | 
			
		||||
when:
 | 
			
		||||
  branch:
 | 
			
		||||
    include:
 | 
			
		||||
    - master
 | 
			
		||||
 | 
			
		||||
#---
 | 
			
		||||
#kind: pipeline
 | 
			
		||||
#name: lint
 | 
			
		||||
| 
						 | 
				
			
			@ -38,87 +133,3 @@
 | 
			
		|||
#
 | 
			
		||||
#depends_on:
 | 
			
		||||
#- lint
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
kind: pipeline
 | 
			
		||||
name: build
 | 
			
		||||
 | 
			
		||||
steps:
 | 
			
		||||
- name: build image
 | 
			
		||||
  image: plugins/docker
 | 
			
		||||
  settings:
 | 
			
		||||
    repo: kleph/beer
 | 
			
		||||
    tags: ${DRONE_COMMIT_SHA:0:8}
 | 
			
		||||
    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
 | 
			
		||||
  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:
 | 
			
		||||
- build
 | 
			
		||||
 | 
			
		||||
when:
 | 
			
		||||
  branch:
 | 
			
		||||
    exclude:
 | 
			
		||||
    - master
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
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}
 | 
			
		||||
  commands:
 | 
			
		||||
  - echo "== pre deploy status:"
 | 
			
		||||
  - kubectl get pods --namespace=beer
 | 
			
		||||
  - kubectl get deployments --namespace=beer
 | 
			
		||||
  - kubectl get svc --namespace=beer
 | 
			
		||||
  - 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:"
 | 
			
		||||
 | 
			
		||||
depends_on:
 | 
			
		||||
- build
 | 
			
		||||
 | 
			
		||||
when:
 | 
			
		||||
  branch:
 | 
			
		||||
  - master
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@ apiVersion: apps/v1
 | 
			
		|||
kind: Deployment
 | 
			
		||||
metadata:
 | 
			
		||||
  name: beer-deployment
 | 
			
		||||
  namespace: beer
 | 
			
		||||
  namespace: __NAMESPACE__
 | 
			
		||||
spec:
 | 
			
		||||
  selector:
 | 
			
		||||
    matchLabels:
 | 
			
		||||
| 
						 | 
				
			
			@ -16,7 +16,7 @@ spec:
 | 
			
		|||
    spec:
 | 
			
		||||
      containers:
 | 
			
		||||
      - name: beer
 | 
			
		||||
        image: kleph/beer:${IMAGE_TAG}
 | 
			
		||||
        image: kleph/beer:__IMAGE_TAG__
 | 
			
		||||
        imagePullPolicy: Always
 | 
			
		||||
        ports:
 | 
			
		||||
        - containerPort: 5000
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,6 @@
 | 
			
		|||
apiVersion: v1
 | 
			
		||||
kind: Namespace
 | 
			
		||||
metadata:
 | 
			
		||||
  name: ${NAMESPACE}
 | 
			
		||||
  name: __NAMESPACE__
 | 
			
		||||
  labels:
 | 
			
		||||
    name: ${NAMESPACE}
 | 
			
		||||
    name: __NAMESPACE__
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue