Files
kubernetes/hack/jenkins/job-configs/node-e2e.yaml
Phillip Wittrock c51c606f22 Node e2e test runner - run against images
- support allocating gce instances from images and running tests against them
- set --hostname-override to match node name
- add jenkins script to source to reproduce jenkins build locally
2016-02-24 16:29:59 -08:00

156 lines
5.8 KiB
YAML

# Job template to checkout source from github to $WORKSPACE/go/src/{gitbasedir} and build + publish a docker image.
# - Tags the docker image with 'canary'.
# - Job is executed daily and when changes are found polling github (every 5m).
# - Console output is published to google cloud storage.
#
# gitproject: name of the project - for display purposes only
# owner: owner to be notified for job failures. test results are published to owner email
# repoName: github repo to checkout e.g. kubernetes/kubernetes or google/cadvisor. Must match the docker image repo name where the image will be published.
# gitbasedir: directory under $WORKSPACE/go/src to checkout source repo to - e.g. k8s.io/kubernetes or github.com/google/cadvisor
# dockerfilePath: workspace relative path to the 'Dockerfile' to build
- job-template:
name: '{gitproject}-dockercanarybuild-ci'
description: 'Build and push {gitproject} docker image.<br>Test Owner: {owner}.'
node: 'node'
logrotate:
numToKeep: 200
node: node
builders:
- docker-build-publish:
repoName: '{repoName}'
dockerfilePath: 'go/src/{gitbasedir}/{dockerfilePath}'
tag: 'canary'
credentialsId: '1f361efb-5b85-4f61-91a7-4ec7fb2a5c23'
publishers:
- claim-build
- gcs-uploader
- log-parser
- email-ext:
recipients: '{owner}'
scm:
- git:
url: 'https://github.com/{repoName}'
browser: githubweb
browser-url: 'https://github.com/{repoName}'
branches:
- 'master'
skip-tag: true
basedir: 'go/src/{gitbasedir}'
triggers:
- pollscm:
cron: 'H/5 * * * *'
- timed: '@daily'
wrappers:
- ansicolor:
colormap: xterm
- timeout:
timeout: 30
fail: true
- timestamps
# Job template to checkout source from github to $WORKSPACE/go/src/{gitbasedir}, setup go environment variables, and execute a
# shell script.
# - Job is executed daily and when changes are found polling github (every 5m).
# - Console output is published to google cloud storage.
#
# gitproject: name of the project - for display purposes only
# owner: owner to be notified for job failures. test results are published to owner email
# repoName: github repo to checkout e.g. kubernetes/kubernetes or google/cadvisor
# gitbasedir: directory under $WORKSPACE/go/src to checkout source repo to - e.g. k8s.io/kubernetes or github.com/google/cadvisor
# shell: bash command to execute from gitbasedir. should be a single script such as {gitproject}-jenkins.sh
- job-template:
name: '{gitproject}-gce-e2e-ci'
description: '{gitproject} continuous e2e tests.<br>Test Owner: {owner}.'
node: 'node'
logrotate:
numToKeep: 200
node: node
builders:
- shell: |
#!/bin/bash
set -e
set -x
cd go/src/{gitbasedir}
{shell}
publishers:
- claim-build
- gcs-uploader
- log-parser
- email-ext:
recipients: '{owner}'
scm:
- git:
url: 'https://github.com/{repoName}'
browser: githubweb
browser-url: 'https://github.com/{repoName}'
branches:
- 'master'
skip-tag: true
basedir: 'go/src/{gitbasedir}'
triggers:
- pollscm:
cron: 'H/5 * * * *'
- timed: '@daily'
wrappers:
- ansicolor:
colormap: xterm
- timeout:
timeout: 30
fail: true
- timestamps
- inject:
properties-content: |
GOROOT=/usr/local/go
GOPATH=$WORKSPACE/go
PATH=$PATH:$GOROOT/bin:$WORKSPACE/go/bin
- project:
name: node-docker-canary-build
repoName: 'google/cadvisor'
gitproject:
- 'cadvisor':
repoName: 'google/cadvisor'
gitbasedir: 'github.com/google/cadvisor'
dockerfilePath: 'deploy/canary/Dockerfile'
owner: 'vishnuk@google.com'
- 'heapster':
repoName: 'kubernetes/heapster'
gitbasedir: 'k8s.io/heapster'
dockerfilePath: 'deploy/docker/canary/Dockerfile'
owner: 'pszczesniak@google.com'
jobs:
- '{gitproject}-dockercanarybuild-ci'
- project:
name: node-gce-e2e
repoName: 'google/cadvisor'
gitproject:
- 'cadvisor':
repoName: 'google/cadvisor'
gitbasedir: 'github.com/google/cadvisor'
owner: 'vishnuk@google.com'
shell: |
go get -u github.com/tools/godep
./build/presubmit.sh
godep go build -tags test github.com/google/cadvisor/integration/runner
./runner --logtostderr --test-retry-count=8 --test-retry-whitelist=integration/runner/retrywhitelist.txt \
--ssh-options "-i /home/jenkins/.ssh/google_compute_engine -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o CheckHostIP=no -o StrictHostKeyChecking=no" \
e2e-cadvisor-ubuntu-trusty \
e2e-cadvisor-coreos-beta \
e2e-cadvisor-container-vm-v20151215 \
e2e-cadvisor-container-vm-v20160127 \
e2e-cadvisor-rhel-7
- 'heapster':
repoName: 'kubernetes/heapster'
gitbasedir: 'k8s.io/heapster'
owner: 'pszczesniak@google.com'
shell: 'make test-unit test-integration'
- 'kubelet':
repoName: 'kubernetes/kubernetes'
gitbasedir: 'k8s.io/kubernetes'
owner: 'pwittroc@google.com'
shell: 'test/e2e_node/jenkins/e2e-node-jenkins.sh test/e2e_node/jenkins/jenkins-ci.properties'
jobs:
- '{gitproject}-gce-e2e-ci'