Skip to content

Commit 1b72c0f

Browse files
author
Gabriel Monroy
committed
Merge pull request #2062 from gabrtv/seed-registry
ref(builder/registry): have builder push slugrunner in ExecStartPost
2 parents f3f8131 + c9a6499 commit 1b72c0f

4 files changed

Lines changed: 22 additions & 2 deletions

File tree

builder/conf.d/push-images.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[template]
2+
src = "push-images"
3+
dest = "/usr/local/bin/push-images"
4+
uid = 0
5+
gid = 0
6+
mode = "0755"
7+
keys = [
8+
"/deis/registry",
9+
]
10+
check_cmd = "/app/bin/check {{ .src }}"

builder/templates/push-images

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
3+
# wait until the docker image exists
4+
until docker history deis/slugrunner >/dev/null 2>&1; do
5+
sleep 2
6+
done
7+
8+
# tag and push
9+
docker tag deis/slugrunner:latest {{ .deis_registry_host }}:{{ .deis_registry_port }}/deis/slugrunner:latest
10+
docker push {{ .deis_registry_host }}:{{ .deis_registry_port }}/deis/slugrunner:latest

deisctl/units/deis-builder.service

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ ExecStartPre=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/builder`; docker h
88
ExecStartPre=/bin/sh -c "docker inspect deis-builder >/dev/null && docker rm -f deis-builder || true"
99
ExecStart=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/builder` && docker run --name deis-builder --rm -p 2223:22 -e EXTERNAL_PORT=2223 -e HOST=$COREOS_PRIVATE_IPV4 --privileged $IMAGE"
1010
ExecStartPost=/bin/sh -c "echo 'Waiting for builder on 2223/tcp...' && until echo 'dummy-value' | ncat $COREOS_PRIVATE_IPV4 2223 >/dev/null 2>&1; do sleep 1; done"
11+
ExecStartPost=/bin/bash -c "nsenter --pid --uts --mount --ipc --net --target $(docker inspect --format='{{ .State.Pid }}' deis-builder) /usr/local/bin/push-images"
1112
ExecStopPost=/usr/bin/docker stop deis-builder
1213

1314
[Install]

deisctl/units/deis-registry.service

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ TimeoutStartSec=30m
77
ExecStartPre=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/registry`; docker history $IMAGE >/dev/null || docker pull $IMAGE"
88
ExecStartPre=/bin/sh -c "docker inspect deis-registry >/dev/null && docker rm -f deis-registry || true"
99
ExecStart=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/registry` && docker run --name deis-registry --rm -p 5000:5000 -e EXTERNAL_PORT=5000 -e HOST=$COREOS_PRIVATE_IPV4 $IMAGE"
10-
ExecStartPost=/bin/sh -c "echo 'Waiting for listener on 5000/tcp...' && until echo 'dummy-value' | ncat $COREOS_PRIVATE_IPV4 5000 >/dev/null 2>&1; do sleep 1; done && docker pull deis/slugrunner:latest && docker tag deis/slugrunner $COREOS_PRIVATE_IPV4:5000/deis/slugrunner && docker push $COREOS_PRIVATE_IPV4:5000/deis/slugrunner"
11-
ExecStopPost=/usr/bin/docker stop deis-registry
10+
ExecStopPost=-/usr/bin/docker stop deis-registry
1211

1312
[Install]
1413
WantedBy=multi-user.target

0 commit comments

Comments
 (0)