diff --git a/docs/assets/user-guide/versioning/codebase_versioning.png b/docs/assets/user-guide/versioning/codebase_versioning.png new file mode 100644 index 000000000..0fc5f2d5a Binary files /dev/null and b/docs/assets/user-guide/versioning/codebase_versioning.png differ diff --git a/docs/assets/user-guide/versioning/codebasebranch_data.png b/docs/assets/user-guide/versioning/codebasebranch_data.png new file mode 100644 index 000000000..201ab9981 Binary files /dev/null and b/docs/assets/user-guide/versioning/codebasebranch_data.png differ diff --git a/docs/assets/user-guide/versioning/codebaseimagestream_data.png b/docs/assets/user-guide/versioning/codebaseimagestream_data.png new file mode 100644 index 000000000..954ea937c Binary files /dev/null and b/docs/assets/user-guide/versioning/codebaseimagestream_data.png differ diff --git a/docs/assets/user-guide/versioning/default_versioning.png b/docs/assets/user-guide/versioning/default_versioning.png new file mode 100644 index 000000000..270c8361b Binary files /dev/null and b/docs/assets/user-guide/versioning/default_versioning.png differ diff --git a/docs/assets/user-guide/versioning/git_tag.png b/docs/assets/user-guide/versioning/git_tag.png new file mode 100644 index 000000000..3feaa442b Binary files /dev/null and b/docs/assets/user-guide/versioning/git_tag.png differ diff --git a/docs/assets/user-guide/versioning/semantic_versioning.png b/docs/assets/user-guide/versioning/semantic_versioning.png new file mode 100644 index 000000000..7e12bc5fb Binary files /dev/null and b/docs/assets/user-guide/versioning/semantic_versioning.png differ diff --git a/docs/assets/user-guide/versioning/versions_in_pipelines.png b/docs/assets/user-guide/versioning/versions_in_pipelines.png new file mode 100644 index 000000000..12c20b2cf Binary files /dev/null and b/docs/assets/user-guide/versioning/versions_in_pipelines.png differ diff --git a/docs/user-guide/artifact-versioning.md b/docs/user-guide/artifact-versioning.md new file mode 100644 index 000000000..3c5e87b87 --- /dev/null +++ b/docs/user-guide/artifact-versioning.md @@ -0,0 +1,70 @@ +--- +title: "Artifact Versioning in KubeRocketCI" +description: "Explanation of artifact versioning types in KubeRocketCI, including default and semantic versioning, and how to customize versioning patterns for codebases." +sidebar_label: "Artifact Versioning" +--- + + +# Artifact Versioning in KubeRocketCI + + + + + +This page describes artifact versioning types in KubeRocketCI, outlining their differences and versioning patterns. + +Artifact versioning in KubeRocketCI is designed to ensure each build and deployment can be uniquely identified, managed, and traced back to its source. + +Artifact versioning is defined for every codebase individually when creating a codebase: + + ![Select codebase versioning](../assets/user-guide/versioning/codebase_versioning.png "Select codebase versioning") + +A new application version appears when a build pipeline run completes successfully. A successfully built artifact is marked with the new version once the `git-tag`, `update-cbb`, and `update-cbis` steps complete successfully: + + ![Git-tag step](../assets/user-guide/versioning/codebase_versioning.png "Git-tag step") + +Application version can also be seen in the pipeline that built the version: + + ![Versions in pipelines](../assets/user-guide/versioning/versions_in_pipelines.png "Versions in pipelines") + +## Versioning Types + +KubeRocketCI supports two versioning types: default and semver. They offer different patterns for tagging codebases. + +### Default Versioning + +Default versioning generates versions based on the branch name and datetime, e.g. (`BRANCH-DATETIME`): + + ![Default versioning](../assets/user-guide/versioning/default_versioning.png "Default versioning") + +### Semantic Versioning + +Semantic versioning (semver) structures versions as `MAJOR.MINOR.PATCH-BUILD_ID`, based on the [semantic versioning standards](https://semver.org/): + + ![Semantic versioning](../assets/user-guide/versioning/semantic_versioning.png "Semantic versioning") + +Several other resources are also involved in managing semantic versioning. + +The first resource is **CodebaseBranch**. It contains data major version and build number for a specific branch. Besides, it contains codebase versioning-related data, including: + +- **Version History**: A record of all versions generated from the branch. +- **Build Information**: Details of the current and most recent successful builds, which may include version identifiers. + +**CodebaseBranch** data is displayed in the codebase details page: + + ![CodebaseBranch data](../assets/user-guide/versioning/codebasebranch_data.png "CodebaseBranch data") + +The second resource is **CodebaseImageStream**. It contains application container versions built for container registry. The available container versions are displayed in the environment details page when deploying an application: + + ![CodebaseImageStream data](../assets/user-guide/versioning/codebaseimagestream_data.png "CodebaseImageStream data") + +## Custom Versioning + +User can adjust artifact versioning pattern by updating [`get-version`](https://github.com/epam/edp-tekton/tree/master/charts/pipelines-library/templates/tasks/getversion) CI step to address your personal needs. + +## Related Articles + +* [Add Application](add-application.md) +* [Add Cluster](add-cluster.md) +* [Manage GitOps](gitops.md) +* [Manage Registries](manage-container-registries.md) diff --git a/docs/user-guide/gitops.md b/docs/user-guide/gitops.md index a1bbbfd8f..678a53e47 100644 --- a/docs/user-guide/gitops.md +++ b/docs/user-guide/gitops.md @@ -1,8 +1,8 @@ --- -title: "Manage Clusters" +title: "Manage GitOps" description: "Explore the GitOps section in KubeRocketCI for automating infrastructure and application deployments with a Git repository-driven approach." -sidebar_label: "Manage Clusters" +sidebar_label: "Manage GitOps" --- diff --git a/sidebars.ts b/sidebars.ts index 69658404a..3f9638d82 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -455,6 +455,7 @@ const sidebars: SidebarsConfig = { ], }, 'user-guide/manage-branches', + 'user-guide/artifact-versioning', ], }, { diff --git a/versioned_docs/version-3.10/assets/user-guide/versioning/codebase_versioning.png b/versioned_docs/version-3.10/assets/user-guide/versioning/codebase_versioning.png new file mode 100644 index 000000000..0fc5f2d5a Binary files /dev/null and b/versioned_docs/version-3.10/assets/user-guide/versioning/codebase_versioning.png differ diff --git a/versioned_docs/version-3.10/assets/user-guide/versioning/codebasebranch_data.png b/versioned_docs/version-3.10/assets/user-guide/versioning/codebasebranch_data.png new file mode 100644 index 000000000..201ab9981 Binary files /dev/null and b/versioned_docs/version-3.10/assets/user-guide/versioning/codebasebranch_data.png differ diff --git a/versioned_docs/version-3.10/assets/user-guide/versioning/codebaseimagestream_data.png b/versioned_docs/version-3.10/assets/user-guide/versioning/codebaseimagestream_data.png new file mode 100644 index 000000000..954ea937c Binary files /dev/null and b/versioned_docs/version-3.10/assets/user-guide/versioning/codebaseimagestream_data.png differ diff --git a/versioned_docs/version-3.10/assets/user-guide/versioning/default_versioning.png b/versioned_docs/version-3.10/assets/user-guide/versioning/default_versioning.png new file mode 100644 index 000000000..270c8361b Binary files /dev/null and b/versioned_docs/version-3.10/assets/user-guide/versioning/default_versioning.png differ diff --git a/versioned_docs/version-3.10/assets/user-guide/versioning/git_tag.png b/versioned_docs/version-3.10/assets/user-guide/versioning/git_tag.png new file mode 100644 index 000000000..3feaa442b Binary files /dev/null and b/versioned_docs/version-3.10/assets/user-guide/versioning/git_tag.png differ diff --git a/versioned_docs/version-3.10/assets/user-guide/versioning/semantic_versioning.png b/versioned_docs/version-3.10/assets/user-guide/versioning/semantic_versioning.png new file mode 100644 index 000000000..7e12bc5fb Binary files /dev/null and b/versioned_docs/version-3.10/assets/user-guide/versioning/semantic_versioning.png differ diff --git a/versioned_docs/version-3.10/assets/user-guide/versioning/versions_in_pipelines.png b/versioned_docs/version-3.10/assets/user-guide/versioning/versions_in_pipelines.png new file mode 100644 index 000000000..12c20b2cf Binary files /dev/null and b/versioned_docs/version-3.10/assets/user-guide/versioning/versions_in_pipelines.png differ diff --git a/versioned_docs/version-3.10/user-guide/artifact-versioning.md b/versioned_docs/version-3.10/user-guide/artifact-versioning.md new file mode 100644 index 000000000..afaf79d56 --- /dev/null +++ b/versioned_docs/version-3.10/user-guide/artifact-versioning.md @@ -0,0 +1,70 @@ +--- +title: "Artifact Versioning in KubeRocketCI" +description: "Explanation of artifact versioning types in KubeRocketCI, including default and semantic versioning, and how to customize versioning patterns for codebases." +sidebar_label: "Artifact Versioning" +--- + + +# Artifact Versioning in KubeRocketCI + + + + + +This page describes artifact versioning types in KubeRocketCI, outlining their differences and versioning patterns. + +Artifact versioning in KubeRocketCI is designed to ensure each build and deployment can be uniquely identified, managed, and traced back to its source. + +Artifact versioning is defined for every codebase individually when creating a codebase: + + ![Select codebase versioning](../assets/user-guide/versioning/codebase_versioning.png "Select codebase versioning") + +A new application version appears when a built pipeline run completes successfully. A successfully built artifact is marked with the new version on the `git-tag` step: + + ![Git-tag step](../assets/user-guide/versioning/codebase_versioning.png "Git-tag step") + +Application version can also be seen in the pipeline that built the version: + + ![Versions in pipelines](../assets/user-guide/versioning/versions_in_pipelines.png "Versions in pipelines") + +## Versioning Types + +KubeRocketCI supports two versioning types: default and semver. They offer different patterns for tagging codebases. + +### Default Versioning + +Default versioning generates versions based on the branch name and datetime, e.g. (`BRANCH-DATETIME`): + + ![Default versioning](../assets/user-guide/versioning/default_versioning.png "Default versioning") + +### Semantic Versioning + +Semantic versioning (semver) structures versions as `MAJOR.MINOR.PATCH-BUILD_ID`, based on the [semantic versioning standards](https://semver.org/): + + ![Semantic versioning](../assets/user-guide/versioning/semantic_versioning.png "Semantic versioning") + +Several other resources are also involved in managing semantic versioning. + +The first resource is **CodebaseBranch**. It contains data major version and build number for a specific branch. Besides, it contains codebase versioning-related data, including: + +- **Version History**: A record of all versions generated from the branch. +- **Build Information**: Details of the current and most recent successful builds, which may include version identifiers. + +CodebaseBranch data is displayed in the codebase details page: + + ![Semantic versioning](../assets/user-guide/versioning/codebasebranch_data.png "Semantic versioning") + +The second resource is **CodebaseImageStream**. It contains application container versions built for container registry. The available container versions are displayed in the environment details page when deploying an application: + + ![Semantic versioning](../assets/user-guide/versioning/codebaseimagestream_data.png "Semantic versioning") + +## Custom Versioning + +User can adjust artifact versioning pattern by updating [`get-version`](https://github.com/epam/edp-tekton/tree/master/charts/pipelines-library/templates/tasks/getversion) CI step to address your personal needs. + +## Related Articles + +* [Add Application](add-application.md) +* [Add Cluster](add-cluster.md) +* [Manage GitOps](gitops.md) +* [Manage Registries](manage-container-registries.md) diff --git a/versioned_docs/version-3.10/user-guide/gitops.md b/versioned_docs/version-3.10/user-guide/gitops.md index a1bbbfd8f..678a53e47 100644 --- a/versioned_docs/version-3.10/user-guide/gitops.md +++ b/versioned_docs/version-3.10/user-guide/gitops.md @@ -1,8 +1,8 @@ --- -title: "Manage Clusters" +title: "Manage GitOps" description: "Explore the GitOps section in KubeRocketCI for automating infrastructure and application deployments with a Git repository-driven approach." -sidebar_label: "Manage Clusters" +sidebar_label: "Manage GitOps" --- diff --git a/versioned_docs/version-3.9/user-guide/gitops.md b/versioned_docs/version-3.9/user-guide/gitops.md index 5c49cf29f..dce9caaa1 100644 --- a/versioned_docs/version-3.9/user-guide/gitops.md +++ b/versioned_docs/version-3.9/user-guide/gitops.md @@ -1,8 +1,8 @@ --- -title: "Manage Clusters" +title: "Manage GitOps" description: "Explore the GitOps section in KubeRocketCI for automating infrastructure and application deployments with a Git repository-driven approach." -sidebar_label: "Manage Clusters" +sidebar_label: "Manage GitOps" --- diff --git a/versioned_sidebars/version-3.10-sidebars.json b/versioned_sidebars/version-3.10-sidebars.json index 4ab436b75..ffd9ab8d6 100644 --- a/versioned_sidebars/version-3.10-sidebars.json +++ b/versioned_sidebars/version-3.10-sidebars.json @@ -428,7 +428,8 @@ "user-guide/infrastructure" ] }, - "user-guide/manage-branches" + "user-guide/manage-branches", + "user-guide/artifact-versioning" ] }, {