use of com.thoughtworks.go.buildsession.BuildSession in project gocd by gocd.
the class AgentWebSocketClientController method cancelBuild.
private void cancelBuild() throws InterruptedException {
BuildSession build = this.buildSession.get();
if (build == null) {
return;
}
getAgentRuntimeInfo().cancel();
if (!build.cancel(30, TimeUnit.SECONDS)) {
LOG.error("Waited 30 seconds for canceling job finish, but the job is still running. Maybe canceling job does not work as expected, here is buildSession details: " + buildSession.get());
}
}
use of com.thoughtworks.go.buildsession.BuildSession in project gocd by gocd.
the class AgentWebSocketClientController method runBuild.
private void runBuild(BuildSettings buildSettings) {
URLService urlService = new URLService();
StreamConsumer buildConsole;
if (getSystemEnvironment().isConsoleLogsThroughWebsocketEnabled()) {
buildConsole = new ConsoleOutputWebsocketTransmitter(webSocketSessionHandler, buildSettings.getBuildId());
} else {
buildConsole = new ConsoleOutputTransmitter(new RemoteConsoleAppender(urlService.prefixPartialUrl(buildSettings.getConsoleUrl()), httpService));
}
ArtifactsRepository artifactsRepository = new UrlBasedArtifactsRepository(httpService, urlService.prefixPartialUrl(buildSettings.getArtifactUploadBaseUrl()), urlService.prefixPartialUrl(buildSettings.getPropertyBaseUrl()), new ZipUtil());
DefaultBuildStateReporter buildStateReporter = new DefaultBuildStateReporter(webSocketSessionHandler, getAgentRuntimeInfo());
TimeProvider clock = new TimeProvider();
BuildVariables buildVariables = new BuildVariables(getAgentRuntimeInfo(), clock);
BuildSession build = new BuildSession(buildSettings.getBuildId(), buildStateReporter, buildConsole, buildVariables, artifactsRepository, httpService, clock, new File("."));
this.buildSession.set(build);
build.setEnv("GO_SERVER_URL", getSystemEnvironment().getServiceUrl());
getAgentRuntimeInfo().idle();
try {
getAgentRuntimeInfo().busy(new AgentBuildingInfo(buildSettings.getBuildLocatorForDisplay(), buildSettings.getBuildLocator()));
build.build(buildSettings.getBuildCommand());
} finally {
try {
buildConsole.stop();
} finally {
getAgentRuntimeInfo().idle();
}
}
this.buildSession.set(null);
}
use of com.thoughtworks.go.buildsession.BuildSession in project gocd by gocd.
the class GitMaterialUpdaterTest method updateTo.
private void updateTo(GitMaterial material, RevisionContext revisionContext, JobResult expectedResult) {
BuildSession buildSession = newBuildSession();
JobResult result = buildSession.build(new GitMaterialUpdater(material).updateTo("working", revisionContext));
assertThat(buildInfo(), result, is(expectedResult));
}
Aggregations