1
- VERSION := 0
2
- AUTHOR := ashald
3
- PLUGIN_NAME := docker-volume-loopback
4
- PLUGIN_FULL_NAME := ${AUTHOR}/${PLUGIN_NAME}
5
- ROOTFS_CONTAINER := ${PLUGIN_NAME}-rootfs
6
- ROOTFS_IMAGE := ${AUTHOR}/${ROOTFS_CONTAINER}
1
+ VERSION ?= $(shell git describe 2>/dev/null || echo "v0.$(git rev-list --count HEAD ) ")
2
+ AUTHOR := ashald
3
+ PLUGIN_NAME := docker-volume-loopback
4
+ PLUGIN_FULL_NAME := ${AUTHOR}/${PLUGIN_NAME}
5
+ ROOTFS_CONTAINER := ${PLUGIN_NAME}-rootfs
6
+ ROOTFS_IMAGE := ${AUTHOR}/${ROOTFS_CONTAINER}
7
+
7
8
8
9
all : format build
9
10
11
+
10
12
format :
11
13
go fmt ./...
12
14
15
+
13
16
build :
14
17
GOOS=linux GOARCH=amd64 go build -o " $( PLUGIN_NAME) "
15
18
19
+
20
+ clean :
21
+ mkdir -p ./plugin/rootfs
22
+ rm -rf ./plugin/rootfs
23
+ rm -f ./$(ROOTFS_IMAGE)
24
+
25
+ clean-plugin :
26
+ docker plugin rm --force $(PLUGIN_FULL_NAME ) :$(VERSION ) || true
27
+ docker plugin rm --force $(PLUGIN_FULL_NAME) || true
28
+
29
+
16
30
rootfs-image :
17
31
docker build -t $(ROOTFS_IMAGE ) .
18
32
19
33
20
34
rootfs : rootfs-image
21
35
docker rm -vf $(ROOTFS_CONTAINER ) || true
22
36
docker create --name $(ROOTFS_CONTAINER ) $(ROOTFS_IMAGE ) || true
23
- mkdir -p plugin/rootfs
24
- rm -rf plugin/rootfs/*
25
- docker export $(ROOTFS_CONTAINER ) | tar -x -C plugin/rootfs
37
+ mkdir -p ./ plugin/rootfs
38
+ rm -rf ./ plugin/rootfs/*
39
+ docker export $(ROOTFS_CONTAINER ) | tar -x -C ./ plugin/rootfs
26
40
docker rm -vf $(ROOTFS_CONTAINER )
27
41
28
42
@@ -33,12 +47,19 @@ plugin: rootfs
33
47
docker plugin enable $(PLUGIN_NAME )
34
48
35
49
36
- plugin-push : rootfs
50
+ plugin-push-version : rootfs
51
+ docker plugin rm --force $(PLUGIN_FULL_NAME ) :$(VERSION ) || true
52
+ docker plugin create $(PLUGIN_FULL_NAME ) :$(VERSION ) ./plugin
53
+ docker plugin push $(PLUGIN_FULL_NAME ) :$(VERSION )
54
+
55
+
56
+ plugin-push-default : rootfs
37
57
docker plugin rm --force $(PLUGIN_FULL_NAME ) || true
38
58
docker plugin create $(PLUGIN_FULL_NAME ) ./plugin
39
- docker plugin create $(PLUGIN_FULL_NAME ) :$(VERSION ) ./plugin
40
59
docker plugin push $(PLUGIN_FULL_NAME )
41
- docker plugin push $(PLUGIN_FULL_NAME ) :$(VERSION )
42
60
43
61
44
- .PHONY : build rootfs-image rootfs plugin plugin-push
62
+ plugin-push : plugin-push-version plugin-push-default
63
+
64
+
65
+ .PHONY : clean clean-plugin build rootfs-image rootfs plugin plugin-push plugin-push-version plugin-push-default
0 commit comments