Add CI for local development
We're using concourse because we happen to have a concourse deployment available. You can look at it here: https://wings.concourse.ci/teams/k8s-c10s/
This commit is contained in:
parent
fc5d4050b1
commit
1714b31d49
|
|
@ -0,0 +1,70 @@
|
|||
|
||||
jobs:
|
||||
- name: test-dev-branch
|
||||
public: true
|
||||
serial: true
|
||||
plan:
|
||||
- get: git-kubectl-dev
|
||||
trigger: true
|
||||
- task: run-tests
|
||||
config:
|
||||
platform: linux
|
||||
image_resource:
|
||||
type: docker-image
|
||||
source:
|
||||
repository: golang
|
||||
tag: 1.9
|
||||
inputs:
|
||||
- name: git-kubectl-dev
|
||||
path: go/src/k8s.io/kubectl
|
||||
run:
|
||||
path: /bin/bash
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
#!/usr/bin/env bash
|
||||
set -eux
|
||||
export GOPATH="${PWD}/go"
|
||||
export PATH="${PATH}:${GOPATH}/bin"
|
||||
go get github.com/onsi/ginkgo/ginkgo
|
||||
cd "${GOPATH}/src/k8s.io/kubectl/pkg/framework/test"
|
||||
ginkgo -r
|
||||
- name: push-to-prod-branch
|
||||
serial: true
|
||||
plan:
|
||||
- get: git-kubectl-dev
|
||||
trigger: true
|
||||
passed:
|
||||
- test-dev-branch
|
||||
- put: git-kubectl-pair2
|
||||
params:
|
||||
repository: git-kubectl-dev
|
||||
force: true
|
||||
- put: git-kubectl-pair1
|
||||
params:
|
||||
repository: git-kubectl-dev
|
||||
force: true
|
||||
|
||||
|
||||
resources:
|
||||
- name: git-kubectl-dev
|
||||
type: git
|
||||
source:
|
||||
uri: {{git-dev-url}} # git@github.com:totherme/kubectl
|
||||
branch: test-framework-dev
|
||||
private_key: {{git-dev-private-key}}
|
||||
ignore_paths: [pkg/framework/test/ci]
|
||||
|
||||
- name: git-kubectl-pair1
|
||||
type: git
|
||||
source:
|
||||
uri: {{git-pair1-url}} #git@github.com:totherme/kubectl
|
||||
branch: test-framework
|
||||
private_key: {{git-pair1-private-key}}
|
||||
|
||||
- name: git-kubectl-pair2
|
||||
type: git
|
||||
source:
|
||||
uri: {{git-pair2-url}} #git@github.com:hoegaarden/kubectl
|
||||
branch: test-framework
|
||||
private_key: {{git-pair2-private-key}}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env bash
|
||||
set -eu
|
||||
|
||||
# Use DEBUG=1 ./set-pipeline.sh to get debug output
|
||||
[[ -z "${DEBUG:-""}" ]] || set -x
|
||||
|
||||
# Use CONCOURSE_TARGET=my-concourse ./set-pipeline.sh to connect to your local concourse
|
||||
: "${CONCOURSE_TARGET:="wings"}"
|
||||
# Use PIPELINE_NAME=my-name ./set-pipeline.sh to give your pipeline a different name
|
||||
: "${PIPELINE_NAME:="kubectl"}"
|
||||
|
||||
# Use PAIR1_LASTPASS=my-lastpass-key ./set-pipeline.sh to get your github keys and URL from your lastpass entry
|
||||
: "${PAIR1_LASTPASS:="oss-k8s-github-gds-keypair"}"
|
||||
: "${PAIR2_LASTPASS:="oss-k8s-github-hhorl-keypair"}"
|
||||
|
||||
github_pair1_key="$(lpass show "${PAIR1_LASTPASS}" --field "Private Key")"
|
||||
github_pair2_key="$(lpass show "${PAIR2_LASTPASS}" --field "Private Key")"
|
||||
github_pair1_url="$(lpass show "${PAIR1_LASTPASS}" --notes)"
|
||||
github_pair2_url="$(lpass show "${PAIR2_LASTPASS}" --notes)"
|
||||
|
||||
script_dir="$(cd "$(dirname "$0")" ; pwd)"
|
||||
|
||||
# Create/Update the pipline
|
||||
fly set-pipeline \
|
||||
--target="${CONCOURSE_TARGET}" \
|
||||
--pipeline="${PIPELINE_NAME}" \
|
||||
--config="${script_dir}/pipeline.yml" \
|
||||
--var=git-dev-url="${github_pair1_url}" \
|
||||
--var=git-pair1-url="${github_pair1_url}" \
|
||||
--var=git-pair2-url="${github_pair2_url}" \
|
||||
--var=git-dev-private-key="${github_pair1_key}" \
|
||||
--var=git-pair1-private-key="${github_pair1_key}" \
|
||||
--var=git-pair2-private-key="${github_pair2_key}"
|
||||
|
||||
# Make the pipeline publicly available
|
||||
fly expose-pipeline \
|
||||
--target="${CONCOURSE_TARGET}" \
|
||||
--pipeline="${PIPELINE_NAME}"
|
||||
Loading…
Reference in New Issue