Search in sources :

Example 1 with RemoteConsoleAppender

use of com.thoughtworks.go.remote.work.RemoteConsoleAppender 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);
}
Also used : StreamConsumer(com.thoughtworks.go.util.command.StreamConsumer) AgentBuildingInfo(com.thoughtworks.go.server.service.AgentBuildingInfo) BuildSession(com.thoughtworks.go.buildsession.BuildSession) ConsoleOutputTransmitter(com.thoughtworks.go.remote.work.ConsoleOutputTransmitter) RemoteConsoleAppender(com.thoughtworks.go.remote.work.RemoteConsoleAppender) ArtifactsRepository(com.thoughtworks.go.buildsession.ArtifactsRepository) BuildVariables(com.thoughtworks.go.buildsession.BuildVariables) File(java.io.File)

Aggregations

ArtifactsRepository (com.thoughtworks.go.buildsession.ArtifactsRepository)1 BuildSession (com.thoughtworks.go.buildsession.BuildSession)1 BuildVariables (com.thoughtworks.go.buildsession.BuildVariables)1 ConsoleOutputTransmitter (com.thoughtworks.go.remote.work.ConsoleOutputTransmitter)1 RemoteConsoleAppender (com.thoughtworks.go.remote.work.RemoteConsoleAppender)1 AgentBuildingInfo (com.thoughtworks.go.server.service.AgentBuildingInfo)1 StreamConsumer (com.thoughtworks.go.util.command.StreamConsumer)1 File (java.io.File)1