bi.addAction(tp); return tp; } finally {
bi.addAction(tp); return tp; } finally {
bi.addAction(tp); return tp; } finally {
bi.addAction(tp); return tp; } finally {
bi.addAction(tp); return tp; } finally {
bi.addAction(tp); return tp; } finally {
@Override public void onEnterBuildable(final Queue.BuildableItem item) { if (item.task instanceof AbstractProject) { AbstractProject job = (AbstractProject) item.task; ContainerSetDefinition def = (ContainerSetDefinition) job.getProperty(ContainerSetDefinition.class); if (def == null) return; try { final Node node = prepareExecutorFor(item, job); DockerSlaveAssignmentAction action = new DockerSlaveAssignmentAction(node.getNodeName()); item.addAction(action); Computer.threadPoolForRemoting.submit(new Runnable() { @Override public void run() { try { Jenkins.getInstance().addNode(node); } catch (IOException e) { e.printStackTrace(); } } }); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Failure to create Docker Slave", e); // TODO: should fail the build here, not just cancel the item without explanation Jenkins.getInstance().getQueue().cancel(item); } } }
@Override public void onEnterBuildable(final Queue.BuildableItem item) { if (item.task instanceof AbstractProject) { AbstractProject job = (AbstractProject) item.task; ContainerSetDefinition def = (ContainerSetDefinition) job.getProperty(ContainerSetDefinition.class); if (def == null) return; try { final Node node = prepareExecutorFor(item, job); DockerSlaveAssignmentAction action = new DockerSlaveAssignmentAction(node.getNodeName()); item.addAction(action); Computer.threadPoolForRemoting.submit(new Runnable() { @Override public void run() { try { Jenkins.getActiveInstance().addNode(node); } catch (IOException e) { e.printStackTrace(); } } }); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Failure to create Docker Slave", e); // TODO: should fail the build here, not just cancel the item without explanation Jenkins.getActiveInstance().getQueue().cancel(item); } } }