mirror of
https://github.com/ncarlier/webhookd.git
synced 2024-09-20 08:55:28 +00:00
chore: Use Makefile to manage docker container.
This commit is contained in:
parent
6149bca5ab
commit
a2ebea6ba7
58
Makefile
58
Makefile
|
@ -1,34 +1,64 @@
|
||||||
.SILENT :
|
.SILENT :
|
||||||
.PHONY : build clean
|
.PHONY : volume build clean run shell test
|
||||||
|
|
||||||
|
USERNAME:=ncarlier
|
||||||
|
APPNAME:=webhookd
|
||||||
|
IMAGE:=$(USERNAME)/$(APPNAME)
|
||||||
|
|
||||||
TAG:=`git describe --abbrev=0 --tags`
|
TAG:=`git describe --abbrev=0 --tags`
|
||||||
LDFLAGS:=-X main.buildVersion $(TAG)
|
LDFLAGS:=-X main.buildVersion $(TAG)
|
||||||
APPNAME:=webhookd
|
ROOTPKG:=github.com/$(USERNAME)
|
||||||
ROOTPKG:=github.com/ncarlier
|
|
||||||
PKGDIR:=$(GOPATH)/src/$(ROOTPKG)
|
PKGDIR:=$(GOPATH)/src/$(ROOTPKG)
|
||||||
|
|
||||||
|
define docker_run_flags
|
||||||
|
--rm \
|
||||||
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
|
--env-file $(PWD)/etc/env.conf \
|
||||||
|
-P \
|
||||||
|
-i -t
|
||||||
|
endef
|
||||||
|
|
||||||
|
ifdef DEVMODE
|
||||||
|
docker_run_flags += --volumes-from $(APPNAME)_volumes
|
||||||
|
endif
|
||||||
|
|
||||||
all: build
|
all: build
|
||||||
|
|
||||||
prepare:
|
volume:
|
||||||
|
echo "Building $(APPNAME) volumes..."
|
||||||
|
sudo docker run -v $(PWD):/opt/$(APPNAME) -v ~/var/$(APPNAME):/var/opt/$(APPNAME) --name $(APPNAME)_volumes busybox true
|
||||||
|
|
||||||
|
build:
|
||||||
|
echo "Building $(IMAGE) docker image..."
|
||||||
|
sudo docker build --rm -t $(IMAGE) .
|
||||||
|
|
||||||
|
clean:
|
||||||
|
echo "Removing $(IMAGE) docker image..."
|
||||||
|
sudo docker rmi $(IMAGE)
|
||||||
|
|
||||||
|
run:
|
||||||
|
echo "Running $(IMAGE) docker image..."
|
||||||
|
sudo docker run $(docker_run_flags) --name $(APPNAME) $(IMAGE)
|
||||||
|
|
||||||
|
shell:
|
||||||
|
echo "Running $(IMAGE) docker image with shell access..."
|
||||||
|
sudo docker run $(docker_run_flags) --entrypoint="/bin/bash" $(IMAGE) -c /bin/bash
|
||||||
|
|
||||||
|
test:
|
||||||
|
echo "Running tests..."
|
||||||
|
test.sh
|
||||||
|
|
||||||
|
dist-prepare:
|
||||||
rm -rf $(PKGDIR)
|
rm -rf $(PKGDIR)
|
||||||
mkdir -p $(PKGDIR)
|
mkdir -p $(PKGDIR)
|
||||||
ln -s $(PWD)/src $(PKGDIR)/$(APPNAME)
|
ln -s $(PWD)/src $(PKGDIR)/$(APPNAME)
|
||||||
|
|
||||||
build: prepare
|
|
||||||
echo "Building $(APPNAME)..."
|
|
||||||
go build -ldflags "$(LDFLAGS)" -o bin/$(APPNAME) ./src
|
|
||||||
|
|
||||||
clean: clean-dist
|
|
||||||
rm -f bin/$(APPNAME)
|
|
||||||
|
|
||||||
clean-dist:
|
|
||||||
rm -rf dist
|
rm -rf dist
|
||||||
|
|
||||||
dist: clean-dist
|
dist: dist-prepare
|
||||||
# godep restore
|
# godep restore
|
||||||
mkdir -p dist/linux/amd64 && GOOS=linux GOARCH=amd64 go build -o dist/linux/amd64/$(APPNAME) ./src
|
mkdir -p dist/linux/amd64 && GOOS=linux GOARCH=amd64 go build -o dist/linux/amd64/$(APPNAME) ./src
|
||||||
tar -cvzf dist/$(APPNAME)-linux-amd64-$(TAG).tar.gz -C dist/linux/amd64 $(APPNAME)
|
tar -cvzf dist/$(APPNAME)-linux-amd64-$(TAG).tar.gz -C dist/linux/amd64 $(APPNAME)
|
||||||
# mkdir -p dist/linux/i386 && GOOS=linux GOARCH=386 go build -o dist/linux/i386/$(APPNAME) ./src
|
# mkdir -p dist/linux/i386 && GOOS=linux GOARCH=386 go build -o dist/linux/i386/$(APPNAME) ./src
|
||||||
# tar -cvzf dist/$(APPNAME)-linux-i386-i386$(TAG).tar.gz -C dist/linux/i386 $(APPNAME)
|
# tar -cvzf dist/$(APPNAME)-linux-i386-i386$(TAG).tar.gz -C dist/linux/i386 $(APPNAME)
|
||||||
|
|
||||||
|
|
||||||
|
|
16
bin/bash
16
bin/bash
|
@ -1,16 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
# Simple script to get a shell into the container.
|
|
||||||
###
|
|
||||||
sudo docker run \
|
|
||||||
--name webhookd \
|
|
||||||
--rm \
|
|
||||||
--env-file="./etc/env.conf" \
|
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
-v /home/nicolas/.ssh/deploy_rsa:/root/.ssh/id_rsa \
|
|
||||||
-it \
|
|
||||||
--entrypoint="/bin/bash" \
|
|
||||||
ncarlier/webhookd \
|
|
||||||
-c /bin/bash
|
|
11
bin/start
11
bin/start
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#-v ~/.ssh/deploy_rsa:/var/opt/webhookd/deploy_rsa \
|
|
||||||
sudo docker run \
|
|
||||||
--name webhookd \
|
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
-v /home/nicolas/.ssh/deploy_rsa:/root/.ssh/id_rsa \
|
|
||||||
-it --rm \
|
|
||||||
-P \
|
|
||||||
--env-file ./etc/env.conf \
|
|
||||||
ncarlier/webhookd
|
|
||||||
|
|
24
bin/test
24
bin/test
|
@ -1,24 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
IP=`sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' webhookd`
|
|
||||||
|
|
||||||
echo "Test bad URL"
|
|
||||||
curl -H "Content-Type: application/json" \
|
|
||||||
--data @assets/bitbucket.json \
|
|
||||||
http://$IP:8080/bad/action
|
|
||||||
|
|
||||||
echo "Test Bitbucket hook"
|
|
||||||
curl -H "Content-Type: application/json" \
|
|
||||||
--data @assets/bitbucket.json \
|
|
||||||
http://$IP:8080/bitbucket/echo
|
|
||||||
|
|
||||||
echo "Test Github hook"
|
|
||||||
curl -H "Content-Type: application/json" \
|
|
||||||
--data @assets/github.json \
|
|
||||||
http://$IP:8080/github/echo
|
|
||||||
|
|
||||||
echo "Test Docker hook"
|
|
||||||
curl -H "Content-Type: application/json" \
|
|
||||||
--data @assets/docker.json \
|
|
||||||
http://$IP:8080/docker/echo
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user