Плагин Jenkins SSH Slave - Groovy Конфигурация не работает - PullRequest
0 голосов
/ 04 октября 2018

Я хочу иметь экземпляр aws ec2 в качестве раба Дженкинса.SSH Ключи для авторизации между машинами уже на месте.Если я настраиваю все через узлы Jenkins вручную, это работает, когда я пытаюсь настроить все автоматически с помощью groovy, это приводит к отключению ведомого устройства.

Основная причина Я хочу выполнить задания jenkins во втором awsЭкземпляр и настройка подключения к новому узлу должны выполняться автоматически.

Вопрос: Как мне правильно настроить подчиненный ssh ​​с groovy?Или есть другой плагин, который может заставить его работать?

Исходный код Groovy:

// Define a "Launch method": "Launch slave agents via SSH"
SSHLauncher sshLauncher = new hudson.plugins.sshslaves.SSHLauncher(
"slave.target.com", // Host
22, // Port
"sdfsdfsdf-32423-sfd-wer", // Credentials Id
(String)"", // JVM Options
(String)"/usr/bin/java", // JavaPath
(String)"", // Prefix Start Slave Command
(String)"", // Suffix Start Slave Command
(Integer)210, // Connection Timeout in Seconds
(Integer)10, // Maximum Number of Retries
(Integer)15, // The number of seconds to wait between retries
new hudson.plugins.sshslaves.verifiers.NonVerifyingKeyVerificationStrategy() // Host Key Verification Strategy Off because of EC2 Redeploy
)

sshLauncher.setTcpNoDelay(true)

// Define a "Permanent Agent"
hudson.slaves.DumbSlave agent = new hudson.slaves.DumbSlave(
"jenkins-slave", // agent node name
"Jenkins Second Slave", // agent node description
"/home/jenkins", // home directory
"1", // Max Runner
Node.Mode.EXCLUSIVE, // agent mode
"jenkins-slave", // agent label
sshLauncher,
new RetentionStrategy.Always(),
new LinkedList())

List<Entry> env = new ArrayList<Entry>();
env.add(new Entry("node","jenkins-slave"))
env.add(new Entry("JAVA_HOME","/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.amzn2.x86_64/jre"))
EnvironmentVariablesNodeProperty envPro = new EnvironmentVariablesNodeProperty(env);

agent.getNodeProperties().add(envPro)

// Create a "Permanent Agent"
Jenkins.instance.addNode(agent)

Среда: Jenkins Версия:2.141 SSH Slave Plugin Версия: 1.28.1

Ошибка системного журнала Jenkins

Caught exception evaluating: it.launcher.descriptor==d in /computer/jenkins-slave/configure. Reason: java.lang.reflect.InvocationTargetException
java.lang.AssertionError: class hudson.plugins.sshslaves.SSHLauncher is missing its descriptor
    at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1514)
    at hudson.model.AbstractDescribableImpl.getDescriptor(AbstractDescribableImpl.java:42)
Caused: java.lang.reflect.InvocationTargetException

Результаты поиска Google SSH + Slaves +плагин Doku Хорошие примеры реализации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...