From bd943a5fcf33524b8e00cdb6024c171465f79b5c Mon Sep 17 00:00:00 2001 From: Chris Love Date: Tue, 28 Jun 2016 00:05:41 -0600 Subject: [PATCH] Working on ui deployment (#55) * tweaks for working with cluster * removing local_dc, no worky * work * updating bower --- DEVELOPERS.md | 9 +++ .../docker/cassandra-debian/build-local.sh | 2 +- .../google-debian-openjdk8/build-local.sh | 2 +- .../docker/pet-race-ui-dev/.gitignore | 1 + .../docker/pet-race-ui-dev/Dockerfile | 18 ++++++ .../docker/pet-race-ui-dev/build.sh | 62 +++++++++++++++++++ pet-race-devops/docker/pet-race-ui/Dockerfile | 2 +- pet-race-devops/docker/pet-race-ui/build.sh | 32 +++++++--- pet-race-ui/bower.json | 3 +- 9 files changed, 119 insertions(+), 12 deletions(-) create mode 100644 DEVELOPERS.md create mode 100644 pet-race-devops/docker/pet-race-ui-dev/.gitignore create mode 100644 pet-race-devops/docker/pet-race-ui-dev/Dockerfile create mode 100755 pet-race-devops/docker/pet-race-ui-dev/build.sh diff --git a/DEVELOPERS.md b/DEVELOPERS.md new file mode 100644 index 0000000..9c5d5ad --- /dev/null +++ b/DEVELOPERS.md @@ -0,0 +1,9 @@ +# Setup Process + +## Get K8s 1.3 running locally +You need a beta or 1.3 GA. Use a tool like kube-solo or k8s vagrant from coreos. + +## Local Registry +For development we run most of the dockers out of a local registry on k8s. We currently have issues with docker dependancies and the fact that a of the dockers are currenly in gce. We will correct that eventually. At this point you would need to change the ip addresses in the local build scripts, and the yaml files, which applicable. + +TBD diff --git a/pet-race-devops/docker/cassandra-debian/build-local.sh b/pet-race-devops/docker/cassandra-debian/build-local.sh index b9742a3..546e899 100755 --- a/pet-race-devops/docker/cassandra-debian/build-local.sh +++ b/pet-race-devops/docker/cassandra-debian/build-local.sh @@ -1,6 +1,6 @@ #!/bin/bash VERSION=v1.0 -REPO=10.100.179.231:5000 +REPO=10.100.4.250:5000 DOCKER="${REPO}/cassandra:${VERSION}" docker build -t ${DOCKER} . diff --git a/pet-race-devops/docker/google-debian-openjdk8/build-local.sh b/pet-race-devops/docker/google-debian-openjdk8/build-local.sh index b9742a3..546e899 100755 --- a/pet-race-devops/docker/google-debian-openjdk8/build-local.sh +++ b/pet-race-devops/docker/google-debian-openjdk8/build-local.sh @@ -1,6 +1,6 @@ #!/bin/bash VERSION=v1.0 -REPO=10.100.179.231:5000 +REPO=10.100.4.250:5000 DOCKER="${REPO}/cassandra:${VERSION}" docker build -t ${DOCKER} . diff --git a/pet-race-devops/docker/pet-race-ui-dev/.gitignore b/pet-race-devops/docker/pet-race-ui-dev/.gitignore new file mode 100644 index 0000000..ed58610 --- /dev/null +++ b/pet-race-devops/docker/pet-race-ui-dev/.gitignore @@ -0,0 +1 @@ +*.war diff --git a/pet-race-devops/docker/pet-race-ui-dev/Dockerfile b/pet-race-devops/docker/pet-race-ui-dev/Dockerfile new file mode 100644 index 0000000..49b3b7d --- /dev/null +++ b/pet-race-devops/docker/pet-race-ui-dev/Dockerfile @@ -0,0 +1,18 @@ +# Copyright 2016 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM gcr.io/aronchick-apollobit/google-debian-openjdk8:v1.0 + +ADD *.war /app.war +CMD ["/dumb-init", "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.war", "--spring.profiles.active=${SPRING_PROFILE:-prod}"] diff --git a/pet-race-devops/docker/pet-race-ui-dev/build.sh b/pet-race-devops/docker/pet-race-ui-dev/build.sh new file mode 100755 index 0000000..71412ee --- /dev/null +++ b/pet-race-devops/docker/pet-race-ui-dev/build.sh @@ -0,0 +1,62 @@ +#!/bin/bash +VERSION=v1.1 + +usage() { + echo "Usage: $0 [-p]" 1>&2; + echo " -p PROJECT_ID" + echo " -d will deploy to gcr.io" + echo " -r REPO_IP will overide gcr.io and deploy docker to local repo" + exit 1; +} + +if [ $? != 0 ] ; then usage ; fi + +while getopts "p:hdr:" o; do + case "${o}" in + p) + PROJECT_ID=${OPTARG} + ;; + r) + REPO_URL=${OPTARG} + ;; + d) + DEPLOY=true + ;; + h) + usage + ;; + *) + usage + ;; + esac +done +shift $((OPTIND-1)) +if [ -z "$PROJECT_ID" ]; then + usage +fi + + +REPO=gcr.io/$PROJECT_ID + +if [ $REPO_URL ]; then + REPO=$REPO_URL/$PROJECT_ID +fi + +DOCKER="${REPO}/${PWD##*/}:${VERSION}" + +if [ ! -f app.war ]; then + echo "war not found for build" + exit 0 +fi + +docker build -t ${DOCKER} . + +echo $DEPLOY +if [ "${DEPLOY}" ]; then + + if [ -z $REPO_URL ]; then + gcloud docker push ${DOCKER} + else + docker push ${DOCKER} + fi +fi diff --git a/pet-race-devops/docker/pet-race-ui/Dockerfile b/pet-race-devops/docker/pet-race-ui/Dockerfile index e9e7dc7..49b3b7d 100644 --- a/pet-race-devops/docker/pet-race-ui/Dockerfile +++ b/pet-race-devops/docker/pet-race-ui/Dockerfile @@ -15,4 +15,4 @@ FROM gcr.io/aronchick-apollobit/google-debian-openjdk8:v1.0 ADD *.war /app.war -CMD ["/dumb-init", "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.war", "--spring.profiles.active=prod"] +CMD ["/dumb-init", "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.war", "--spring.profiles.active=${SPRING_PROFILE:-prod}"] diff --git a/pet-race-devops/docker/pet-race-ui/build.sh b/pet-race-devops/docker/pet-race-ui/build.sh index 43ae5d2..6df371c 100755 --- a/pet-race-devops/docker/pet-race-ui/build.sh +++ b/pet-race-devops/docker/pet-race-ui/build.sh @@ -3,26 +3,31 @@ VERSION=v1.1 usage() { echo "Usage: $0 [-p]" 1>&2; - echo " -p PROJECT_ID -d" + echo " -p PROJECT_ID" + echo " -d will deploy to gcr.io" + echo " -r REPO_IP will overide gcr.io and deploy docker to local repo" exit 1; } if [ $? != 0 ] ; then usage ; fi -while getopts "p:hd" o; do +while getopts "p:hdr:" o; do case "${o}" in p) PROJECT_ID=${OPTARG} ;; + r) + REPO_URL=${OPTARG} + ;; d) DEPLOY=true ;; h) - usage - ;; + usage + ;; *) - usage - ;; + usage + ;; esac done shift $((OPTIND-1)) @@ -30,7 +35,13 @@ if [ -z "$PROJECT_ID" ]; then usage fi + REPO=gcr.io/$PROJECT_ID + +if [ $REPO_URL ]; then + REPO=$REPO_URL/$PROJECT_ID +fi + DOCKER="${REPO}/${PWD##*/}:${VERSION}" rm app.war @@ -52,8 +63,13 @@ fi docker build -t ${DOCKER} . echo $DEPLOY -if [ "$DEPLOY" ]; then - gcloud docker push ${DOCKER} +if [ "${DEPLOY}" ]; then + + if [ -z $REPO_URL ]; then + gcloud docker push ${DOCKER} + else + docker push ${DOCKER} + fi fi rm app.war diff --git a/pet-race-ui/bower.json b/pet-race-ui/bower.json index e4b99d9..7e5bf1a 100644 --- a/pet-race-ui/bower.json +++ b/pet-race-ui/bower.json @@ -25,7 +25,8 @@ "sockjs-client": "1.0.3", "stomp-websocket": "2.3.4", "swagger-ui": "2.1.4", - "gentelella": "^1.3.0" + "gentelella": "^1.3.0", + "angular-nvd3": "^1.0.7" }, "devDependencies": { "angular-mocks": "1.5.2"