Skip to content
This repository was archived by the owner on Dec 5, 2023. It is now read-only.

Commit 4a1002a

Browse files
authored
Merge pull request #44 from microservices-demo/gcb-transition
Add GCB, remove travis docker push
2 parents b8974c0 + 22b5fc3 commit 4a1002a

11 files changed

+87
-131
lines changed

.gcloudignore

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# This file specifies files that are *not* uploaded to Google Cloud Platform
2+
# using gcloud. It follows the same syntax as .gitignore, with the addition of
3+
# "#!include" directives (which insert the entries of the given .gitignore-style
4+
# file at that point).
5+
#
6+
# For more information, run:
7+
# $ gcloud topic gcloudignore
8+
#
9+
.gcloudignore
10+
# If you would like to upload your .git directory, .gitignore file or files
11+
# from your .gitignore file, remove the corresponding line
12+
# below:
13+
.git
14+
.gitignore
15+
#!include:.gitignore

.gitignore

-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,2 @@
1-
docker/catalogue/
21
__pycache__/
3-
vendor/**
4-
!vendor/manifest
52
coverage.out

.travis.yml

-8
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,9 @@ script:
1818
- set -e
1919
- ./scripts/build.sh;
2020
- ./test/test.sh unit.py
21-
# - ./test/test.sh component.py
2221
- ./test/test.sh container.py --tag $TAG
2322

2423
after_success:
25-
- set -e;
26-
- if [ -z "$DOCKER_PASS" ] ; then
27-
echo "This is a build triggered by an external PR. Skipping docker push.";
28-
exit 0;
29-
fi;
30-
- docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS;
31-
- ./scripts/push.sh
3224
- $HOME/gopath/bin/goveralls -coverprofile=coverage.out -service=travis-ci
3325
notifications:
3426
slack:

Makefile

+1-6
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,8 @@ INSTANCE = catalogue
99

1010
default: test
1111

12-
copy:
13-
docker create --name $(INSTANCE) $(NAME)-dev
14-
docker cp $(INSTANCE):/app/main $(shell pwd)/app
15-
docker rm $(INSTANCE)
16-
1712
release:
18-
docker build -t $(NAME) -f ./docker/catalogue/Dockerfile-release .
13+
docker build -t $(NAME) -f ./docker/catalogue/Dockerfile .
1914

2015
test:
2116
GROUP=weaveworksdemos COMMIT=test ./scripts/build.sh

cloudbuild.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
steps:
2+
- name: 'gcr.io/cloud-builders/docker'
3+
args: ['build', '--cache-from', 'gcr.io/sock-shop-releases/catalogue', '-t', 'gcr.io/sock-shop-releases/catalogue', '-f', 'docker/catalogue/Dockerfile', '.']
4+
5+
- name: 'gcr.io/cloud-builders/docker'
6+
args: ['tag', 'gcr.io/sock-shop-releases/catalogue', 'gcr.io/sock-shop-releases/catalogue:test']
7+
8+
images:
9+
- 'gcr.io/sock-shop-releases/catalogue'
10+
- 'gcr.io/sock-shop-releases/catalogue:test'

docker-compose-zipkin.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services:
55
build:
66
context: .
77
dockerfile: ./docker/catalogue/Dockerfile
8-
image: weaveworksdemos/catalogue-dev
8+
image: weaveworksdemos/catalogue
99
hostname: catalogue
1010
restart: always
1111
cap_drop:
@@ -21,7 +21,7 @@ services:
2121
catalogue-db:
2222
build:
2323
context: ./docker/catalogue-db/
24-
image: weaveworksdemos/catalogue-dev-db
24+
image: weaveworksdemos/catalogue-db
2525
hostname: catalogue-db
2626
restart: always
2727
environment:

docker-compose.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services:
55
build:
66
context: .
77
dockerfile: ./docker/catalogue/Dockerfile
8-
image: weaveworksdemos/catalogue-dev
8+
image: weaveworksdemos/catalogue
99
hostname: catalogue
1010
restart: always
1111
cap_drop:
@@ -20,7 +20,7 @@ services:
2020
catalogue-db:
2121
build:
2222
context: ./docker/catalogue-db/
23-
image: weaveworksdemos/catalogue-dev-db
23+
image: weaveworksdemos/catalogue-db
2424
hostname: catalogue-db
2525
restart: always
2626
environment:

docker/catalogue/Dockerfile

+38-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,46 @@
11
FROM golang:1.7
22

3-
RUN mkdir /app
4-
COPY . /go/src/github.com/microservices-demo/catalogue/
5-
COPY images/ /images/
3+
COPY . /go/src/github.com/microservices-demo/catalogue
4+
WORKDIR /go/src/github.com/microservices-demo/catalogue
65

76
RUN go get -u github.com/FiloSottile/gvt
8-
RUN cd /go/src/github.com/microservices-demo/catalogue && gvt restore
7+
RUN gvt restore && \
8+
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /app github.com/microservices-demo/catalogue/cmd/cataloguesvc
9+
10+
FROM alpine:3.4
11+
12+
ENV SERVICE_USER=myuser \
13+
SERVICE_UID=10001 \
14+
SERVICE_GROUP=mygroup \
15+
SERVICE_GID=10001
16+
17+
RUN addgroup -g ${SERVICE_GID} ${SERVICE_GROUP} && \
18+
adduser -g "${SERVICE_NAME} user" -D -H -G ${SERVICE_GROUP} -s /sbin/nologin -u ${SERVICE_UID} ${SERVICE_USER} && \
19+
apk add --update libcap
20+
21+
WORKDIR /
22+
COPY --from=0 /app /app
23+
COPY images/ /images/
24+
25+
RUN chmod +x /app && \
26+
chown -R ${SERVICE_USER}:${SERVICE_GROUP} /app /images && \
27+
setcap 'cap_net_bind_service=+ep' /app
28+
29+
USER ${SERVICE_USER}
930

10-
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /app/main github.com/microservices-demo/catalogue/cmd/cataloguesvc
31+
ARG BUILD_DATE
32+
ARG BUILD_VERSION
33+
ARG COMMIT
1134

12-
CMD ["/app/main", "-port=80"]
35+
LABEL org.label-schema.vendor="Weaveworks" \
36+
org.label-schema.build-date="${BUILD_DATE}" \
37+
org.label-schema.version="${BUILD_VERSION}" \
38+
org.label-schema.name="Socks Shop: Catalogue" \
39+
org.label-schema.description="REST API for Catalogue service" \
40+
org.label-schema.url="https://github.com/microservices-demo/catalogue" \
41+
org.label-schema.vcs-url="github.com:microservices-demo/catalogue.git" \
42+
org.label-schema.vcs-ref="${COMMIT}" \
43+
org.label-schema.schema-version="1.0"
1344

45+
CMD ["/app", "-port=80"]
1446
EXPOSE 80

docker/catalogue/Dockerfile-release

-37
This file was deleted.

scripts/build.sh

+19-15
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/env bash
1+
#!/usr/bin/env sh
22

33
set -ev
44

@@ -7,42 +7,46 @@ export BUILD_DATE=`date +%Y-%m-%dT%T%z`
77

88
SCRIPT_DIR=$(dirname "$0")
99

10-
if [[ -z "$GROUP" ]] ; then
10+
if [ -z "$GROUP" ] ; then
1111
echo "Cannot find GROUP env var"
1212
exit 1
1313
fi
1414

15-
if [[ -z "$COMMIT" ]] ; then
15+
if [ -z "$COMMIT" ] ; then
1616
echo "Cannot find COMMIT env var"
1717
exit 1
1818
fi
1919

20-
if [[ "$(uname)" == "Darwin" ]]; then
20+
$(docker -v >/dev/null 2>&1)
21+
if [ $? -eq 0 ]; then
2122
DOCKER_CMD=docker
2223
else
23-
DOCKER_CMD="sudo docker"
24+
DOCKER_CMD=`sudo docker`
2425
fi
2526
CODE_DIR=$(cd $SCRIPT_DIR/..; pwd)
2627
echo $CODE_DIR
2728

28-
cp -r $CODE_DIR/images/ $CODE_DIR/docker/catalogue/images/
29-
cp -r $CODE_DIR/cmd/ $CODE_DIR/docker/catalogue/cmd/
30-
cp $CODE_DIR/*.go $CODE_DIR/docker/catalogue/
31-
mkdir -p $CODE_DIR/docker/catalogue/vendor && cp $CODE_DIR/vendor/manifest $CODE_DIR/docker/catalogue/vendor/
29+
mkdir -p $CODE_DIR/build
30+
BUILD_DIR=$CODE_DIR/build
31+
32+
cp -r $CODE_DIR/docker $BUILD_DIR/
33+
cp -r $CODE_DIR/images/ $BUILD_DIR/docker/catalogue/images/
34+
cp -r $CODE_DIR/cmd/ $BUILD_DIR/docker/catalogue/cmd/
35+
cp $CODE_DIR/*.go $BUILD_DIR/docker/catalogue/
36+
mkdir -p $BUILD_DIR/docker/catalogue/vendor/ && \
37+
cp $CODE_DIR/vendor/manifest $BUILD_DIR/docker/catalogue/vendor/
3238

3339
REPO=${GROUP}/$(basename catalogue);
3440

35-
$DOCKER_CMD build -t ${REPO}-dev $CODE_DIR/docker/catalogue;
36-
$DOCKER_CMD create --name catalogue ${REPO}-dev;
37-
$DOCKER_CMD cp catalogue:/app/main $CODE_DIR/docker/catalogue/app;
38-
$DOCKER_CMD rm catalogue;
3941
$DOCKER_CMD build \
4042
--build-arg BUILD_VERSION=$BUILD_VERSION \
4143
--build-arg BUILD_DATE=$BUILD_DATE \
4244
--build-arg COMMIT=$COMMIT \
4345
-t ${REPO}:${COMMIT} \
44-
-f $CODE_DIR/docker/catalogue/Dockerfile-release $CODE_DIR/docker/catalogue;
46+
-f $BUILD_DIR/docker/catalogue/Dockerfile $BUILD_DIR/docker/catalogue;
4547

4648
$DOCKER_CMD build \
4749
-t ${REPO}-db:${COMMIT} \
48-
-f $CODE_DIR/docker/catalogue-db/Dockerfile $CODE_DIR/docker/catalogue-db;
50+
-f $BUILD_DIR/docker/catalogue-db/Dockerfile $BUILD_DIR/docker/catalogue-db/;
51+
52+
rm -rf $BUILD_DIR

scripts/push.sh

-52
This file was deleted.

0 commit comments

Comments
 (0)