jsm*_*key 4 groovy amazon-ec2 jenkins
我正在尝试通过 Groovy 配置 Jenkins EC2-Plugin。插件代码:https : //github.com/jenkinsci/ec2-plugin
我正在尝试使用名称设置云以开始使用
import hudson.model.*
import jenkins.model.*
import hudson.plugins.ec2.*
import com.amazonaws.services.ec2.model.*
SlaveTemplate awsTemplate = new SlaveTemplate(
'ami-1234567',
'',
'',
'sg-1234567',
't2.micro',
true,
'foo',
'',
'stuff',
'run code',
'/var/tmp',
'more code',
'4',
'',
'',
'',
false,
'subnet-1234567',
'',
'60',
false,
'',
'iam-profile',
false,
false,
'',
false,
'',
true,
false
)
def slaveTemplates = [awsTemplate]
def ec2Cloud = new AmazonEC2Cloud(
'foo',
true,
'',
'us-west-2',
'',
'10',
slaveTemplates
)
def cloudList = Jenkins.instance.clouds
cloudList.add(ec2Cloud)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
这些是错误信息
Error: Could not find matching constructor for: hudson.plugins.ec2.SlaveTemplate
Run Code Online (Sandbox Code Playgroud)
或者
Error: Could not find matching constructor for: hudson.plugins.ec2.AmazonEC2Cloud
Run Code Online (Sandbox Code Playgroud)
小智 5
您的调用SlaveTemplate与任何构造函数都不匹配:https : //github.com/jenkinsci/ec2-plugin/blob/master/src/main/java/hudson/plugins/ec2/SlaveTemplate.java
例如,第三个参数 ( spotConfig) 正在寻找一个SpotConfiguration对象。您当前在那里定义了一个空字符串。(您可以将其替换为null.)
此外,实例类型参数应该是InstanceType,而不是字符串。要纠正这个问题,您需要添加import com.amazonaws.services.ec2.model.InstanceType到 groovy 脚本的顶部并替换't2.micro'为InstanceType.fromValue('t2.micro').
有关完整示例,请参阅https://gist.github.com/vrivellino/97954495938e38421ba4504049fd44ea
| 归档时间: |
|
| 查看次数: |
3352 次 |
| 最近记录: |