Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 45c5ab6

Browse filesBrowse files
authored
Merge pull request solidnerd#123 from solidnerd/add-circleci-support
Add circle-ci
2 parents 314fe7c + fee655d commit 45c5ab6
Copy full SHA for 45c5ab6

File tree

Expand file treeCollapse file tree

2 files changed

+111
-0
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+111
-0
lines changed

‎.circleci/config.yml

Copy file name to clipboard
+81Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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: /.*/

‎Makefile

Copy file name to clipboard
+30Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.