Skip to content

Commit 7fc071d

Browse files
committed
Add the docker run execution
1 parent 0e4425c commit 7fc071d

File tree

2 files changed

+35
-7
lines changed

2 files changed

+35
-7
lines changed

components/gitpod-cli/cmd/rebuild.go

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,18 +126,17 @@ var buildCmd = &cobra.Command{
126126
return
127127
}
128128

129-
tag := "temp-build-" + time.Now().Format("20060102150405")
130-
131129
dockerPath, err := exec.LookPath("docker")
132130
if err != nil {
133131
fmt.Println("Docker is not installed in your workspace")
134132
event.Set("ErrorCode", utils.RebuildErrorCode_DockerNotFound).Send(ctx)
135133
return
136134
}
137135

136+
tag := "gp-rebuild-temp-build"
137+
138138
dockerCmd := exec.Command(dockerPath, "build", "-t", tag, "--progress=tty", ".")
139139
dockerCmd.Dir = tmpDir
140-
141140
dockerCmd.Stdout = os.Stdout
142141
dockerCmd.Stderr = os.Stderr
143142

@@ -148,10 +147,6 @@ var buildCmd = &cobra.Command{
148147
}
149148
}()
150149

151-
// TODO: add docker run
152-
// TODO: add message to suggest how to exit
153-
154-
// TODO: duration
155150
err = dockerCmd.Run()
156151
if _, ok := err.(*exec.ExitError); ok {
157152
fmt.Println("Image Build Failed")
@@ -164,6 +159,38 @@ var buildCmd = &cobra.Command{
164159
log.Fatal(err)
165160
return
166161
}
162+
163+
// TODO: add message to suggest how to exit
164+
// TODO: add docker run
165+
dockerRunCmd := exec.Command(
166+
dockerPath,
167+
"run",
168+
"--rm",
169+
// "--user", "root",
170+
// "--privileged",
171+
// "--label", "gp-rebuild=true",
172+
// "--name", tag,
173+
"-it",
174+
tag,
175+
"bash",
176+
)
177+
178+
dockerRunCmd.Stdout = os.Stdout
179+
dockerRunCmd.Stderr = os.Stderr
180+
dockerRunCmd.Stdin = os.Stdin
181+
182+
err = dockerRunCmd.Run()
183+
if _, ok := err.(*exec.ExitError); ok {
184+
fmt.Println("Docker Run Command Failed")
185+
event.Set("ErrorCode", utils.RebuildErrorCode_DockerRunFailed).Send(ctx)
186+
log.Fatal(err)
187+
return
188+
} else if err != nil {
189+
fmt.Println("Docker error")
190+
event.Set("ErrorCode", utils.RebuildErrorCode_DockerErr).Send(ctx)
191+
log.Fatal(err)
192+
return
193+
}
167194
},
168195
}
169196

components/gitpod-cli/pkg/utils/trackEvent.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ const (
2323
RebuildErrorCode_DockerfileEmpty = "rebuild_dockerfile_empty"
2424
RebuildErrorCode_DockerNotFound = "rebuild_docker_not_found"
2525
RebuildErrorCode_DockerBuildFailed = "rebuild_docker_build_failed"
26+
RebuildErrorCode_DockerRunFailed = "rebuild_docker_run_failed"
2627
RebuildErrorCode_DockerErr = "rebuild_docker_err"
2728
)
2829

0 commit comments

Comments
 (0)