-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.bat
66 lines (53 loc) · 1.51 KB
/
build.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
@echo off
setlocal
SET docker=docker
SET dockerimagename=zhijzhao/raspbian
:arg-loop
if "%1" equ "" goto arg-done
if "%1" equ "-deps" goto arg-deps
if "%1" equ "-workingdir" goto arg-workingdir
if "%1" equ "-buildcmd" goto arg-buildcmd
:arg-deps
SHIFT
SET deps=%1
GOTO :arg-continue
:arg-workingdir
SHIFT
SET workingdir=%1
GOTO :arg-continue
:arg-buildcmd
SHIFT
SET buildcmd=%1
GOTO :arg-continue
:arg-continue
SHIFT
goto :arg-loop
:arg-done
echo -----------------------------
echo Step 1 pull docker image %dockerimagename% and run it
echo -----------------------------
SET workingdir=%workingdir:\=/%
SET dockeroption=-v %workingdir%:/source/
echo %docker% pull %dockerimagename%
CALL %docker% pull %dockerimagename%
echo %docker% run -t -d %dockeroption% %dockerimagename%
CALL %docker% run -t -d %dockeroption% %dockerimagename% > %workingdir%/temp.txt
SET /p containerid=<%workingdir%/temp.txt
echo containerid %containerid%
IF NOT "%deps%"=="" (
echo -----------------------------
echo Step 2 install dependencies: %deps%
echo -----------------------------
CALL %docker% exec -t %containerid% apt-get install %deps%
)
echo -----------------------------
echo Step 3 run command: %buildcmd%
echo -----------------------------
SET cmds="cd /source && %buildcmd:"=%"
echo cmds is %cmds%
CALL %docker% exec -i %containerid% /bin/sh -c %cmds%
IF %ERRORLEVEL% EQU 0 (
ECHO Application build succeeded!
) ELSE (
ECHO Application build failed %ERRORLEVEL%
)