2014-12-18 4 views
3

Jenkins Groovy 스크립트로 유닉스 슬레이브를 만들고 슬레이브를 시작하는 방법을 알고 싶습니다. 나는 다음과 같은 코드를 가지고있다. 그러나, 슬레이브에서 ssh 옵션을 만들거나 슬레이브를 시작하지 않습니다. 나는 JNLPLauncher()를 본다. 나는 어떤 종류의 ssh 발사기를 바꿀 필요가 있다고 생각한다. 내가 찾지 못하는 문서를 가리키고 있다고해도 도움이된다면 고맙겠습니다. 또한이 코드는 빌드 할 때 슬레이브를 시작하고 빌드가 끝난 후에 슬레이브를 삭제하는 것을 의미합니다. 동적 인 슬레이브 지정은 사용자가 선택한 매개 변수에 따라 수행해야합니다. 따라서이를 달성하는 방법에 대한 다른 아이디어는 높이 평가됩니다.Jenkins Groovy 스크립트로 Unix 슬레이브 만들기

import jenkins.model.* 
import hudson.model.* 
import hudson.slaves.* 

Jenkins.instance.addNode(
    new DumbSlave(
    "test-script", 
    "test slave description", 
    "/export/home/pe-deploy/", 
    "1", 
    Node.Mode.NORMAL, 
    "test-slave-label", 
    new JNLPLauncher(), 
    new RetentionStrategy.Always(), 
    new LinkedList())) 

답변

4

이것은 내가 필요로하는 곳인 Cloudbees 지원 사이트에서 찾은 답변입니다. 중요한 줄은 import hudson.plugins.sshslaves.*이며 SSHLauncher는 플러그인의 일부입니다.

출처 : https://support.cloudbees.com/hc/en-us/articles/218154667-create-agent-node-from-groovy

import jenkins.model.* 
import hudson.model.* 
import hudson.slaves.* 
import hudson.plugins.sshslaves.* 
import java.util.ArrayList; 
import hudson.slaves.EnvironmentVariablesNodeProperty.Entry; 

    List<Entry> env = new ArrayList<Entry>(); 
    env.add(new Entry("key1","value1")) 
    env.add(new Entry("key2","value2")) 
    EnvironmentVariablesNodeProperty envPro = new EnvironmentVariablesNodeProperty(env); 
    Slave slave = new DumbSlave(
        "agent-node","Agent node description", 
        "/home/jenkins", 
        "1", 
        Node.Mode.NORMAL, 
        "agent-node-label", 
        new SSHLauncher("agenNode",22,"user","password","","","","",""), 
        new RetentionStrategy.Always(), 
        new LinkedList()) 
    slave.getNodeProperties().add(envPro) 
    Jenkins.instance.addNode(slave) 
+1

업데이트 : 새로운 URL : https://support.cloudbees.com/hc/en-us/articles/218154667-create-agent-node-from-groovy – user6917

+0

링크 편집 당 업데이트되었으며 수락되었습니다. Thx user6917 –

관련 문제