It is popular solution to start up new Jenkins slave via ssh from Jenkins 
master, for example, via ssh slaves plugin. But this solution is too old 
and only for VM or ec2 instance (Hosts, virtual hosts or physical hosts)

Now we are in world of containers.

Another solution is to use jnlp (java web client), agent name and secrets 
have to be defined at Jenkins master first, then we can start a jar with 
the defined agent name and secrets. But the name and secrets can't be 
defined on-fly when a new Agent try to register itself. 

What I want to achieve: 

1. Jenkins master and slaves are all running in containers (in same vpc)
2. I don't mind scaling master currently, so run with one master is fine.
3. define number of slaves (desired capacity) in auto-scaling group, the 
containers of slave should be started and registered themselves to master 

What I did,

1. manually define several slaves, hard code the slave name and secrets, I 
can see these slaves successfully registered in master. But if more agents 
then defined are scaled up, the rest can't be registered, with error 

```
Jenkins_slave is already connected to this master. Rejecting this 
connection.
```

So any suggestions to implement this idea?

The problem I need resolve are:

1. Any ways to define slaves on-fly when a new slave container started (it 
will be better to clean it in master later if the container is gone, if 
possible)

If above way is too hard, I think about the work around: 

1. I can pre-define 10 or even 30+ slaves in Jenkins master, any easier way 
to initialise this automatically, (think about the jenkins master is set up 
as a new server) . Real slaves' max capacity should be equal or less than 
number of pre-define slaves.

2. save the slave names and secrets to secret managers (such as vault, ssm 
parameter store or aws secret manager, etc)

3. When a container of slaves start, look for the agent name 
(jenkins_slave_<number>) with its secret one by one, if `jenkins_slave_1` 
has been registered by another slave container, move on to next 
`jenkins_slave_2` 
and next.

Need your feedback and helps.

Thanks




-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/1ab19cfd-1907-4b2f-bce0-0f9ad05b8411%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to