Fabian Deutsch: Cheap and lazy releases

Release early and release often.

That’s fine if it’s close to a noop.
The Cockpit team also has great atuomation in this area, but here a few words on how we do this in KubeVirt.

Assumption: The git tree is our source and git tags map to logical releases.

Kudos: To GitHub and Travis CI.

  1. Have a working CI in order toverify that a commit is good

You’ll need to write test cases and have travis running them. I strongly recommended to have a great coverage, it keeps your .. inbox clean.

  1. Tagging and release in order to mark a commit as a release

Here you want to either use plain annotated git tags, or even better git-evtag which is signing the whole tree.

  1. Building images and binaries
    Travis has everything you need to build images and binaries (although I wonder when buildah will land here).
    Besides building images you can also push them to a registry of your choice.
    All triggered by tags mentioned above.

The travis deployment feature is also pretty handy, as you can directly create a GitHub release and upload artifacts.

  1. Announce

Do it manually. You can generate changelogs, but reading them … is nto nice for humans. Thus maybe a sentenc or two – but written by a real human – might be good.

All steps combined should give you: CI on each commit, github releases and pushed images for every tag you do.

All in all it’s a lazy – or cheap – release.

Source From: fedoraplanet.org.
Original article title: Fabian Deutsch: Cheap and lazy releases.
This full article can be read at: Fabian Deutsch: Cheap and lazy releases.


Random Article You May Like

Leave a Reply

Your email address will not be published. Required fields are marked *