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 :
|
||||
.PHONY : build clean
|
||||
.PHONY : volume build clean run shell test
|
||||
|
||||
USERNAME:=ncarlier
|
||||
APPNAME:=webhookd
|
||||
IMAGE:=$(USERNAME)/$(APPNAME)
|
||||
|
||||
TAG:=`git describe --abbrev=0 --tags`
|
||||
LDFLAGS:=-X main.buildVersion $(TAG)
|
||||
APPNAME:=webhookd
|
||||
ROOTPKG:=github.com/ncarlier
|
||||
ROOTPKG:=github.com/$(USERNAME)
|
||||
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
|
||||
|
||||
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)
|
||||
mkdir -p $(PKGDIR)
|
||||
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
|
||||
|
||||
dist: clean-dist
|
||||
dist: dist-prepare
|
||||
# godep restore
|
||||
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)
|
||||
# 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)
|
||||
|
||||
|
||||
|
|
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