Zephyr utilizes familiar versioning concepts by adopting SemVer (Semantic Versioning) as its foundational versioning methodology, ensuring a systematic and meaningful progression of project versions.
Applications deployed through Zephyr can have an unlimited number of versions. After you configure Zephyr's npm plugin in your build tool, or bundlers, each successful deployment will generate a new version. Check here to see how tags are created and how versions, tags and environments work together.
Semantic versioning is structured as MAJOR.MINOR.PATCH
:
You can rollback or roll-forward an application's version on Zephyr's dashboard and Chrome Extension towards a tag or a specific environment.
You can read more about how tag rules are created and how to create an environment to have a custom domain in other sections of our documnetation.
If you want to rollback or roll-forward a version towards a custom domain, you can know more by walking through how to configure custom domain on Zephyr.
To streamline the tagging process and ensure seamless integration with continuous integration and delivery (CI/CD) pipelines, Zephyr adopts specific rules for generating tags based on branch names during CI processes. This approach not only automates tag creation but also aligns with the development workflow to accurately reflect the state of the software at any given point.
On your first successful build, we find your branch name to auto-create a tag.
After the first successful build, each build's version fits in thiscriteria will be attached as latest version under this tag.
On Zephyr's Dashboard, you can find Tags under each application's Settings page.
After clicking on Create Tag, you will need to input a Tag name and choose rules under Tag conditions. Currently four related rule sets are available:
User
Version
Branch
CI
You can select a combination of rule set by clicking on + Add under Tag conditions.
Take an example, you just created a new tag rule with 3 rules:
Zack's deployment, version 200 under the branch "fix-ui" will be locked into this tag. Since the version rule is set to a fixed version.
Under application's Settings page select Tags and then the desired Tag name you want to edit.
Click on + Add button to add new rules, edit or delete pre-existing rules.
When code is pushed through a CI pipeline, tags are dynamically assigned based on the branch from which the push originates:
master
or main
branches: Automatically tagged as latest
. This tag is used for the most stable, production-ready version of the application.development
branch: Assigned the next
tag. This is used for pre-release versions that may still be under active development but are stable enough for testing purposes.For manual pushes (i.e., those not done through a CI pipeline), the tagging format incorporates the branch name followed by the username of the developer who made the push. This format is particularly useful for:
These tagging strategies ensure that every build on Zephyr can be uniquely identified and correlated with its source, enhancing both the development process and version control.