-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathentry.sh
42 lines (36 loc) · 1.21 KB
/
entry.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh
CLONE_URL=`echo $EVENT_PAYLOAD | jq ".repository.clone_url" --raw-output`
COMMIT=`echo $EVENT_PAYLOAD | jq ".after" --raw-output`
REF=`echo $EVENT_PAYLOAD | jq ".ref" --raw-output`
echo "Creating data container for build: $COMMIT"
docker create -v /$COMMIT \
--name $COMMIT \
tianon/true:latest true
echo "Get source to build $CLONE_URL:$COMMIT"
docker run --rm \
--volumes-from $COMMIT \
-w /$COMMIT \
--entrypoint=/bin/sh \
leanlabs/git:latest -c "/usr/bin/git -C ./ init && \
/usr/bin/git -C ./ fetch $CLONE_URL $REF && \
/usr/bin/git -C ./ checkout $COMMIT"
echo "Build Docker image $IMAGE:latest"
docker run --rm \
-e COMMAND=build \
-e IMAGE=$IMAGE \
-e TAG=latest \
--volumes-from $COMMIT \
-v /var/run/docker.sock:/var/run/docker.sock \
-w /$COMMIT \
leanlabs/docker
echo "Publish docker image: $IMAGE:latest"
docker run --rm \
-e COMMAND=publish \
-e DOCKER_HUB_USERNAME=$DOCKER_HUB_USERNAME \
-e DOCKER_HUB_PASSWORD=$DOCKER_HUB_PASSWORD \
-e IMAGE=$IMAGE \
-e TAG=latest \
-v /var/run/docker.sock:/var/run/docker.sock \
leanlabs/docker
echo "Cleaning up"
docker rm -fv $COMMIT