|
@@ -21,6 +21,7 @@ import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -91,7 +92,13 @@ public class DockerBuild {
|
|
|
for (KeyValue keyValue : keyValueList) {
|
|
for (KeyValue keyValue : keyValueList) {
|
|
|
buildImageCmd.withBuildArg(keyValue.getKey(), keyValue.getValue());
|
|
buildImageCmd.withBuildArg(keyValue.getKey(), keyValue.getValue());
|
|
|
}
|
|
}
|
|
|
- buildImageCmd.exec(callback).awaitCompletion();
|
|
|
|
|
|
|
+
|
|
|
|
|
+ int timeoutInSeconds = 300;
|
|
|
|
|
+ boolean completed = buildImageCmd.exec(callback).awaitCompletion(timeoutInSeconds, TimeUnit.MINUTES);
|
|
|
|
|
+ if (!completed) {
|
|
|
|
|
+ callback.close(); // 必须关闭以释放资源并中断连接
|
|
|
|
|
+ throw new RuntimeException("Docker Build timed out after " + timeoutInSeconds + " seconds");
|
|
|
|
|
+ }
|
|
|
/*dockerClient.buildImageCmd()
|
|
/*dockerClient.buildImageCmd()
|
|
|
.withCpushares("512")
|
|
.withCpushares("512")
|
|
|
.withMemory(1024 * 1024 * 1024L)
|
|
.withMemory(1024 * 1024 * 1024L)
|