terraform/website/source/docs/enterprise/artifacts/managing-versions.html.md

66 lines
2.1 KiB
Markdown
Raw Normal View History

2017-03-16 20:42:33 +01:00
---
2017-03-17 22:34:04 +01:00
layout: "artifacts"
page_title: "Managing Artifact Versions"
2017-03-20 19:44:03 +01:00
sidebar_current: "docs-enterprise-artifact-versions"
2017-03-17 22:34:04 +01:00
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.
2017-03-20 19:44:03 +01:00
This assumes you are familiar with the [artifact provider](https://terraform.io/docs/providers/atlas/index.html)
2017-03-16 20:42:33 +01:00
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.