final cloud = new AmazonEC2Cloud(
'ec2',
false,
'',
config.ec2_region,
config.ec2_ssh_key,
config.ec2_instance_cap,
[
new SlaveTemplate(
config.ec2_ami_id,
'',
null,
config.ec2_security_groups,
'/opt/jenkins',
InstanceType.fromValue(config.ec2_instance_type),
false,
config.ec2_label,
Node.Mode.NORMAL,
"ec2 (${config.ec2_ami_id})",
'',
'/tmp',
'''#!/bin/bash -xe
mkfs.ext4 /dev/nvme1n1
mkdir -p /opt/jenkins
mount /dev/nvme1n1 /opt/jenkins
chown -R admin:admin /opt/jenkins
service docker stop
mkdir -p /opt/jenkins/docker/lib
mv /var/lib/docker /opt/jenkins/docker/lib
ln -s /opt/jenkins/docker/lib /var/lib/docker
service docker start
''',
'1',
config.ec2_remote_user,
new UnixData(null, null, null, null),
'',
false,
config.ec2_subnet_id,
[
Name: 'foo'
].collect{ new EC2Tag(it.key,it.value) },
'30',
false,
'',
config.ec2_arn_role,
true,
false,
false,
'1800',
false,
'/dev/xvdb=:20',
false,
false,
false,
false
)],
config.ec2_arn_role,
''
)