62 lines
1.9 KiB
Markdown
Executable File
62 lines
1.9 KiB
Markdown
Executable File
---
|
|
title: "Managing Artifact Versions"
|
|
---
|
|
|
|
# Managing Artifact Versions
|
|
|
|
Artifacts stored in Atlas are versioned and assigned a version number.
|
|
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
|
|
|
|
Artifacts can also be pinned to an Atlas build number. This is only
|
|
possible if Atlas was used to build the artifact with Packer.
|
|
|
|
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
|
|
be easier to track within Atlas and when building outside of the Atlas
|
|
environment.
|