Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add release bundle docs under Deploy/Release Strategy. #3072

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

cmfcruz
Copy link
Contributor

@cmfcruz cmfcruz commented Sep 19, 2024

Change-type: minor


Please make sure to read the CONTRIBUTING document before opening the PR for relevant information on contributing to the documentation. Thanks!

Copy link
Contributor

github-actions bot commented Sep 19, 2024

Website deployed to CF Pages, 👀 preview link https://6420059b.balenacloud-docs.pages.dev

Change-type: minor
Signed-off-by: Carlo Miguel F. Cruz <[email protected]>
excerpt: Use the same release across multiple fleets using release bundles
---

# Identical releases across multiple fleets
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To bring it as more of an action word, how about we do the title as

Share releases with multiple fleets


It is common to use multiple fleets on {{$names.company.lower}} to organize application development and fleet operations. Some users dedicate fleets to development and testing, pushing only tested code to production fleets. Others may use a "canary" fleet with a subset of production devices for additional testing before full deployment.

Testing can take time, and building a release from the same source may produce a different image than before due to updated external dependencies or mutable Dockerfile base images (e.g., latest). Consequently, a release built later might behave differently.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit

Suggested change
Testing can take time, and building a release from the same source may produce a different image than before due to updated external dependencies or mutable Dockerfile base images (e.g., latest). Consequently, a release built later might behave differently.
Testing can take time, and building a release from the same source may produce a different image than before due to updated external dependencies or mutable Dockerfile base images (e.g. latest). Consequently, a release built later might behave differently.


Testing can take time, and building a release from the same source may produce a different image than before due to updated external dependencies or mutable Dockerfile base images (e.g., latest). Consequently, a release built later might behave differently.

To ensure the exact version of a tested release is deployed across fleets, you can export a release bundle file from an app, block, or fleet. This bundle allows you to import an identical copy of the release into another fleet. Unlike [{{$names.company.lower}} deploy][balena-deploy], which pushes images built locally, importing a release doesn't require a Docker engine on your machine.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To ensure the exact version of a tested release is deployed across fleets, you can export a release bundle file from an app, block, or fleet. This bundle allows you to import an identical copy of the release into another fleet. Unlike [{{$names.company.lower}} deploy][balena-deploy], which pushes images built locally, importing a release doesn't require a Docker engine on your machine.
To ensure the exact version of a tested release is deployed across fleets, you can export a release bundle file from an app, block, or fleet. This bundle allows you to import an identical copy of the release into another app, block, or fleet. Unlike [{{$names.company.lower}} deploy][balena-deploy], which pushes images built locally, importing a release doesn't require a Docker engine on your machine.


## Importing a Release

You can import a release from a release bundle into a {{$names.company.lower}} app, block, or fleet. This creates the release in the specified fleet with the version defined in the release manifest within the release bundle. Additionally, the images for the release are uploaded to the registry during the import process.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can import a release from a release bundle into a {{$names.company.lower}} app, block, or fleet. This creates the release in the specified fleet with the version defined in the release manifest within the release bundle. Additionally, the images for the release are uploaded to the registry during the import process.
You can import a release from a release bundle into a {{$names.company.lower}} app, block, or fleet. This creates the release in the specified app, block, or fleet with the version defined in the release manifest within the release bundle. Additionally, the images for the release are uploaded to the registry during the import process.


You can import a release from a release bundle into a {{$names.company.lower}} app, block, or fleet. This creates the release in the specified fleet with the version defined in the release manifest within the release bundle. Additionally, the images for the release are uploaded to the registry during the import process.

__Note:__ The revision number of the release's semantic version (semver) will not be set on the imported release. This number is automatically iterate by the {{$names.company.lower}} API when a release with the same semantic version already exists in the app, block, or fleet.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
__Note:__ The revision number of the release's semantic version (semver) will not be set on the imported release. This number is automatically iterate by the {{$names.company.lower}} API when a release with the same semantic version already exists in the app, block, or fleet.
__Note:__ The revision number of the release's semantic version (semver) will not be set on the imported release. This number is automatically iterated by the {{$names.company.lower}} API when a release with the same semantic version already exists in the app, block, or fleet.


__Note:__ The revision number of the release's semantic version (semver) will not be set on the imported release. This number is automatically iterate by the {{$names.company.lower}} API when a release with the same semantic version already exists in the app, block, or fleet.

Releases can be imported to multiple fleets. A new fleet can be created, and a release from an older fleet can be imported into it.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A new fleet can be created, and a release from an older fleet can be imported into it.

Not sure what the purpose of this sentence is 🤔 Seems obvious to me but idk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants