jenkins.model.Jenkins.addNode()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(180)

本文整理了Java中jenkins.model.Jenkins.addNode()方法的一些代码示例,展示了Jenkins.addNode()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Jenkins.addNode()方法的具体详情如下:
包路径:jenkins.model.Jenkins
类名称:Jenkins
方法名:addNode

Jenkins.addNode介绍

[英]Adds one more Node to Jenkins.
[中]向Jenkins再添加一个节点。

代码示例

代码示例来源:origin: jenkinsci/jenkins

jenkins.addNode(node);
LOGGER.log(Level.INFO,
    "{0} provisioning successfully completed. "

代码示例来源:origin: jenkinsci/jenkins

/**
 * Really creates a new agent.
 */
@RequirePOST
public synchronized void doDoCreateItem( StaplerRequest req, StaplerResponse rsp,
                    @QueryParameter String name,
                    @QueryParameter String type ) throws IOException, ServletException, FormException {
  final Jenkins app = Jenkins.getInstance();
  app.checkPermission(Computer.CREATE);
  String fixedName = Util.fixEmptyAndTrim(name);
  checkName(fixedName);
  JSONObject formData = req.getSubmittedForm();
  formData.put("name", fixedName);
  
  // TODO type is probably NodeDescriptor.id but confirm
  Node result = NodeDescriptor.all().find(type).newInstance(req, formData);
  app.addNode(result);
  // take the user back to the agent list top page
  rsp.sendRedirect2(".");
}

代码示例来源:origin: jenkinsci/jenkins

@Override
protected int run() throws Exception {
  final Jenkins jenkins = Jenkins.getActiveInstance();
  jenkins.checkPermission(Computer.CREATE);
  final Node newNode = (Node) Jenkins.XSTREAM2.fromXML(stdin);
  if (nodeName != null) {
    // Using deprecated method but it's contract is preserved
    newNode.setNodeName(nodeName);
  }
  if(newNode instanceof Slave) { //change userId too
    User user = User.current();
    ((Slave) newNode).setUserId(user==null ? "anonymous" : user.getId());
  }
  if (jenkins.getNode(newNode.getNodeName()) != null) {
    throw new IllegalStateException("Node '" + newNode.getNodeName() + "' already exists");
  }
  jenkins.addNode(newNode);
  return 0;
}

代码示例来源:origin: jenkinsci/jenkins

app.addNode(result);

代码示例来源:origin: jenkinsci/docker-slaves-plugin

@Override
  public void run() {
    try {
      Jenkins.getInstance().addNode(node);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
});

代码示例来源:origin: io.jenkins.plugins/docker-slaves

@Override
  public void run() {
    try {
      Jenkins.getActiveInstance().addNode(node);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
});

代码示例来源:origin: jenkinsci/openstack-cloud-plugin

@Override
public ComputerLauncher createLauncher(@Nonnull JCloudsSlave slave) throws IOException {
  Jenkins.getActiveInstance().addNode(slave);
  return new JNLPLauncher();
}

代码示例来源:origin: jenkinsci/jenkins-test-harness

public DumbSlave createSlave(String nodeName, String labels, EnvVars env) throws Exception {
  synchronized (jenkins) {
    DumbSlave slave = new DumbSlave(nodeName, "dummy",
        createTmpDir().getPath(), "1", Mode.NORMAL, labels==null?"":labels, createComputerLauncher(env),
        RetentionStrategy.NOOP, Collections.<NodeProperty<?>>emptyList());
    jenkins.addNode(slave);
    return slave;
  }
}

代码示例来源:origin: jenkinsci/jenkins-test-harness

public DumbSlave createSlave(String nodeName, String labels, EnvVars env) throws Exception {
  synchronized (jenkins) {
    DumbSlave slave = new DumbSlave(nodeName, "dummy",
        createTmpDir().getPath(), "1", Node.Mode.NORMAL, labels==null?"":labels, createComputerLauncher(env), RetentionStrategy.NOOP, Collections.EMPTY_LIST);                        
    jenkins.addNode(slave);
    return slave;
  }
}

代码示例来源:origin: jenkinsci/jenkins-test-harness

public PretendSlave createPretendSlave(FakeLauncher faker) throws Exception {
  synchronized (jenkins) {
    int sz = jenkins.getNodes().size();
    PretendSlave slave = new PretendSlave("slave" + sz, createTmpDir().getPath(), "", createComputerLauncher(null), faker);
    jenkins.addNode(slave);
    return slave;
  }
}

代码示例来源:origin: jenkinsci/jenkins-test-harness

public PretendSlave createPretendSlave(FakeLauncher faker) throws Exception {
  synchronized (jenkins) {
    int sz = jenkins.getNodes().size();
    PretendSlave slave = new PretendSlave("slave" + sz, createTmpDir().getPath(), "", createComputerLauncher(null), faker);
    jenkins.addNode(slave);
    return slave;
  }
}

代码示例来源:origin: jenkinsci/jclouds-plugin

JCloudsSlave doProvisionFromTemplate(final JCloudsSlaveTemplate t) throws IOException {
  final StringWriter sw = new StringWriter();
  final StreamTaskListener listener = new StreamTaskListener(sw);
  final ProvisioningActivity.Id provisioningId = new ProvisioningActivity.Id(this.name, t.name);
  JCloudsSlave node = t.provisionSlave(listener, provisioningId);
  Jenkins.getInstance().addNode(node);
  return node;
}

代码示例来源:origin: jenkinsci/jclouds-plugin

public Node call() throws Exception {
    // TODO: record the output somewhere
    JCloudsSlave jcloudsSlave = template.provisionSlave(StreamTaskListener.fromStdout(), provisioningId);
    Jenkins.getInstance().addNode(jcloudsSlave);
    /* Cloud instances may have a long init script. If we declare the provisioning complete by returning
      without the connect operation, NodeProvisioner may decide that it still wants one more instance,
      because it sees that (1) all the slaves are offline (because it's still being launched) and (2)
      there's no capacity provisioned yet. Deferring the completion of provisioning until the launch goes
      successful prevents this problem.  */
    ensureLaunched(jcloudsSlave);
    return jcloudsSlave;
  }
})));

代码示例来源:origin: jenkinsci/ec2-plugin

/**
 * Debug command to attach to a running instance.
 */
public void doAttach(StaplerRequest req, StaplerResponse rsp, @QueryParameter String id)
    throws ServletException, IOException, AmazonClientException {
  checkPermission(PROVISION);
  SlaveTemplate t = getTemplates().get(0);
  StringWriter sw = new StringWriter();
  StreamTaskListener listener = new StreamTaskListener(sw);
  EC2AbstractSlave node = t.attach(id, listener);
  Jenkins.getInstance().addNode(node);
  rsp.sendRedirect2(req.getContextPath() + "/computer/" + node.getNodeName());
}

代码示例来源:origin: jenkinsci/workflow-cps-plugin

/**
 * Akin to {@link JenkinsRule#createSlave(String, String, EnvVars)} but allows {@link Computer#getEnvironment} to be controlled rather than directly modifying launchers.
 * @param env variables to override in {@link Computer#getEnvironment}; null values will get unset even if defined in the test environment
 * @see <a href="https://github.com/jenkinsci/jenkins/pull/1553/files#r23784822">explanation in core PR 1553</a>
 */
public static Slave createSpecialEnvSlave(JenkinsRule rule, String nodeName, @CheckForNull String labels, Map<String,String> env) throws Exception {
  @SuppressWarnings("deprecation") // keep consistency with original signature rather than force the caller to pass in a TemporaryFolder rule
  File remoteFS = rule.createTmpDir();
  SpecialEnvSlave slave = new SpecialEnvSlave(remoteFS, rule.createComputerLauncher(/* yes null */null), nodeName, labels != null ? labels : "", env);
  rule.jenkins.addNode(slave);
  return slave;
}
private static class SpecialEnvSlave extends Slave {

代码示例来源:origin: jenkinsci/openstack-cloud-plugin

@Restricted(NoExternalUse.class)
public @Nonnull JCloudsSlave provisionSlave(JCloudsSlaveTemplate template) throws IOException, Openstack.ActionFailed{
  CloudStatistics.ProvisioningListener provisioningListener = CloudStatistics.ProvisioningListener.get();
  ProvisioningActivity.Id id = new ProvisioningActivity.Id(this.name, template.name);
  JCloudsSlave node;
  try {
    provisioningListener.onStarted(id);
    node = template.provisionSlave(this, id);
    provisioningListener.onComplete(id, node);
  } catch (Throwable ex) {
    provisioningListener.onFailure(id, ex);
    throw ex;
  }
  Jenkins.getActiveInstance().addNode(node);
  return node;
}

代码示例来源:origin: org.jenkins-ci.main/jenkins-core

/**
 * Really creates a new agent.
 */
@RequirePOST
public synchronized void doDoCreateItem( StaplerRequest req, StaplerResponse rsp,
                    @QueryParameter String name,
                    @QueryParameter String type ) throws IOException, ServletException, FormException {
  final Jenkins app = Jenkins.getInstance();
  app.checkPermission(Computer.CREATE);
  String fixedName = Util.fixEmptyAndTrim(name);
  checkName(fixedName);
  JSONObject formData = req.getSubmittedForm();
  formData.put("name", fixedName);
  
  // TODO type is probably NodeDescriptor.id but confirm
  Node result = NodeDescriptor.all().find(type).newInstance(req, formData);
  app.addNode(result);
  // take the user back to the agent list top page
  rsp.sendRedirect2(".");
}

代码示例来源:origin: jenkinsci/mercurial-plugin

private PretendSlave createPretendSlave(String slaveName) throws Exception {
  PretendSlave slave = new PretendSlave(slaveName, tmp2.getRoot().getAbsolutePath(), "", j.createComputerLauncher(null), new NoopFakeLauncher());
  j.jenkins.addNode(slave);
  return slave;
}

代码示例来源:origin: org.jenkins-ci.main/jenkins-core

@Override
protected int run() throws Exception {
  final Jenkins jenkins = Jenkins.getActiveInstance();
  jenkins.checkPermission(Computer.CREATE);
  final Node newNode = (Node) Jenkins.XSTREAM2.fromXML(stdin);
  if (nodeName != null) {
    // Using deprecated method but it's contract is preserved
    newNode.setNodeName(nodeName);
  }
  if(newNode instanceof Slave) { //change userId too
    User user = User.current();
    ((Slave) newNode).setUserId(user==null ? "anonymous" : user.getId());
  }
  if (jenkins.getNode(newNode.getNodeName()) != null) {
    throw new IllegalStateException("Node '" + newNode.getNodeName() + "' already exists");
  }
  jenkins.addNode(newNode);
  return 0;
}

代码示例来源:origin: carlossg/jenkins-kubernetes-plugin

@Test
public void runInPodWithRestart() throws Exception {
  story.then(r -> {
    configureCloud();
    r.jenkins.addNode(new DumbSlave("slave", "dummy", tmp.newFolder("remoteFS").getPath(), "1",
        Node.Mode.NORMAL, "", new JNLPLauncher(), RetentionStrategy.NOOP,
        Collections.<NodeProperty<?>>emptyList())); // TODO JENKINS-26398 clumsy
    WorkflowJob p = r.jenkins.createProject(WorkflowJob.class, "p");
    p.setDefinition(new CpsFlowDefinition(loadPipelineScript("runInPodWithRestartWithLongSleep.groovy")
        , true));
    WorkflowRun b = p.scheduleBuild2(0).waitForStart();
    // we need to wait until we are sure that the sh
    // step has started...
    r.waitForMessage("+ sleep 5", b);
  });
  story.then(r -> {
    WorkflowRun b = r.jenkins.getItemByFullName("p", WorkflowJob.class).getBuildByNumber(1);
    r.assertLogContains("finished the test!", r.assertBuildStatusSuccess(r.waitForCompletion(b)));
  });
}

相关文章

微信公众号

最新文章

更多

Jenkins类方法