mirror of https://github.com/k3s-io/k3s
commit
c1bd13ec4b
|
@ -85,6 +85,43 @@
|
|||
<healthScaleFactor>100.0</healthScaleFactor>
|
||||
</hudson.tasks.junit.JUnitResultArchiver>
|
||||
|
||||
# Implements Docker Build and Publish Plugin
|
||||
# https://wiki.jenkins-ci.org/display/JENKINS/CloudBees+Docker+Build+and+Publish+plugin
|
||||
# From the docs: 'This plugin provides the ability to build projects with a Dockerfile, and publish the resultant
|
||||
# tagged image (repo) to the docker registry.'
|
||||
#
|
||||
# repoName: docker registry repo name to publish the image
|
||||
# dockerfilePath: workspace relative path to the 'Dockerfile' to build
|
||||
# tag: Tag to apply to the built image
|
||||
# credentialsId: Jenkins 'Username with password' credentials ID (hex string) to authenticate to docker registry.
|
||||
# Found under http:<jenkinsurl>/credentials -> "Advanced"
|
||||
- builder:
|
||||
name: docker-build-publish
|
||||
builders:
|
||||
- raw:
|
||||
xml: |
|
||||
<com.cloudbees.dockerpublish.DockerBuilder plugin="docker-build-publish@1.1">
|
||||
<server plugin="docker-commons@1.2"/>
|
||||
<registry plugin="docker-commons@1.2">
|
||||
<credentialsId>{credentialsId}</credentialsId>
|
||||
</registry>
|
||||
<repoName>{repoName}</repoName>
|
||||
<noCache>true</noCache>
|
||||
<forcePull>true</forcePull>
|
||||
<dockerfilePath>{dockerfilePath}</dockerfilePath>
|
||||
<skipBuild>false</skipBuild>
|
||||
<skipDecorate>false</skipDecorate>
|
||||
<repoTag>{tag}</repoTag>
|
||||
<skipPush>false</skipPush>
|
||||
<createFingerprint>true</createFingerprint>
|
||||
<skipTagLatest>true</skipTagLatest>
|
||||
</com.cloudbees.dockerpublish.DockerBuilder>
|
||||
- shell: |
|
||||
#!/bin/bash
|
||||
set -e
|
||||
set -x
|
||||
docker rmi -f {repoName}:{tag}
|
||||
|
||||
# Default email recipients are set in Jenkins global config
|
||||
- defaults:
|
||||
name: global
|
||||
|
|
|
@ -0,0 +1,172 @@
|
|||
# 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: shell to execute from workspace
|
||||
- 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: '{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: |
|
||||
#!/bin/bash
|
||||
set -e
|
||||
set -x
|
||||
cd go/src/github.com/google/cadvisor
|
||||
|
||||
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: |
|
||||
#!/bin/bash
|
||||
set -e
|
||||
set -x
|
||||
cd go/src/k8s.io/heapster
|
||||
|
||||
make test-unit test-integration
|
||||
- 'kubelet':
|
||||
repoName: 'kubernetes/kubernetes'
|
||||
gitbasedir: 'k8s.io/kubernetes'
|
||||
owner: 'pwittroc@google.com'
|
||||
shell: |
|
||||
#!/bin/bash
|
||||
set -e
|
||||
set -x
|
||||
cd go/src/k8s.io/kubernetes
|
||||
|
||||
go get -u github.com/tools/godep
|
||||
go get -u github.com/onsi/ginkgo/ginkgo
|
||||
go get -u github.com/onsi/gomega
|
||||
|
||||
godep go build test/e2e_node/environment/conformance.go
|
||||
godep go run test/e2e_node/runner/run_e2e.go --zone us-central1-f --hosts e2e-node-container-vm-v20151215,e2e-node-coreos-beta.c.kubernetes-jenkins.internal,e2e-node-ubuntu-trusty,e2e-node-ubuntu-trusty-docker1-10 --logtostderr -v 2
|
||||
jobs:
|
||||
- '{gitproject}-gce-e2e-ci'
|
Loading…
Reference in New Issue