我正在使用 CloudBees Jenkins。我们正在通过 AmazonEC2 插件配置动态运行器(或从属),其中我们提到了运行器详细信息,例如 AMI ID、密钥、区域、标签等,并且运行器是根据这些信息创建的。
我想编写一个我想在 Jenkins 脚本控制台中运行的 Groovy 脚本,以查看配置的所有此类运行器详细信息的详细信息。
我可以看到我需要的所有信息都存储在 hudson.plugins.ec2.SlaveTemplate
类中。
但是我看不到任何获取此类实例的方法。我设法写了这个,它只打印配置的从站的标签
Jenkins.instance.clouds
Jenkins.instance.clouds.each {
println it.name
}
任何人都可以通过 groovy 帮助打印所有(或至少一些如 AMI ID、区域等)吗?
答案 0 :(得分:0)
我自己找到了答案。如果这对其他人有帮助,请在此处分享:
import hudson.plugins.ec2.AmazonEC2Cloud
import hudson.plugins.ec2.SlaveTemplate
import hudson.slaves.Cloud
import com.cloudbees.opscenter.client.cloud.CloudImpl
Jenkins.instance.clouds.each {
if(!(it instanceof CloudImpl)){
Cloud cloud = it
AmazonEC2Cloud ac = cloud
List<SlaveTemplate> stL = ac.getTemplates()
for (SlaveTemplate st : stL){
if(st == null){
println "SlaveTemplate is null"
} else{
println st.ami
println st.labels
}
}
}
如果您想打印有关配置的从属设备的更多详细信息,可以在 https://javadoc.jenkins.io/plugin/ec2/hudson/plugins/ec2/SlaveTemplate.html
中找到class attribute
名称