helm-test will package + install/deploy
This commit is contained in:
parent
04a1b945c0
commit
3c64702a51
|
@ -84,7 +84,6 @@ groups:
|
||||||
jobs:
|
jobs:
|
||||||
- name: latest-image
|
- name: latest-image
|
||||||
public: true
|
public: true
|
||||||
serial: true
|
|
||||||
plan:
|
plan:
|
||||||
- get: git
|
- get: git
|
||||||
trigger: true
|
trigger: true
|
||||||
|
@ -107,12 +106,8 @@ jobs:
|
||||||
- { get: image-latest, params: {skip_download: true} }
|
- { get: image-latest, params: {skip_download: true} }
|
||||||
# - { get: git, passed: [latest-image], trigger: true }
|
# - { get: git, passed: [latest-image], trigger: true }
|
||||||
# - { get: image-latest, passed: [latest-image] }
|
# - { get: image-latest, passed: [latest-image] }
|
||||||
- put: kube
|
- name: build-chart
|
||||||
resource: kubernetes-pool
|
task: build-chart
|
||||||
params:
|
|
||||||
acquire: true
|
|
||||||
- name: test-chart
|
|
||||||
task: test-chart
|
|
||||||
config:
|
config:
|
||||||
platform: linux
|
platform: linux
|
||||||
image_resource:
|
image_resource:
|
||||||
|
@ -122,23 +117,21 @@ jobs:
|
||||||
tag: (( grab meta.image.tag ))
|
tag: (( grab meta.image.tag ))
|
||||||
inputs:
|
inputs:
|
||||||
- name: git
|
- name: git
|
||||||
- name: kube
|
|
||||||
- name: image-latest
|
- name: image-latest
|
||||||
|
outputs:
|
||||||
|
- name: chart
|
||||||
run:
|
run:
|
||||||
path: ./git/ci/scripts/test-chart
|
path: ./git/ci/scripts/build-chart
|
||||||
args: []
|
args: []
|
||||||
params:
|
params:
|
||||||
CHART_ROOT: (( grab meta.helm.chart_path ))
|
CHART_ROOT: (( grab meta.helm.chart_path ))
|
||||||
REPO_ROOT: git
|
REPO_ROOT: git
|
||||||
K8S_CLUSTER: kube
|
CHART_OUT: chart
|
||||||
GCP_SERVICEACCOUNT: (( grab meta.google.serviceaccount ))
|
- put: helm-install-test
|
||||||
NAMESPACE: (( concat "test-" meta.name ))
|
params:
|
||||||
ensure:
|
chart: chart/*.tgz
|
||||||
do:
|
devel: true
|
||||||
- put: kube
|
wait_until_ready: 10
|
||||||
resource: kubernetes-pool
|
|
||||||
params:
|
|
||||||
release: kube
|
|
||||||
|
|
||||||
- name: shipit
|
- name: shipit
|
||||||
public: true
|
public: true
|
||||||
|
@ -230,6 +223,7 @@ jobs:
|
||||||
- put: helm-install-latest
|
- put: helm-install-latest
|
||||||
params:
|
params:
|
||||||
chart: github/*.tgz
|
chart: github/*.tgz
|
||||||
|
wait_until_ready: 10
|
||||||
|
|
||||||
- name: rc
|
- name: rc
|
||||||
public: true
|
public: true
|
||||||
|
@ -353,13 +347,17 @@ resources:
|
||||||
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
|
- name: helm-install-test
|
||||||
type: pool
|
type: helm
|
||||||
source:
|
source:
|
||||||
uri: (( grab meta.kubernetes.pool.uri ))
|
release: (( concat "ci-test-" meta.name ))
|
||||||
branch: (( grab meta.kubernetes.pool.branch ))
|
gcloud_auth: ((gcp-service-account-knative-experiments))
|
||||||
private_key: (( grab meta.kubernetes.pool.private_key ))
|
gcloud_project: ((gke-project-name))
|
||||||
pool: (( grab meta.kubernetes.pool.name ))
|
gcloud_cluster: ((gke-cluster-name))
|
||||||
|
gcloud_zone: ((gke-cluster-zone))
|
||||||
|
ca_cert: ((helm-ca))
|
||||||
|
client_cert: ((helm-tiller-cert))
|
||||||
|
client_key: ((helm-tiller-key))
|
||||||
|
|
||||||
- name: helm-install-latest
|
- name: helm-install-latest
|
||||||
type: helm
|
type: helm
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#
|
||||||
|
# ci/scripts/build-chart
|
||||||
|
#
|
||||||
|
# Script for build Helm chart package
|
||||||
|
#
|
||||||
|
# author: Dr Nic Williams <drnicwilliams@gmail.com>
|
||||||
|
# created: 2018-11-17
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
: ${CHART_ROOT:?required}
|
||||||
|
: ${REPO_ROOT:?required}
|
||||||
|
: ${CHART_OUT:?required}
|
||||||
|
|
||||||
|
header() {
|
||||||
|
echo
|
||||||
|
echo "###############################################"
|
||||||
|
echo
|
||||||
|
echo $*
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
CHART_NAME=$(bosh int ${REPO_ROOT}/${CHART_ROOT}/Chart.yaml --path /name)
|
||||||
|
header "Copy chart into folder with chart name ${CHART_NAME}..."
|
||||||
|
mkdir -p chart/${CHART_NAME}
|
||||||
|
cp -r ${REPO_ROOT}/${CHART_ROOT}/* chart/${CHART_NAME}
|
||||||
|
|
||||||
|
header "Set values.yaml for docker + version"
|
||||||
|
echo "TODO ****"
|
||||||
|
|
||||||
|
header "Build helm chart"
|
||||||
|
helm package chart/${CHART_NAME} -d ${CHART_OUT}
|
|
@ -1,52 +0,0 @@
|
||||||
#!/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}
|
|
||||||
: ${NAMESPACE:?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
|
|
||||||
|
|
||||||
header "Configure Helm"
|
|
||||||
|
|
||||||
helm init -c
|
|
||||||
|
|
||||||
header "Install chart"
|
|
||||||
|
|
||||||
kubectl create ns ${NAMESPACE}
|
|
||||||
function finish {
|
|
||||||
header "Cleanup namespace ${NAMESPACE}"
|
|
||||||
kubectl get pods -n ${NAMESPACE}
|
|
||||||
kubectl delete ns ${NAMESPACE}
|
|
||||||
}
|
|
||||||
trap finish EXIT SIGINT SIGTERM
|
|
||||||
|
|
||||||
helm upgrade --install test ${REPO_ROOT}/${CHART_ROOT} \
|
|
||||||
--namespace ${NAMESPACE} \
|
|
||||||
--set "database.service.class=null"
|
|
||||||
|
|
||||||
timeout 5s kubectl get pods -w -n ${NAMESPACE}
|
|
Loading…
Reference in New Issue