GitHub has the possibility to create different releases of your application. By the GitHub release definition: "Releases are deployable software iterations you can package and make available for a wider audience to download and use."
Packages are a feature of GitHub defined: "GitHub Packages is a platform for hosting and managing packages, including containers and other dependencies."
So to be specific, you can create a release and then package that release in some format. For this question, I am interested in the packaging application in the container.
I am interested in what are the best practices for containerized applications. Do you use releases when creating containers, or they are not needed as your containers are already tagged and represent application release? I must point out that for tagging containers I use semi-automated mechanisms other than git tags. They are based on the next rules: major and minor are defined in the file, and the patch is defined dynamically by measuring the git height.
CodePudding user response:
If you're talking OCI containers (that is, the format used by Docker), then you're probably going to want to use GitHub Packages. That's because you can download those packages using Docker since the server for GitHub Packages supports those protocols, whereas release assets (used by releases) don't.
That isn't to say that you couldn't upload a container image as part of a release, only that it's less useful if you do so.