Add gitlab CI auto builds for triggers
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
This commit is contained in:
parent
c1e4cef75b
commit
8d5da5cfca
3 changed files with 207 additions and 102 deletions
276
.gitlab-ci.yml
276
.gitlab-ci.yml
|
@ -47,7 +47,6 @@ before_script:
|
||||||
GS_ACCESS_KEY_ID: $GS_KEY
|
GS_ACCESS_KEY_ID: $GS_KEY
|
||||||
GS_SECRET_ACCESS_KEY: $GS_SECRET
|
GS_SECRET_ACCESS_KEY: $GS_SECRET
|
||||||
ANSIBLE_KEEP_REMOTE_FILES: "1"
|
ANSIBLE_KEEP_REMOTE_FILES: "1"
|
||||||
CLUSTER_MODE: default
|
|
||||||
BOOTSTRAP_OS: none
|
BOOTSTRAP_OS: none
|
||||||
LOG_LEVEL: "-vv"
|
LOG_LEVEL: "-vv"
|
||||||
|
|
||||||
|
@ -129,127 +128,234 @@ before_script:
|
||||||
-e inventory_path=${PWD}/inventory/inventory.ini
|
-e inventory_path=${PWD}/inventory/inventory.ini
|
||||||
-e cloud_region=${CLOUD_REGION}
|
-e cloud_region=${CLOUD_REGION}
|
||||||
|
|
||||||
|
# Test matrix. Leave the comments for markup scripts.
|
||||||
|
.coreos_calico_sep_variables: &coreos_calico_sep_variables
|
||||||
|
# stage: deploy-gce-part1
|
||||||
|
KUBE_NETWORK_PLUGIN: calico
|
||||||
|
CLOUD_IMAGE: coreos-stable
|
||||||
|
CLOUD_REGION: us-west1-b
|
||||||
|
CLUSTER_MODE: separated
|
||||||
|
BOOTSTRAP_OS: coreos
|
||||||
|
|
||||||
|
.debian8_canal_ha_variables: &debian8_canal_ha_variables
|
||||||
|
# stage: deploy-gce-part1
|
||||||
|
KUBE_NETWORK_PLUGIN: canal
|
||||||
|
CLOUD_IMAGE: debian-8-kubespray
|
||||||
|
CLOUD_REGION: us-east1-b
|
||||||
|
CLUSTER_MODE: ha
|
||||||
|
|
||||||
|
.rhel7_weave_variables: &rhel7_weave_variables
|
||||||
|
# stage: deploy-gce-part1
|
||||||
|
KUBE_NETWORK_PLUGIN: weave
|
||||||
|
CLOUD_IMAGE: rhel-7
|
||||||
|
CLOUD_REGION: europe-west1-b
|
||||||
|
CLUSTER_MODE: default
|
||||||
|
|
||||||
|
.centos7_flannel_variables: ¢os7_flannel_variables
|
||||||
|
# stage: deploy-gce-part2
|
||||||
|
KUBE_NETWORK_PLUGIN: flannel
|
||||||
|
CLOUD_IMAGE: centos-7
|
||||||
|
CLOUD_REGION: us-west1-a
|
||||||
|
CLUSTER_MODE: default
|
||||||
|
|
||||||
|
.debian8_calico_variables: &debian8_calico_variables
|
||||||
|
# stage: deploy-gce-part2
|
||||||
|
KUBE_NETWORK_PLUGIN: calico
|
||||||
|
CLOUD_IMAGE: debian-8-kubespray
|
||||||
|
CLOUD_REGION: us-central1-b
|
||||||
|
CLUSTER_MODE: default
|
||||||
|
|
||||||
|
.coreos_canal_variables: &coreos_canal_variables
|
||||||
|
# stage: deploy-gce-part2
|
||||||
|
KUBE_NETWORK_PLUGIN: canal
|
||||||
|
CLOUD_IMAGE: coreos-stable
|
||||||
|
CLOUD_REGION: us-east1-b
|
||||||
|
CLUSTER_MODE: default
|
||||||
|
BOOTSTRAP_OS: coreos
|
||||||
|
|
||||||
|
.rhel7_canal_sep_variables: &rhel7_canal_sep_variables
|
||||||
|
# stage: deploy-gce-special
|
||||||
|
KUBE_NETWORK_PLUGIN: canal
|
||||||
|
CLOUD_IMAGE: rhel-7
|
||||||
|
CLOUD_REGION: us-east1-b
|
||||||
|
CLUSTER_MODE: separated
|
||||||
|
|
||||||
|
.ubuntu_weave_sep_variables: &ubuntu_weave_sep_variables
|
||||||
|
# stage: deploy-gce-special
|
||||||
|
KUBE_NETWORK_PLUGIN: weave
|
||||||
|
CLOUD_IMAGE: ubuntu-1604-xenial
|
||||||
|
CLOUD_REGION: us-central1-b
|
||||||
|
CLUSTER_MODE: separated
|
||||||
|
|
||||||
|
.centos7_calico_ha_variables: ¢os7_calico_ha_variables
|
||||||
|
# stage: deploy-gce-special
|
||||||
|
KUBE_NETWORK_PLUGIN: calico
|
||||||
|
CLOUD_IMAGE: centos-7
|
||||||
|
CLOUD_REGION: europe-west1-b
|
||||||
|
CLUSTER_MODE: ha
|
||||||
|
|
||||||
|
# Builds for PRs only (auto)
|
||||||
coreos-calico-sep:
|
coreos-calico-sep:
|
||||||
stage: deploy-gce-part1
|
stage: deploy-gce-part1
|
||||||
<<: *job
|
<<: *job
|
||||||
<<: *gce
|
<<: *gce
|
||||||
variables:
|
variables:
|
||||||
<<: *gce_variables
|
<<: *gce_variables
|
||||||
KUBE_NETWORK_PLUGIN: calico
|
<<: *coreos_calico_sep_variables
|
||||||
CLOUD_IMAGE: coreos-stable
|
|
||||||
CLOUD_REGION: us-west1-b
|
|
||||||
CLUSTER_MODE: separated
|
|
||||||
BOOTSTRAP_OS: coreos
|
|
||||||
when: on_success
|
when: on_success
|
||||||
except: ['triggers']
|
except: ['triggers']
|
||||||
only: [/^pr-.*$/]
|
only: [/^pr-.*$/]
|
||||||
|
|
||||||
debian8-canal-ha:
|
|
||||||
stage: deploy-gce-part1
|
|
||||||
<<: *job
|
|
||||||
<<: *gce
|
|
||||||
variables:
|
|
||||||
<<: *gce_variables
|
|
||||||
KUBE_NETWORK_PLUGIN: canal
|
|
||||||
CLOUD_IMAGE: debian-8-kubespray
|
|
||||||
CLOUD_REGION: us-east1-b
|
|
||||||
CLUSTER_MODE: ha
|
|
||||||
when: manual
|
|
||||||
only: ['master', /^pr-.*$/, 'triggers']
|
|
||||||
|
|
||||||
rhel7-weave:
|
|
||||||
stage: deploy-gce-part1
|
|
||||||
<<: *job
|
|
||||||
<<: *gce
|
|
||||||
variables:
|
|
||||||
<<: *gce_variables
|
|
||||||
KUBE_NETWORK_PLUGIN: weave
|
|
||||||
CLOUD_IMAGE: rhel-7
|
|
||||||
CLOUD_REGION: europe-west1-b
|
|
||||||
CLUSTER_MODE: default
|
|
||||||
when: manual
|
|
||||||
only: ['master', /^pr-.*$/, 'triggers']
|
|
||||||
|
|
||||||
centos7-flannel:
|
centos7-flannel:
|
||||||
stage: deploy-gce-part2
|
stage: deploy-gce-part2
|
||||||
<<: *job
|
<<: *job
|
||||||
<<: *gce
|
<<: *gce
|
||||||
variables:
|
variables:
|
||||||
<<: *gce_variables
|
<<: *gce_variables
|
||||||
KUBE_NETWORK_PLUGIN: flannel
|
<<: *centos7_flannel_variables
|
||||||
CLOUD_IMAGE: centos-7
|
|
||||||
CLOUD_REGION: us-west1-a
|
|
||||||
CLUSTER_MODE: default
|
|
||||||
when: on_success
|
when: on_success
|
||||||
except: ['triggers']
|
except: ['triggers']
|
||||||
only: [/^pr-.*$/]
|
only: [/^pr-.*$/]
|
||||||
|
|
||||||
debian8-calico:
|
|
||||||
stage: deploy-gce-part2
|
|
||||||
<<: *job
|
|
||||||
<<: *gce
|
|
||||||
variables:
|
|
||||||
<<: *gce_variables
|
|
||||||
KUBE_NETWORK_PLUGIN: calico
|
|
||||||
CLOUD_IMAGE: debian-8-kubespray
|
|
||||||
CLOUD_REGION: us-central1-b
|
|
||||||
CLUSTER_MODE: default
|
|
||||||
when: manual
|
|
||||||
only: ['master', /^pr-.*$/, 'triggers']
|
|
||||||
|
|
||||||
coreos-canal:
|
|
||||||
stage: deploy-gce-part2
|
|
||||||
<<: *job
|
|
||||||
<<: *gce
|
|
||||||
variables:
|
|
||||||
<<: *gce_variables
|
|
||||||
KUBE_NETWORK_PLUGIN: canal
|
|
||||||
CLOUD_IMAGE: coreos-stable
|
|
||||||
CLOUD_REGION: us-east1-b
|
|
||||||
CLUSTER_MODE: default
|
|
||||||
BOOTSTRAP_OS: coreos
|
|
||||||
when: manual
|
|
||||||
only: ['master', /^pr-.*$/, 'triggers']
|
|
||||||
|
|
||||||
rhel7-canal-sep:
|
|
||||||
stage: deploy-gce-special
|
|
||||||
<<: *job
|
|
||||||
<<: *gce
|
|
||||||
variables:
|
|
||||||
<<: *gce_variables
|
|
||||||
KUBE_NETWORK_PLUGIN: canal
|
|
||||||
CLOUD_IMAGE: rhel-7
|
|
||||||
CLOUD_REGION: us-east1-b
|
|
||||||
CLUSTER_MODE: separated
|
|
||||||
when: manual
|
|
||||||
only: ['master', /^pr-.*$/, 'triggers']
|
|
||||||
|
|
||||||
ubuntu-weave-sep:
|
ubuntu-weave-sep:
|
||||||
stage: deploy-gce-special
|
stage: deploy-gce-special
|
||||||
<<: *job
|
<<: *job
|
||||||
<<: *gce
|
<<: *gce
|
||||||
variables:
|
variables:
|
||||||
<<: *gce_variables
|
<<: *gce_variables
|
||||||
KUBE_NETWORK_PLUGIN: weave
|
<<: *ubuntu_weave_sep_variables
|
||||||
CLOUD_IMAGE: ubuntu-1604-xenial
|
|
||||||
CLOUD_REGION: us-central1-b
|
|
||||||
CLUSTER_MODE: separated
|
|
||||||
when: on_success
|
when: on_success
|
||||||
except: ['triggers']
|
except: ['triggers']
|
||||||
only: [/^pr-.*$/]
|
only: [/^pr-.*$/]
|
||||||
|
|
||||||
|
# More builds for PRs/merges (manual) and triggers (auto)
|
||||||
|
debian8-canal-ha:
|
||||||
|
stage: deploy-gce-part1
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *debian8_canal_ha_variables
|
||||||
|
when: manual
|
||||||
|
except: ['triggers']
|
||||||
|
only: ['master', /^pr-.*$/]
|
||||||
|
|
||||||
|
debian8-canal-ha-triggers:
|
||||||
|
stage: deploy-gce-part1
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *debian8_canal_ha_variables
|
||||||
|
when: on_success
|
||||||
|
only: ['triggers']
|
||||||
|
|
||||||
|
rhel7-weave:
|
||||||
|
stage: deploy-gce-part1
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *rhel7_weave_variables
|
||||||
|
when: manual
|
||||||
|
except: ['triggers']
|
||||||
|
only: ['master', /^pr-.*$/]
|
||||||
|
|
||||||
|
rhel7-weave-triggers:
|
||||||
|
stage: deploy-gce-part1
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *rhel7_weave_variables
|
||||||
|
when: on_success
|
||||||
|
only: ['triggers']
|
||||||
|
|
||||||
|
debian8-calico:
|
||||||
|
stage: deploy-gce-part2
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *debian8_calico_variables
|
||||||
|
when: manual
|
||||||
|
except: ['triggers']
|
||||||
|
only: ['master', /^pr-.*$/]
|
||||||
|
|
||||||
|
debian8-calico-triggers:
|
||||||
|
stage: deploy-gce-part2
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *debian8_calico_variables
|
||||||
|
when: on_success
|
||||||
|
only: ['triggers']
|
||||||
|
|
||||||
|
coreos-canal:
|
||||||
|
stage: deploy-gce-part2
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *coreos_canal_variables
|
||||||
|
when: manual
|
||||||
|
except: ['triggers']
|
||||||
|
only: ['master', /^pr-.*$/]
|
||||||
|
|
||||||
|
coreos-canal-triggers:
|
||||||
|
stage: deploy-gce-part2
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *coreos_canal_variables
|
||||||
|
when: on_success
|
||||||
|
only: ['triggers']
|
||||||
|
|
||||||
|
rhel7-canal-sep:
|
||||||
|
stage: deploy-gce-special
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *rhel7_canal_sep_variables
|
||||||
|
when: manual
|
||||||
|
except: ['triggers']
|
||||||
|
only: ['master', /^pr-.*$/,]
|
||||||
|
|
||||||
|
rhel7-canal-sep-triggers:
|
||||||
|
stage: deploy-gce-special
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *rhel7_canal_sep_variables
|
||||||
|
when: on_success
|
||||||
|
only: ['triggers']
|
||||||
|
|
||||||
centos7-calico-ha:
|
centos7-calico-ha:
|
||||||
stage: deploy-gce-special
|
stage: deploy-gce-special
|
||||||
<<: *job
|
<<: *job
|
||||||
<<: *gce
|
<<: *gce
|
||||||
variables:
|
variables:
|
||||||
<<: *gce_variables
|
<<: *gce_variables
|
||||||
KUBE_NETWORK_PLUGIN: calico
|
<<: *centos7_calico_ha_variables
|
||||||
CLOUD_IMAGE: centos-7
|
|
||||||
CLOUD_REGION: europe-west1-b
|
|
||||||
CLUSTER_MODE: ha
|
|
||||||
when: manual
|
when: manual
|
||||||
only: ['master', /^pr-.*$/, 'triggers']
|
except: ['triggers']
|
||||||
|
only: ['master', /^pr-.*$/]
|
||||||
|
|
||||||
|
centos7-calico-ha-triggers:
|
||||||
|
stage: deploy-gce-special
|
||||||
|
<<: *job
|
||||||
|
<<: *gce
|
||||||
|
variables:
|
||||||
|
<<: *gce_variables
|
||||||
|
<<: *centos7_calico_ha_variables
|
||||||
|
when: on_success
|
||||||
|
only: ['triggers']
|
||||||
|
|
||||||
|
#TODO(bogdando) add coreos-weave and *triggers
|
||||||
|
|
||||||
syntax-check:
|
syntax-check:
|
||||||
<<: *job
|
<<: *job
|
||||||
|
|
|
@ -38,17 +38,16 @@ Gitlab CI test matrix
|
||||||
GCE instances
|
GCE instances
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
| Stage| Network plugin| OS type| GCE region| Nodes layout| When|
|
| Stage| Network plugin| OS type| GCE region| Nodes layout
|
||||||
|------------------|------------------|------------------|------------------|------------------|------------------|
|
|--------------------|--------------------|--------------------|--------------------|--------------------|
|
||||||
| part1| calico| coreos-stable| us-west1-b| separated| on_success|
|
| part1| calico| coreos-stable| us-west1-b| separated|
|
||||||
| part1| canal|debian-8-kubespray| us-east1-b| ha| manual|
|
| part1| canal| debian-8-kubespray| us-east1-b| ha|
|
||||||
| part1| weave| rhel-7| europe-west1-b| default| manual|
|
| part1| weave| rhel-7| europe-west1-b| default|
|
||||||
| part2| flannel| centos-7| us-west1-a| default| on_success|
|
| part2| flannel| centos-7| us-west1-a| default|
|
||||||
| part2| calico|debian-8-kubespray| us-central1-b| default| manual|
|
| part2| calico| debian-8-kubespray| us-central1-b| default|
|
||||||
| part2| canal| coreos-stable| us-east1-b| default| manual|
|
| part2| canal| coreos-stable| us-east1-b| default|
|
||||||
| special| canal| rhel-7| us-east1-b| separated| manual|
|
| special| canal| rhel-7| us-east1-b| separated|
|
||||||
| special| weave|ubuntu-1604-xenial| us-central1-b| separated| on_success|
|
| special| weave| ubuntu-1604-xenial| us-central1-b| separated|
|
||||||
| special| calico| centos-7| europe-west1-b| ha| manual|
|
| special| calico| centos-7| europe-west1-b| ha|
|
||||||
|
|
||||||
The "Stage" means a build step of the build pipeline. The steps are ordered as `part1->part2->special`.
|
The "Stage" means a build step of the build pipeline. The steps are ordered as `part1->part2->special`.
|
||||||
The "When" stands for the build step trigger condition.
|
|
||||||
|
|
|
@ -12,13 +12,13 @@ for i in `echo $a`; do
|
||||||
done
|
done
|
||||||
|
|
||||||
echo
|
echo
|
||||||
a=$(perl -ne '/^\s{2}(stage:\sdeploy-gce-|when:\s)(\S+)$/ && print "$2\n";/^\s{4}(CLOUD_IMAGE|KUBE_NETWORK_PLUGIN|CLOUD_REGION|CLUSTER_MODE):\s(\S+)$/ && print "$2\n"' .gitlab-ci.yml)
|
a=$(perl -ne '/^#\sstage:\sdeploy-gce-(\S+)$/ && print "$1\n";/^\s{2}(CLOUD_IMAGE|KUBE_NETWORK_PLUGIN|CLOUD_REGION|CLUSTER_MODE):\s(\S+)$/ && print "$2\n"' .gitlab-ci.yml)
|
||||||
echo Gitlab-CI
|
echo Gitlab-CI
|
||||||
printf "|%18s|%18s|%18s|%18s|%18s|%18s|\n" "Stage" "Network plugin" "OS type" "GCE region" "Nodes layout" "When"
|
printf "|%20s|%20s|%20s|%20s|%20s\n" "Stage" "Network plugin" "OS type" "GCE region" "Nodes layout"
|
||||||
echo "|------------------|------------------|------------------|------------------|------------------|------------------|"
|
echo "|--------------------|--------------------|--------------------|--------------------|--------------------|"
|
||||||
c=0
|
c=0
|
||||||
for i in `echo $a`; do
|
for i in `echo $a`; do
|
||||||
printf "|%18s" $i
|
printf "|%20s" $i
|
||||||
[ $(($c % 6)) -eq 5 ] && printf "|\n"
|
[ $(($c % 5)) -eq 4 ] && printf "|\n"
|
||||||
c=$(( c + 1))
|
c=$(( c + 1))
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in a new issue