Skip to content

Commit f85ca92

Browse files
committed
Rewrite all build, push, pull makefile targets into pyinvoke script
1 parent 09d6e74 commit f85ca92

File tree

3 files changed

+219
-315
lines changed

3 files changed

+219
-315
lines changed

Makefile

Lines changed: 0 additions & 315 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,6 @@ help:
66
@echo " rebuild rebuilds the image from scratch without using any cached layers"
77
@echo " bash starts bash inside a running container."
88
@echo " cli run redis-cli inside the container on the server with port 7000"
9-
@echo " ---------"
10-
@echo "Bulk build options"
11-
@echo " build-3.0"
12-
@echo " build-3.2"
13-
@echo " build-4.0"
14-
@echo " build-5.0"
15-
@echo " build-6.0"
16-
@echo " build-6.2"
17-
@echo " build-latest"
18-
@echo " build-all"
19-
@echo "----------"
20-
@echo "Push command options"
21-
@echo " push-releases-3.0"
22-
@echo " push-releases-3.2"
23-
@echo " push-releases-4.0"
24-
@echo " push-releases-5.0"
25-
@echo " push-releases-6.0"
26-
@echo " push-releases-6.2"
27-
@echo " push-releases-latest"
28-
@echo " push-all"
29-
@echo "----------"
30-
@echo "Pull command options"
31-
@echo " pull-releases-3.0"
32-
@echo " pull-releases-3.2"
33-
@echo " pull-releases-4.0"
34-
@echo " pull-releases-5.0"
35-
@echo " pull-releases-6.0"
36-
@echo " pull-releases-6.2"
37-
@echo " pull-latest"
38-
@echo " pull-all"
399

4010
build:
4111
docker-compose build
@@ -54,288 +24,3 @@ bash:
5424

5525
cli:
5626
docker-compose exec redis-cluster /redis/src/redis-cli -p 7000
57-
58-
build-3.0:
59-
@docker build --build-arg redis_version=3.0.0 -t grokzen/redis-cluster:3.0.0 . &
60-
@docker build --build-arg redis_version=3.0.1 -t grokzen/redis-cluster:3.0.1 . &
61-
@docker build --build-arg redis_version=3.0.2 -t grokzen/redis-cluster:3.0.2 . &
62-
@docker build --build-arg redis_version=3.0.3 -t grokzen/redis-cluster:3.0.3 . &
63-
@docker build --build-arg redis_version=3.0.4 -t grokzen/redis-cluster:3.0.4 . &
64-
@docker build --build-arg redis_version=3.0.5 -t grokzen/redis-cluster:3.0.5 . &
65-
@docker build --build-arg redis_version=3.0.6 -t grokzen/redis-cluster:3.0.6 . &
66-
@docker build --build-arg redis_version=3.0.7 -t grokzen/redis-cluster:3.0.7 . &
67-
echo "All 3.0.x builds started as background jobs... Will now wait for them to complete building"
68-
wait
69-
echo "All 3.0.x builds now completed"
70-
71-
build-3.2:
72-
@docker build --build-arg redis_version=3.2.0 -t grokzen/redis-cluster:3.2.0 . &
73-
@docker build --build-arg redis_version=3.2.1 -t grokzen/redis-cluster:3.2.1 . &
74-
@docker build --build-arg redis_version=3.2.2 -t grokzen/redis-cluster:3.2.2 . &
75-
@docker build --build-arg redis_version=3.2.3 -t grokzen/redis-cluster:3.2.3 . &
76-
@docker build --build-arg redis_version=3.2.4 -t grokzen/redis-cluster:3.2.4 . &
77-
@docker build --build-arg redis_version=3.2.5 -t grokzen/redis-cluster:3.2.5 . &
78-
@docker build --build-arg redis_version=3.2.6 -t grokzen/redis-cluster:3.2.6 . &
79-
@docker build --build-arg redis_version=3.2.7 -t grokzen/redis-cluster:3.2.7 . &
80-
@docker build --build-arg redis_version=3.2.8 -t grokzen/redis-cluster:3.2.8 . &
81-
@docker build --build-arg redis_version=3.2.9 -t grokzen/redis-cluster:3.2.9 . &
82-
@docker build --build-arg redis_version=3.2.10 -t grokzen/redis-cluster:3.2.10 . &
83-
@docker build --build-arg redis_version=3.2.11 -t grokzen/redis-cluster:3.2.11 . &
84-
@docker build --build-arg redis_version=3.2.12 -t grokzen/redis-cluster:3.2.12 . &
85-
@docker build --build-arg redis_version=3.2.13 -t grokzen/redis-cluster:3.2.13 . &
86-
echo "All 3.2.x builds started as background jobs... Will now wait for them to complete building"
87-
wait
88-
echo "All 3.2.x builds now completed"
89-
90-
build-4.0:
91-
@docker build --build-arg redis_version=4.0.0 -t grokzen/redis-cluster:4.0.0 . &
92-
@docker build --build-arg redis_version=4.0.1 -t grokzen/redis-cluster:4.0.1 . &
93-
@docker build --build-arg redis_version=4.0.2 -t grokzen/redis-cluster:4.0.2 . &
94-
@docker build --build-arg redis_version=4.0.3 -t grokzen/redis-cluster:4.0.3 . &
95-
@docker build --build-arg redis_version=4.0.4 -t grokzen/redis-cluster:4.0.4 . &
96-
@docker build --build-arg redis_version=4.0.5 -t grokzen/redis-cluster:4.0.5 . &
97-
@docker build --build-arg redis_version=4.0.6 -t grokzen/redis-cluster:4.0.6 . &
98-
@docker build --build-arg redis_version=4.0.7 -t grokzen/redis-cluster:4.0.7 . &
99-
@docker build --build-arg redis_version=4.0.8 -t grokzen/redis-cluster:4.0.8 . &
100-
@docker build --build-arg redis_version=4.0.9 -t grokzen/redis-cluster:4.0.9 . &
101-
@docker build --build-arg redis_version=4.0.10 -t grokzen/redis-cluster:4.0.10 . &
102-
@docker build --build-arg redis_version=4.0.11 -t grokzen/redis-cluster:4.0.11 . &
103-
@docker build --build-arg redis_version=4.0.12 -t grokzen/redis-cluster:4.0.12 . &
104-
@docker build --build-arg redis_version=4.0.13 -t grokzen/redis-cluster:4.0.13 . &
105-
@docker build --build-arg redis_version=4.0.14 -t grokzen/redis-cluster:4.0.14 . &
106-
echo "All 4.0.x builds started as background jobs... Will now wait for them to complete building"
107-
wait
108-
echo "All 4.0.x builds now completed"
109-
110-
build-5.0:
111-
# Run all build commands in parralel to possibly get better performance
112-
@docker build --build-arg redis_version=5.0.0 -t grokzen/redis-cluster:5.0.0 . &
113-
@docker build --build-arg redis_version=5.0.1 -t grokzen/redis-cluster:5.0.1 . &
114-
@docker build --build-arg redis_version=5.0.2 -t grokzen/redis-cluster:5.0.2 . &
115-
@docker build --build-arg redis_version=5.0.3 -t grokzen/redis-cluster:5.0.3 . &
116-
@docker build --build-arg redis_version=5.0.4 -t grokzen/redis-cluster:5.0.4 . &
117-
@docker build --build-arg redis_version=5.0.5 -t grokzen/redis-cluster:5.0.5 . &
118-
@docker build --build-arg redis_version=5.0.6 -t grokzen/redis-cluster:5.0.6 . &
119-
@docker build --build-arg redis_version=5.0.7 -t grokzen/redis-cluster:5.0.7 . &
120-
@docker build --build-arg redis_version=5.0.8 -t grokzen/redis-cluster:5.0.8 . &
121-
@docker build --build-arg redis_version=5.0.9 -t grokzen/redis-cluster:5.0.9 . &
122-
@docker build --build-arg redis_version=5.0.10 -t grokzen/redis-cluster:5.0.10 . &
123-
@docker build --build-arg redis_version=5.0.11 -t grokzen/redis-cluster:5.0.11 . &
124-
echo "All 5.0.x builds started as background jobs... Will now wait for them to complete building"
125-
wait
126-
echo "All 5.0.x builds now completed"
127-
128-
build-6.0:
129-
@docker build --build-arg redis_version=6.0.0 -t grokzen/redis-cluster:6.0.0 . &
130-
@docker build --build-arg redis_version=6.0.1 -t grokzen/redis-cluster:6.0.1 . &
131-
@docker build --build-arg redis_version=6.0.2 -t grokzen/redis-cluster:6.0.2 . &
132-
@docker build --build-arg redis_version=6.0.3 -t grokzen/redis-cluster:6.0.3 . &
133-
@docker build --build-arg redis_version=6.0.4 -t grokzen/redis-cluster:6.0.4 . &
134-
@docker build --build-arg redis_version=6.0.5 -t grokzen/redis-cluster:6.0.5 . &
135-
@docker build --build-arg redis_version=6.0.6 -t grokzen/redis-cluster:6.0.6 . &
136-
@docker build --build-arg redis_version=6.0.7 -t grokzen/redis-cluster:6.0.7 . &
137-
@docker build --build-arg redis_version=6.0.8 -t grokzen/redis-cluster:6.0.8 . &
138-
@docker build --build-arg redis_version=6.0.9 -t grokzen/redis-cluster:6.0.9 . &
139-
@docker build --build-arg redis_version=6.0.10 -t grokzen/redis-cluster:6.0.10 . &
140-
@docker build --build-arg redis_version=6.0.11 -t grokzen/redis-cluster:6.0.11 . &
141-
echo "All 6.0.x builds started as background jobs... Will now wait for them to complete building"
142-
wait
143-
echo "All 6.0.x builds now completed"
144-
145-
build-6.2:
146-
@docker build --build-arg redis_version=6.2-rc1 -t grokzen/redis-cluster:6.2-rc1 . &
147-
@docker build --build-arg redis_version=6.2-rc2 -t grokzen/redis-cluster:6.2-rc2 . &
148-
@docker build --build-arg redis_version=6.2.0 -t grokzen/redis-cluster:6.2.0 . &
149-
echo "All 6.2.x builds started as background jobs... Will now wait for them to complete building"
150-
wait
151-
echo "All 6.2.x builds now completed"
152-
153-
build-latest:
154-
docker build --build-arg redis_version=6.2.0 -t grokzen/redis-cluster:latest .
155-
156-
build-all: build-3.0 build-3.2 build-4.0 build-5.0 build-6.0 build-6.2 build-latest
157-
158-
push-releases-3.0:
159-
@docker push grokzen/redis-cluster:3.0.0 &
160-
@docker push grokzen/redis-cluster:3.0.1 &
161-
@docker push grokzen/redis-cluster:3.0.2 &
162-
@docker push grokzen/redis-cluster:3.0.3 &
163-
@docker push grokzen/redis-cluster:3.0.4 &
164-
@docker push grokzen/redis-cluster:3.0.5 &
165-
@docker push grokzen/redis-cluster:3.0.6 &
166-
@docker push grokzen/redis-cluster:3.0.7 &
167-
echo "Pushing all 3.0.x releases to docker-hub... waiting for task to finish"
168-
wait
169-
echo "Upload completed..."
170-
171-
push-releases-3.2:
172-
@docker push grokzen/redis-cluster:3.2.0 &
173-
@docker push grokzen/redis-cluster:3.2.1 &
174-
@docker push grokzen/redis-cluster:3.2.2 &
175-
@docker push grokzen/redis-cluster:3.2.3 &
176-
@docker push grokzen/redis-cluster:3.2.4 &
177-
@docker push grokzen/redis-cluster:3.2.5 &
178-
@docker push grokzen/redis-cluster:3.2.6 &
179-
@docker push grokzen/redis-cluster:3.2.7 &
180-
@docker push grokzen/redis-cluster:3.2.8 &
181-
@docker push grokzen/redis-cluster:3.2.9 &
182-
@docker push grokzen/redis-cluster:3.2.10 &
183-
@docker push grokzen/redis-cluster:3.2.11 &
184-
@docker push grokzen/redis-cluster:3.2.12 &
185-
@docker push grokzen/redis-cluster:3.2.13 &
186-
echo "Pushing all 3.2.x releases to docker-hub... waiting for task to finish"
187-
wait
188-
echo "Upload completed..."
189-
190-
push-releases-4.0:
191-
@docker push grokzen/redis-cluster:4.0.0 &
192-
@docker push grokzen/redis-cluster:4.0.1 &
193-
@docker push grokzen/redis-cluster:4.0.2 &
194-
@docker push grokzen/redis-cluster:4.0.3 &
195-
@docker push grokzen/redis-cluster:4.0.4 &
196-
@docker push grokzen/redis-cluster:4.0.5 &
197-
@docker push grokzen/redis-cluster:4.0.6 &
198-
@docker push grokzen/redis-cluster:4.0.7 &
199-
@docker push grokzen/redis-cluster:4.0.8 &
200-
@docker push grokzen/redis-cluster:4.0.9 &
201-
@docker push grokzen/redis-cluster:4.0.10 &
202-
@docker push grokzen/redis-cluster:4.0.11 &
203-
@docker push grokzen/redis-cluster:4.0.12 &
204-
@docker push grokzen/redis-cluster:4.0.13 &
205-
@docker push grokzen/redis-cluster:4.0.14 &
206-
echo "Pushing all 4.0.x releases to docker-hub... waiting for task to finish"
207-
wait
208-
echo "Upload completed..."
209-
210-
push-releases-5.0:
211-
@docker push grokzen/redis-cluster:5.0.0 &
212-
@docker push grokzen/redis-cluster:5.0.1 &
213-
@docker push grokzen/redis-cluster:5.0.2 &
214-
@docker push grokzen/redis-cluster:5.0.3 &
215-
@docker push grokzen/redis-cluster:5.0.4 &
216-
@docker push grokzen/redis-cluster:5.0.5 &
217-
@docker push grokzen/redis-cluster:5.0.6 &
218-
@docker push grokzen/redis-cluster:5.0.7 &
219-
@docker push grokzen/redis-cluster:5.0.8 &
220-
@docker push grokzen/redis-cluster:5.0.9 &
221-
@docker push grokzen/redis-cluster:5.0.10 &
222-
@docker push grokzen/redis-cluster:5.0.11 &
223-
echo "Pushing all 5.0.x releases to docker-hub... waiting for task to finish"
224-
wait
225-
echo "Upload completed..."
226-
227-
push-releases-6.0:
228-
@docker push grokzen/redis-cluster:6.0.0 &
229-
@docker push grokzen/redis-cluster:6.0.1 &
230-
@docker push grokzen/redis-cluster:6.0.2 &
231-
@docker push grokzen/redis-cluster:6.0.3 &
232-
@docker push grokzen/redis-cluster:6.0.4 &
233-
@docker push grokzen/redis-cluster:6.0.5 &
234-
@docker push grokzen/redis-cluster:6.0.6 &
235-
@docker push grokzen/redis-cluster:6.0.7 &
236-
@docker push grokzen/redis-cluster:6.0.8 &
237-
@docker push grokzen/redis-cluster:6.0.9 &
238-
@docker push grokzen/redis-cluster:6.0.10 &
239-
@docker push grokzen/redis-cluster:6.0.11 &
240-
echo "Pushing all 6.0.x releases to docker-hub... waiting for task to finish"
241-
wait
242-
echo "Upload completed..."
243-
244-
push-releases-6.2:
245-
@docker push grokzen/redis-cluster:6.2-rc1 &
246-
@docker push grokzen/redis-cluster:6.2-rc2 &
247-
@docker push grokzen/redis-cluster:6.2.0 &
248-
echo "Pushing all 6.2.x releases to docker-hub... waiting for task to finish"
249-
wait
250-
echo "Upload completed..."
251-
252-
push-latest:
253-
@docker push grokzen/redis-cluster:latest
254-
255-
push-all: push-releases-3.0 push-releases-3.2 push-releases-4.0 push-releases-5.0 push-releases-6.0 push-releases-6.2 push-latest
256-
257-
258-
#
259-
## Pull operations for rebuilding all containers from already published versions
260-
#
261-
262-
pull-releases-3.0:
263-
@docker pull grokzen/redis-cluster:3.0.0 &
264-
@docker pull grokzen/redis-cluster:3.0.1 &
265-
@docker pull grokzen/redis-cluster:3.0.2 &
266-
@docker pull grokzen/redis-cluster:3.0.3 &
267-
@docker pull grokzen/redis-cluster:3.0.4 &
268-
@docker pull grokzen/redis-cluster:3.0.5 &
269-
@docker pull grokzen/redis-cluster:3.0.6 &
270-
@docker pull grokzen/redis-cluster:3.0.7 &
271-
272-
pull-releases-3.2:
273-
@docker pull grokzen/redis-cluster:3.2.0 &
274-
@docker pull grokzen/redis-cluster:3.2.1 &
275-
@docker pull grokzen/redis-cluster:3.2.2 &
276-
@docker pull grokzen/redis-cluster:3.2.3 &
277-
@docker pull grokzen/redis-cluster:3.2.4 &
278-
@docker pull grokzen/redis-cluster:3.2.5 &
279-
@docker pull grokzen/redis-cluster:3.2.6 &
280-
@docker pull grokzen/redis-cluster:3.2.7 &
281-
@docker pull grokzen/redis-cluster:3.2.8 &
282-
@docker pull grokzen/redis-cluster:3.2.9 &
283-
@docker pull grokzen/redis-cluster:3.2.10 &
284-
@docker pull grokzen/redis-cluster:3.2.11 &
285-
@docker pull grokzen/redis-cluster:3.2.12 &
286-
@docker pull grokzen/redis-cluster:3.2.13 &
287-
288-
pull-releases-4.0:
289-
@docker pull grokzen/redis-cluster:4.0.0 &
290-
@docker pull grokzen/redis-cluster:4.0.1 &
291-
@docker pull grokzen/redis-cluster:4.0.2 &
292-
@docker pull grokzen/redis-cluster:4.0.3 &
293-
@docker pull grokzen/redis-cluster:4.0.4 &
294-
@docker pull grokzen/redis-cluster:4.0.5 &
295-
@docker pull grokzen/redis-cluster:4.0.6 &
296-
@docker pull grokzen/redis-cluster:4.0.7 &
297-
@docker pull grokzen/redis-cluster:4.0.8 &
298-
@docker pull grokzen/redis-cluster:4.0.9 &
299-
@docker pull grokzen/redis-cluster:4.0.10 &
300-
@docker pull grokzen/redis-cluster:4.0.11 &
301-
@docker pull grokzen/redis-cluster:4.0.12 &
302-
@docker pull grokzen/redis-cluster:4.0.13 &
303-
@docker pull grokzen/redis-cluster:4.0.14 &
304-
305-
pull-releases-5.0:
306-
@docker pull grokzen/redis-cluster:5.0.0 &
307-
@docker pull grokzen/redis-cluster:5.0.1 &
308-
@docker pull grokzen/redis-cluster:5.0.2 &
309-
@docker pull grokzen/redis-cluster:5.0.3 &
310-
@docker pull grokzen/redis-cluster:5.0.4 &
311-
@docker pull grokzen/redis-cluster:5.0.5 &
312-
@docker pull grokzen/redis-cluster:5.0.6 &
313-
@docker pull grokzen/redis-cluster:5.0.7 &
314-
@docker pull grokzen/redis-cluster:5.0.8 &
315-
@docker pull grokzen/redis-cluster:5.0.9 &
316-
@docker pull grokzen/redis-cluster:5.0.10 &
317-
@docker pull grokzen/redis-cluster:5.0.11 &
318-
319-
pull-releases-6.0:
320-
@docker pull grokzen/redis-cluster:6.0.0 &
321-
@docker pull grokzen/redis-cluster:6.0.1 &
322-
@docker pull grokzen/redis-cluster:6.0.2 &
323-
@docker pull grokzen/redis-cluster:6.0.3 &
324-
@docker pull grokzen/redis-cluster:6.0.4 &
325-
@docker pull grokzen/redis-cluster:6.0.5 &
326-
@docker pull grokzen/redis-cluster:6.0.6 &
327-
@docker pull grokzen/redis-cluster:6.0.7 &
328-
@docker pull grokzen/redis-cluster:6.0.8 &
329-
@docker pull grokzen/redis-cluster:6.0.9 &
330-
@docker pull grokzen/redis-cluster:6.0.10 &
331-
@docker pull grokzen/redis-cluster:6.0.11 &
332-
333-
pull-releases-6.2:
334-
@docker pull grokzen/redis-cluster:6.2-rc1 &
335-
@docker pull grokzen/redis-cluster:6.2-rc2 &
336-
@docker pull grokzen/redis-cluster:6.2.0 &
337-
338-
pull-latest:
339-
@docker pull grokzen/redis-cluster:latest
340-
341-
pull-all: pull-releases-3.0 pull-releases-3.2 pull-releases-4.0 pull-releases-5.0 pull-releases-6.0 pull-releases-6.2 pull-latest

README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,39 @@ docker run -e "IP=0.0.0.0" -p 7000-7005:7000-7005 grokzen/redis-cluster:latest
8484

8585
# Usage
8686

87+
This git repo is using `pyinvoke` to pull, build, push docker images. You can use it to build your own images if you like.
88+
89+
The invoke scripts in this repo is written only for python 3.7 and above
90+
91+
Install `pyinvoke` with `pip install invoke`.
92+
93+
This script will run `N num of cpu - 1` parralell tasks based on your version input.
94+
95+
To see available commands run `invoke -l` in the root folder of this repo. Example
96+
97+
```
98+
(tmp-615229a94c330b9) ➜ docker-redis-cluster git:(pyinvoke) ✗ invoke -l
99+
"Configured multiprocess pool size: 3
100+
Available tasks:
101+
102+
build
103+
pull
104+
push
105+
```
106+
107+
Each command is only taking one required positional argument `version`. Example:
108+
109+
```
110+
(tmp-615229a94c330b9) ➜ docker-redis-cluster git:(pyinvoke) ✗ invoke build 6.0
111+
...
112+
```
113+
114+
and it will run the build step on all versions that starts with 6.0.
115+
116+
The only other optional usefull argument is `--cpu=N` and it will set how many paralell processes will be used
117+
118+
Makefile still has a few docker-compose commands that can be used
119+
87120
To build your own image run:
88121

89122
make build

0 commit comments

Comments
 (0)