File tree Expand file tree Collapse file tree 2 files changed +111
-0
lines changed Expand file tree Collapse file tree 2 files changed +111
-0
lines changed Original file line number Diff line number Diff line change
1
+ version : 2
2
+ jobs :
3
+ shellcheck :
4
+ docker :
5
+ - image : nlknguyen/alpine-shellcheck:v0.4.6
6
+ steps :
7
+ - checkout
8
+ - run :
9
+ name : Check Docker Hub Hooks
10
+ command : |
11
+ find hooks -type f | wc -l
12
+ find hooks -type f | xargs shellcheck -e SC2086 --external-sources
13
+ - run :
14
+ name : Check Scripts
15
+ command : |
16
+ find . -type f -name '*.sh' | wc -l
17
+ find . -type f -name '*.sh' | xargs shellcheck -e SC2086 -e SC1090 --external-sources
18
+ build :
19
+ docker :
20
+ - image : circleci/golang:1.11.5
21
+ steps :
22
+ - checkout
23
+ - setup_remote_docker :
24
+ docker_layer_caching : true
25
+ - run :
26
+ name : Create docker image
27
+ command : make build
28
+
29
+ build-deploy :
30
+ docker :
31
+ - image : circleci/golang:1.11.5
32
+ steps :
33
+ - checkout
34
+ - setup_remote_docker :
35
+ docker_layer_caching : true
36
+ - run :
37
+ name : Create docker image
38
+ command : make build
39
+ - run :
40
+ name : Logg into Docker registry
41
+ command : docker login -u $docker_release_user -p $docker_release_password
42
+ - run :
43
+ name : Publish docker image
44
+ command : make push
45
+
46
+ release :
47
+ docker :
48
+ - image : circleci/golang:1.11.5
49
+ steps :
50
+ - checkout
51
+ - setup_remote_docker :
52
+ docker_layer_caching : true
53
+ - run :
54
+ name : Login to public Docker HUB
55
+ command : |
56
+ docker login -u $docker_release_user -p $docker_release_password
57
+ make release
58
+
59
+ workflows :
60
+ version : 2
61
+ verify :
62
+ jobs :
63
+ - shellcheck
64
+ - build
65
+ deploy :
66
+ jobs :
67
+ - build-deploy :
68
+ requires :
69
+ - shellcheck
70
+ filters :
71
+ branches :
72
+ only :
73
+ - master
74
+ release :
75
+ jobs :
76
+ - release :
77
+ filters :
78
+ tags :
79
+ only : /^([0-9]\d*)\.([0-9]\d*)\.([0-9]\d*).*$/
80
+ branches :
81
+ ignore : /.*/
Original file line number Diff line number Diff line change
1
+ DOCKER_RELEASE_REG =solidnerd
2
+ DOCKER_IMAGE =bookstack
3
+
4
+
5
+ DOCKER_INTERNAL_TAG := $(shell git rev-parse --short HEAD)
6
+ DOCKER_RELEASE_TAG := $(shell git describe)
7
+ BUILD_DATE := $(shell date -u +"% Y-% m-% dT% H:% M:% SZ")
8
+ VCS_URL := https://github.com/solidnerd/docker-bookstack
9
+
10
+ .PHONY : build push pull release
11
+
12
+ build :
13
+ docker image build . \
14
+ -t $(DOCKER_RELEASE_REG ) /$(DOCKER_IMAGE ) :$(DOCKER_INTERNAL_TAG ) \
15
+ --build-arg VCS_REF=$(DOCKER_INTERNAL_TAG ) \
16
+ --build-arg BUILD_DATE=$(BUILD_DATE ) \
17
+ --build-arg VCS_URL=$(VCS_URL )
18
+
19
+ push :
20
+ docker push $(DOCKER_RELEASE_REG ) /$(DOCKER_IMAGE ) :$(DOCKER_INTERNAL_TAG )
21
+
22
+ pull :
23
+ docker pull $(DOCKER_RELEASE_REG ) /$(DOCKER_IMAGE ) :$(DOCKER_INTERNAL_TAG )
24
+
25
+ release :
26
+ docker tag $(DOCKER_RELEASE_REG ) /$(DOCKER_IMAGE ) :$(DOCKER_INTERNAL_TAG ) $(DOCKER_RELEASE_REG ) /$(DOCKER_IMAGE ) :$(DOCKER_RELEASE_TAG )
27
+ docker tag $(DOCKER_RELEASE_REG ) /$(DOCKER_IMAGE ) :$(DOCKER_INTERNAL_TAG ) $(DOCKER_RELEASE_REG ) /$(DOCKER_IMAGE ) :latest
28
+
29
+ docker push $(DOCKER_RELEASE_REG)/$(DOCKER_IMAGE):$(DOCKER_RELEASE_TAG)
30
+ docker push $(DOCKER_RELEASE_REG)/$(DOCKER_IMAGE):latest
You can’t perform that action at this time.
0 commit comments