2017-03-16 20:42:33 +01:00
|
|
|
---
|
2017-03-17 22:34:04 +01:00
|
|
|
layout: "artifacts"
|
|
|
|
page_title: "Managing Artifact Versions"
|
|
|
|
sidebar_current: "docs-enterprise-Provider"
|
|
|
|
description: |-
|
|
|
|
Artifacts are versioned and assigned a version number, here is how to manage the versions.
|
2017-03-16 20:42:33 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
# Managing Artifact Versions
|
|
|
|
|
2017-03-17 22:34:04 +01:00
|
|
|
Artifacts stored in Terraform Enterprise are versioned and assigned a version number.
|
2017-03-16 20:42:33 +01:00
|
|
|
Versions are useful to roll back, audit and deploy images specific versions
|
|
|
|
of images to certain environments in a targeted way.
|
|
|
|
|
|
|
|
This assumes you are familiar with the [Atlas artifact provider](https://terraform.io/docs/providers/atlas/index.html)
|
|
|
|
in Terraform.
|
|
|
|
|
|
|
|
### Finding the Version of an Artifact
|
|
|
|
|
|
|
|
Artifact versions can be found with the [`terraform show` command](https://terraform.io/docs/commands/show.html),
|
|
|
|
or by looking at the Packer logs generated during builds. After a
|
|
|
|
successful artifact upload, version numbers are displayed. "latest" can
|
|
|
|
be used to use the latest version of the artifact.
|
|
|
|
|
|
|
|
The following output is from `terraform show`.
|
|
|
|
|
|
|
|
atlas_artifact.web-worker:
|
|
|
|
id = us-east-1:ami-3a0a1d52
|
|
|
|
build = latest
|
|
|
|
metadata_full.# = 1
|
|
|
|
metadata_full.region-us-east-1 = ami-3a0a1d52
|
|
|
|
name = %{DEFAULT_USERNAME}/web-worker
|
|
|
|
slug = %{DEFAULT_USERNAME}/web-worker/amazon.image/7
|
|
|
|
type = amazon.image
|
|
|
|
|
|
|
|
In this case, the version is 7 and can be found in the persisted slug
|
|
|
|
attribute.
|
|
|
|
|
|
|
|
### Pinning Artifacts to Specific Versions
|
|
|
|
|
|
|
|
You can pin artifacts to a specific version. This allows for a targeted
|
|
|
|
deploy.
|
|
|
|
|
|
|
|
resource "atlas_artifact" "web-worker" {
|
|
|
|
name = "%{DEFAULT_USERNAME}/web-worker"
|
|
|
|
type = "amazon.image"
|
|
|
|
version = 7
|
|
|
|
}
|
|
|
|
|
|
|
|
This will use version 7 of the `web-worker` artifact.
|
|
|
|
|
|
|
|
### Pinning Artifacts to Specific Builds
|
|
|
|
|
2017-03-17 22:34:04 +01:00
|
|
|
Artifacts can also be pinned to an Terraform build number. This is only
|
|
|
|
possible if Terraform Enterprise was used to build the artifact with Packer.
|
2017-03-16 20:42:33 +01:00
|
|
|
|
|
|
|
resource "atlas_artifact" "web-worker" {
|
|
|
|
name = "%{DEFAULT_USERNAME}/web-worker"
|
|
|
|
type = "amazon.image"
|
|
|
|
build = 5
|
|
|
|
}
|
|
|
|
|
|
|
|
It's recommended to use versions, instead of builds, as it will
|
2017-03-17 22:34:04 +01:00
|
|
|
be easier to track when building outside of the Terraform Enterprise
|
2017-03-16 20:42:33 +01:00
|
|
|
environment.
|