mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-02 17:50:39 +00:00
I would to do some changes in Scope and test my changes in Kubernetes, following the guide on: https://github.com/weaveworks/scope#using-weave-scope-with-kubernetes For that, I need a Docker image of Scope hosted on a Docker hub and reference that Docker image in my Kubernetes resource yaml file. Instead of building Scope on my laptop and pushing it manually on my Docker Hub account, I am using my CircleCI account to do this automatically. This patch fixes the deployment target in circle.yml. It uses the environment variable $DOCKER_USER from the CircleCI settings to guard against unintended deployment. As before, only the "master" branch will trigger the deployment. This change should not impact the build of the official Scope Docker image.
72 lines
2.8 KiB
YAML
72 lines
2.8 KiB
YAML
general:
|
|
branches:
|
|
ignore:
|
|
- gh-pages
|
|
|
|
machine:
|
|
services:
|
|
- docker
|
|
environment:
|
|
GOPATH: /home/ubuntu
|
|
SRCDIR: /home/ubuntu/src/github.com/weaveworks/scope
|
|
PATH: $PATH:$HOME/.local/bin
|
|
CLOUDSDK_CORE_DISABLE_PROMPTS: 1
|
|
SCOPE_UI_BUILD: $HOME/docker/scope_ui_build.tar
|
|
|
|
dependencies:
|
|
cache_directories:
|
|
- "~/docker"
|
|
override:
|
|
- >
|
|
sudo apt-get update &&
|
|
sudo apt-get install jq pv &&
|
|
(curl https://sdk.cloud.google.com | bash) &&
|
|
(test -z "$SECRET_PASSWORD" || bin/setup-circleci-secrets "$SECRET_PASSWORD") &&
|
|
make deps &&
|
|
mkdir -p $(dirname $SRCDIR) &&
|
|
cp -r $(pwd)/ $SRCDIR
|
|
- "cd $SRCDIR/client; ../tools/rebuild-image weaveworks/scope-ui-build . Dockerfile package.json webpack.production.config.js .eslintrc .babelrc && touch $SRCDIR/.scope_ui_build.uptodate"
|
|
- "cd $SRCDIR/backend; ../tools/rebuild-image weaveworks/scope-backend-build . Dockerfile build.sh && touch $SRCDIR/.scope_backend_build.uptodate"
|
|
- test -z "$SECRET_PASSWORD" || (cd $SRCDIR/integration; ./gce.sh make_template):
|
|
parallel: false
|
|
|
|
test:
|
|
override:
|
|
- cd $SRCDIR; make RM= lint:
|
|
parallel: true
|
|
- cd $SRCDIR; COVERDIR=./coverage make RM= tests:
|
|
parallel: true
|
|
- cd $SRCDIR; make RM= client-test static:
|
|
parallel: true
|
|
- cd $SRCDIR; rm -f prog/scope; if [ "$CIRCLE_NODE_INDEX" = "0" ]; then GOARCH=arm make GO_BUILD_INSTALL_DEPS= RM= prog/scope; else GOOS=darwin make GO_BUILD_INSTALL_DEPS= RM= prog/scope; fi:
|
|
parallel: true
|
|
- cd $SRCDIR; rm -f prog/scope; make RM=:
|
|
parallel: true
|
|
- cd $SRCDIR/experimental; ./build_on_circle.sh:
|
|
parallel: true
|
|
- "test -z \"$SECRET_PASSWORD\" || (cd $SRCDIR/integration; ./gce.sh setup && eval $(./gce.sh hosts); ./setup.sh)":
|
|
parallel: true
|
|
- test -z "$SECRET_PASSWORD" || (cd $SRCDIR/integration; eval $(./gce.sh hosts); ./run_all.sh):
|
|
parallel: true
|
|
timeout: 300
|
|
post:
|
|
- test -z "$SECRET_PASSWORD" || (cd $SRCDIR/integration; ./gce.sh destroy):
|
|
parallel: true
|
|
- test "$CIRCLE_NODE_INDEX" != "0" || (cd $SRCDIR; ./tools/cover/gather_coverage.sh ./coverage $SRCDIR/coverage):
|
|
parallel: true
|
|
- test "$CIRCLE_NODE_INDEX" != "0" || (goveralls -repotoken $COVERALLS_REPO_TOKEN -coverprofile=$SRCDIR/profile.cov -service=circleci || true):
|
|
parallel: true
|
|
- test "$CIRCLE_NODE_INDEX" != "0" || (cd $SRCDIR; cp coverage.* scope.tar $CIRCLE_ARTIFACTS):
|
|
parallel: true
|
|
|
|
deployment:
|
|
hub:
|
|
branch: master
|
|
commands:
|
|
- >
|
|
test -z "${DOCKER_USER}" || (
|
|
docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS &&
|
|
(test "${DOCKER_USER}" == "weaveworks" || docker tag weaveworks/scope:latest $DOCKER_USER/scope:latest) &&
|
|
docker push $DOCKER_USER/scope
|
|
)
|