A Concourse CI resource to build new Google Compute Images (Image) via Packer
This is spawned from
project
(optional string): The project name the image is in (should be used when the account may not have permission to the default parent account)region
(required string): The GCP region to work incredentials
(required string): for GCP accountfamily
(optional string): used for check if you are triggering against an image familydebug
(optional string): defaults to false
Returns an ordered list of versions that match the criteria specified in the source. This can be used to trigger a new build when a new version of a GCE Image is created.
Provides 3 files:
version.txt
- a text file containing the selected Image Nameversion.json
- a JSON file containing the selected Image Name in theimage
field of the json parent versionimage.json
- the GCE metadata for the selected Image
template
(required string): The path to the packer template.var_file
(optional string or list): The path or list of paths to a [external JSON variable file] (https://www.packer.io/docs/templates/user-variables.html).
All other parameters will be passed through to packer as variables.
** source.project will not be read by out process only in and check. 'project' must be passed in the packer file or packer variable.
resource_types:
- name: packer-gce
type: docker-image
source:
repository: doughoke/packer-resource-gce
resources:
- name: base-gce-image
type: packer-gce
source:
region: us-central1a
credentials: (gce_json_key)
family: centos
- name: created-image
type: packer-gce
source:
region: us-central1a
credentials: (gce_json_key)
project: your-project
- name: my-packer-template-source
type: git
source:
uri: https://github.com/packdemo/packergce
jobs:
- name: sample-gce-image
plan:
- get: my-packer-template-source
trigger: true
- get: base-gce-image
trigger: true
- put: created-image
params:
template: my-packer-template-source/packer_template.json
var_file:
- base-gce-image/version.json
- my-packer-template-source/packer_params.json