Artifact handlers
Artifact handlers allow Bamboo administrators to control where the artifacts produced by plans are stored. This can help to optimize the utilization of network bandwidth and file system space. You can activate each handler for shared and non-shared artifacts separately. Additionally, you can store artifacts in multiple locations. The default artifact handler selection is configured by a Bamboo admin but can be overridden in a plan's configuration by users that have administration permission on the plan.
To configure artifact handlers, select > Plans > Artifact handlers.
Types of artifact handlers used by Bamboo
Agent-local artifact handler
This handler stores the artifact on Bamboo's remote agent's file system. This handler does not publish artifacts to the server (in other words, the artifacts will not be downloadable from result pages if Remote, S3, or SFTP handlers are not enabled). It can be used to save bandwidth when exchanging artifacts between builds & deployments running on the same agent or running on different agents that share a common file system. In the configuration, you need to define the root directory in which all the artifacts will be saved.
Bamboo server artifact handler
This handler makes artifacts accessible on Bamboo remote and elastic agents. It also allows remote agents to publish artifacts they produce when running builds. The artifacts are stored on the Bamboo server, in the shared home directory.
You can define the maximum number of files per artifact. If the threshold is exceeded, the artifact is automatically compressed into a single .zip
file, reducing the number of requests to the file system, which is particularly beneficial if the home directory is located on a remote file system (for example, NFS).
Amazon S3
Artifacts are stored in Amazon Simple Storage Service (S3) and are downloadable from there. Amazon S3 offers unlimited flexible storage capacity. For more information about S3, see the Amazon S3 product page.
You can use the AWS credentials provided in the Elastic Bamboo configuration or you can configure a separate account. In either case, you need to provide a bucket name. If you use the same S3 bucket for other purposes, you can provide a root path for all artifacts.
Because the Amazon S3 artifact handler doesn't support IAM role credentials, the Use the same AWS credentials as Elastic Bamboo (EC2) option is not available in the Amazon S3 artifact handler if Elastic Bamboo has been configured with an instance profile.
You can also define the maximum number of files per artifact. If the threshold is exceeded, the artifact is automatically compressed into a single .zip
file, reducing the number of requests to S3 when uploading and downloading the artifacts and improving the efficiency of the whole process.
SFTP artifact handler
Artifacts are stored on a dedicated SSH server and transferred to and from it through SFTP. This allows to move the load and disk usage away from the Bamboo server and improves its performance. To determine if your SSH server supports SFTP and how to enable it, see the documentation of your particular SSH server implementation. If you're using OpenSSH, SFTP is enabled by default, and no action is required.
You can define the maximum number of files per artifact. If the threshold is exceeded, the artifact is automatically compressed into a single .zip
file, reducing the number of requests to the SSH server.
Impact of configuration changes on artifact visibility
If you change the configuration of one of the available global default artifact handlers or one configured for a particular plan, Bamboo won't automatically synchronize existing artifacts between the different locations. Your artifacts will remain intact in their original location, but they may become inaccessible through Bamboo's interface depending on the type of configuration change you make.
Changing the artifact handler type
Changing the type of an artifact handler (for example, from the Bamboo server artifact handler to the SFTP artifact handler) doesn't impact the visibility of old artifacts as long as the configuration details of the handler remain the same.
Changing storage location settings
Changing a configured artifact handler's location settings (for example, by replacing the SFTP server URL or specifying a different Amazon S3 bucket) will make the old artifacts inaccessible through the Bamboo interface.