From 56453a7f8515e50a107bff900b2dd72039ace8d8 Mon Sep 17 00:00:00 2001 From: rawlingsj Date: Mon, 5 Feb 2018 13:10:40 +0000 Subject: [PATCH] first spike at a CI bdd tests against GKE --- Jenkinsfile | 37 +++++++++++++++++++++++++++++++++++++ jx/scripts/ci-gke.sh | 16 ++++++++++++++++ jx/scripts/release.sh | 2 ++ 3 files changed, 55 insertions(+) create mode 100644 Jenkinsfile create mode 100755 jx/scripts/ci-gke.sh create mode 100755 jx/scripts/release.sh diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..46f123d --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,37 @@ +pipeline { + environment { + GH_CREDS = credentials('jenkins-x-github') + GKE_SA = credentials('gke-sa') + } + agent { + label "jenkins-jx-base" + } + stages { + stage('CI Build') { + when { + branch 'PR-*' + } + environment { + CLUSTER_NAME = "JXCE-$BRANCH_NAME" + ZONE = "europe-west1-b" + PROJECT_ID = "jenkinsx-dev" + SERVICE_ACCOUNT_FILE = "$GKE_SA" + } + steps { + container('jx-base') { + sh "./jx/scripts/ci-gke.sh" + } + } + } + + stage('Build and Push Release') { + when { + branch 'master' + } + steps { + // auto upgrade demo env + echo 'auto upgrades not yet implemented' + } + } + } +} diff --git a/jx/scripts/ci-gke.sh b/jx/scripts/ci-gke.sh new file mode 100755 index 0000000..f9956b5 --- /dev/null +++ b/jx/scripts/ci-gke.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -e +set -x + +gcloud auth activate-service-account --key-file $SERVICE_ACCOUNT_FILE + +jx create cluster gke -n ${CLUSTER_NAME,,} \ + --skip-login=true \ + --batch-mode \ + --project-id ${PROJECT_ID} \ + --zone ${ZONE} \ + --machine-type n1-standard-2 \ + --num-nodes 2 \ + --git-username $GH_CREDS_USR \ + --git-api-token $GH_CREDS_PSW \ + --git-provider-url github.com \ No newline at end of file diff --git a/jx/scripts/release.sh b/jx/scripts/release.sh new file mode 100755 index 0000000..20d602b --- /dev/null +++ b/jx/scripts/release.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +