我的打包程序模板中有多个构建器部分,默认情况下,这会同时在云提供商上构建两个构建器。
但是,如果我只想在云上构建"amazon-ebs"类型,并在本地使用"docker"类型,我可以通过packer build -only=rails <path/to/template.yaml>
来完成此操作。
有没有办法我可以在模板中将默认构建器设置为"rails",而无需使用打包程序 CLI 选项中的-only=rails
。
"builders": [
{
"name": "rails"
"type": "amazon-ebs",
"region": "us-west-2",
"source_ami": "{{user `rails_web_ami`}}",
"instance_type": "m3.medium",
"ami_name": "deploy-rails-web-{{user `sha`}}",
"availability_zone": "us-west-2c",
"ssh_username": "centos",
"ssh_pty" : "true"
},
{
"name": "docker-local",
"type": "docker",
"pull": "true",
"image": "askb/centos7:latest",
"run_command": [ "-d", "-t", "-i", "{{.Image}}", "/bin/bash"],
"changes": [
"WORKDIR /tmp",
"EXPOSE 8080",
"USER jenkins",
"LABEL buildtime {{isotime "20060102-150405.000"}}"
],
"commit": true
}
],
"provisioners": ...
不,你必须使用-only
没有比"默认构建器"更好的了。