initial test-chart WIP
This commit is contained in:
parent
1e3ce2f518
commit
5fb15f360f
|
@ -28,6 +28,16 @@ meta:
|
||||||
email: (( param "Please provide the git email for automated commits" ))
|
email: (( param "Please provide the git email for automated commits" ))
|
||||||
name: (( param "Please provide the git name for automated commits" ))
|
name: (( param "Please provide the git name for automated commits" ))
|
||||||
|
|
||||||
|
kubernetes:
|
||||||
|
pool:
|
||||||
|
uri: (( param "Please provide kubernetes pool uri" ))
|
||||||
|
branch: (( param "Please provide kubernetes pool branch" ))
|
||||||
|
private_key: (( param "Please provide kubernetes pool private_key" ))
|
||||||
|
name: (( param "Please provide kubernetes pool pool" ))
|
||||||
|
|
||||||
|
google:
|
||||||
|
serviceaccount: (( param "Please provide GCP Service Account JSON" ))
|
||||||
|
|
||||||
aws:
|
aws:
|
||||||
bucket: (( concat meta.name "-pipeline" ))
|
bucket: (( concat meta.name "-pipeline" ))
|
||||||
region_name: us-east-1
|
region_name: us-east-1
|
||||||
|
@ -62,6 +72,7 @@ groups:
|
||||||
- name: (( grab meta.name ))
|
- name: (( grab meta.name ))
|
||||||
jobs:
|
jobs:
|
||||||
- latest-image
|
- latest-image
|
||||||
|
- helm-test
|
||||||
- rc
|
- rc
|
||||||
- shipit
|
- shipit
|
||||||
- name: versioning
|
- name: versioning
|
||||||
|
@ -87,6 +98,46 @@ jobs:
|
||||||
icon_url: (( grab meta.slack.icon ))
|
icon_url: (( grab meta.slack.icon ))
|
||||||
text: '(( concat meta.slack.fail_url " " meta.pipeline ": patch job failed" ))'
|
text: '(( concat meta.slack.fail_url " " meta.pipeline ": patch job failed" ))'
|
||||||
|
|
||||||
|
- name: helm-test
|
||||||
|
public: true
|
||||||
|
plan:
|
||||||
|
- aggregate:
|
||||||
|
- { get: git, trigger: true }
|
||||||
|
- { get: image-latest, params: {skip_download: true} }
|
||||||
|
# - { get: git, passed: [latest-image], trigger: true }
|
||||||
|
# - { get: image-latest, passed: [latest-image] }
|
||||||
|
- put: kube
|
||||||
|
resource: kubernetes-pool
|
||||||
|
params:
|
||||||
|
acquire: true
|
||||||
|
- name: test-chart
|
||||||
|
task: test-chart
|
||||||
|
config:
|
||||||
|
platform: linux
|
||||||
|
image_resource:
|
||||||
|
type: docker-image
|
||||||
|
source:
|
||||||
|
repository: (( grab meta.image.name ))
|
||||||
|
tag: (( grab meta.image.tag ))
|
||||||
|
inputs:
|
||||||
|
- name: git
|
||||||
|
- name: kube
|
||||||
|
- name: image-latest
|
||||||
|
run:
|
||||||
|
path: ./git/ci/scripts/test-chart
|
||||||
|
args: []
|
||||||
|
params:
|
||||||
|
CHART_ROOT: (( grab meta.helm.chart_path ))
|
||||||
|
REPO_ROOT: git
|
||||||
|
K8S_CLUSTER: kube
|
||||||
|
GCP_SERVICEACCOUNT: (( grab meta.google.serviceaccount ))
|
||||||
|
ensure:
|
||||||
|
do:
|
||||||
|
- put: kube
|
||||||
|
resource: kubernetes-pool
|
||||||
|
params:
|
||||||
|
release: kube
|
||||||
|
|
||||||
- name: shipit
|
- name: shipit
|
||||||
public: true
|
public: true
|
||||||
serial: true
|
serial: true
|
||||||
|
@ -94,8 +145,6 @@ jobs:
|
||||||
- do:
|
- do:
|
||||||
- name: inputs
|
- name: inputs
|
||||||
aggregate:
|
aggregate:
|
||||||
# - { get: version, params: {bump: final} }
|
|
||||||
# - { get: git }
|
|
||||||
- { get: version, passed: [rc], params: {bump: final} }
|
- { get: version, passed: [rc], params: {bump: final} }
|
||||||
- { get: git, passed: [rc] }
|
- { get: git, passed: [rc] }
|
||||||
- { get: image-latest, passed: [latest-image], params: { save: true } }
|
- { get: image-latest, passed: [latest-image], params: { save: true } }
|
||||||
|
@ -179,8 +228,7 @@ jobs:
|
||||||
plan:
|
plan:
|
||||||
- do:
|
- do:
|
||||||
- aggregate:
|
- aggregate:
|
||||||
# - { get: git, trigger: true }
|
- { get: git, trigger: true, passed: [helm-test] }
|
||||||
- { get: git, trigger: true, passed: [latest-image] }
|
|
||||||
- { get: version, trigger: true, params: {pre: rc} }
|
- { get: version, trigger: true, params: {pre: rc} }
|
||||||
- task: release-notes
|
- task: release-notes
|
||||||
config:
|
config:
|
||||||
|
@ -289,3 +337,11 @@ resources:
|
||||||
user: (( grab meta.github.owner ))
|
user: (( grab meta.github.owner ))
|
||||||
repository: (( grab meta.github.repo ))
|
repository: (( grab meta.github.repo ))
|
||||||
access_token: (( grab meta.github.access_token ))
|
access_token: (( grab meta.github.access_token ))
|
||||||
|
|
||||||
|
- name: kubernetes-pool
|
||||||
|
type: pool
|
||||||
|
source:
|
||||||
|
uri: (( grab meta.kubernetes.pool.uri ))
|
||||||
|
branch: (( grab meta.kubernetes.pool.branch ))
|
||||||
|
private_key: (( grab meta.kubernetes.pool.private_key ))
|
||||||
|
pool: (( grab meta.kubernetes.pool.name ))
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CLOUD_PROVIDER=$(cat $K8S_CLUSTER/metadata | jq -r ".provider")
|
||||||
|
case ${CLOUD_PROVIDER:?require "provider" key in pool resource metadata} in
|
||||||
|
google|gcp)
|
||||||
|
gcloud auth activate-service-account --key-file <(echo "${GCP_SERVICEACCOUNT:?require GCP Service Account JSON}")
|
||||||
|
|
||||||
|
PROJECT=$(cat $K8S_CLUSTER/metadata | jq -r ".project")
|
||||||
|
CLUSTER_NAME=$(cat $K8S_CLUSTER/metadata | jq -r ".cluster_name")
|
||||||
|
CLUSTER_ZONE=$(cat $K8S_CLUSTER/metadata | jq -r ".cluster_zone")
|
||||||
|
# CLUSTER_REGION=$(cat $K8S_CLUSTER/metadata | jq -r ".cluster_region")
|
||||||
|
|
||||||
|
gcloud container clusters get-credentials "$CLUSTER_NAME" --region "$CLUSTER_ZONE" --project "$PROJECT"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "ERROR: unknown cloud provider $CLOUD_PROVIDER"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#
|
||||||
|
# ci/scripts/test-chart
|
||||||
|
#
|
||||||
|
# Script for installing Helm chart to test it
|
||||||
|
#
|
||||||
|
# author: Dr Nic Williams <drnicwilliams@gmail.com>
|
||||||
|
# created: 2018-11-17
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
: ${CHART_ROOT:?required}
|
||||||
|
: ${REPO_ROOT:?required}
|
||||||
|
: ${K8S_CLUSTER:?required}
|
||||||
|
|
||||||
|
header() {
|
||||||
|
echo
|
||||||
|
echo "###############################################"
|
||||||
|
echo
|
||||||
|
echo $*
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
header "Authenticate to Kubernetes"
|
||||||
|
|
||||||
|
$DIR/lib/kubernetes-target.sh
|
||||||
|
|
||||||
|
kubectl get pods --all-namespaces
|
||||||
|
|
|
@ -11,6 +11,16 @@ meta:
|
||||||
email: ((git-commit-email))
|
email: ((git-commit-email))
|
||||||
name: ((git-commit-name))
|
name: ((git-commit-name))
|
||||||
|
|
||||||
|
kubernetes:
|
||||||
|
pool:
|
||||||
|
uri: git@github.com:drnic/example-concourse-kubenetes-pool.git
|
||||||
|
branch: master
|
||||||
|
private_key: ((github-private-key))
|
||||||
|
name: gke
|
||||||
|
|
||||||
|
google:
|
||||||
|
serviceaccount: ((gcp-service-account-knative-experiments))
|
||||||
|
|
||||||
aws:
|
aws:
|
||||||
bucket: (( grab meta.pipeline ))
|
bucket: (( grab meta.pipeline ))
|
||||||
region_name: us-east-1
|
region_name: us-east-1
|
||||||
|
|
Loading…
Reference in New Issue