Skip to content

Instantly share code, notes, and snippets.

@vshatravenko
Created October 11, 2017 15:45
Show Gist options
  • Save vshatravenko/08b811fae515674b539042090ac2c7cd to your computer and use it in GitHub Desktop.
Save vshatravenko/08b811fae515674b539042090ac2c7cd to your computer and use it in GitHub Desktop.
# Add this pipeline to your Concourse using
# fly set-pipeline -t *concourse_name* -c *pipeline.yml* -p *pipeline name* -n --load-vars-from *credentials.yml* -n
dockerhub-username: "valshatravenko"
dockerhub-password: "**************"
dockerhub-repo: "valshatravenko/hellonode"
github-repo-url: "https://github.com/vshatravenko/hellonode"
k8s-deployment: "test-hellonode"
kubeconfig: |-
*Paste your `cat .kube/config | openssl base64` here*
---
resource_types:
- name: kubernetes
type: docker-image
source:
repository: dkkoval/concourse-kubernetes-resource
resources:
- name: repo
type: git
source:
uri: {{github-repo-url}}
branch: master
- name: build-image
type: docker-image
source:
username: {{dockerhub-username}}
password: {{dockerhub-password}}
repository: {{dockerhub-repo}}
- name: kops
type: kubernetes
source:
namespace: default
deployment: {{k8s-deployment}}
kubeconfig: {{kubeconfig}}
jobs:
- name: build-commit
plan:
- get: repo
trigger: true
- task: tag
config:
platform: linux
image_resource:
type: docker-image
source:
repository: alpine
run:
path: sh
args: ['-c', 'echo test > tag/name']
outputs:
- name: tag
- put: build-image
params:
build: repo
tag: tag/name
- name: test-commit
plan:
- get: repo
passed:
- build-commit
trigger: true
- task: run-tests
privileged: true
config:
platform: linux
image_resource:
type: docker-image
source:
username: {{dockerhub-username}}
password: {{dockerhub-password}}
repository: {{dockerhub-repo}}
tag: test
run:
path: sh
args: ['-c', 'cd repo && npm install mocha --silent && npm test']
inputs:
- name: repo
- name: deploy-production
serial: true
plan:
- get: repo
- task: tag
config:
platform: linux
image_resource:
type: docker-image
source:
repository: alpine/git
run:
path: sh
args: ['-c', 'cd repo && git describe > ../tag/name']
inputs:
- name: repo
outputs:
- name: tag
- put: build-image
params:
build: repo
tag: tag/name
- put: kops
---
resource_types:
- name: kubernetes
type: docker-image
source:
repository: dkkoval/concourse-kubernetes-resource
resources:
- name: piwik-src
type: git
source:
uri: https://github.com/bloomon/hellonode
- name: piwik-image
type: docker-image
source:
username: {{dockerhub-username}}
password: {{dockerhub-password}}
repository: {{dockerhub-repo}}
- name: piwik-kops
type: kubernetes
source:
namespace: default
deployment: piwik
kubeconfig: {{kubeconfig}}
jobs:
- name: piwik-publish
public: true
serial: true
plan:
- get: piwik-src
trigger: true
- put: piwik-image
params:
build: piwik-src
- put: piwik-kops
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment