RocketChat / Docker.Official.Image

Docker hub - community managed image
305 stars 215 forks source link

Improve release process #61

Open geekgonecrazy opened 5 years ago

geekgonecrazy commented 5 years ago

@tianon @pierreozoux

I'm not sure who to ping here. Pretty much from the start this has been a community maintained repo. Because of that its been a bit hands off and just let things run.

We'd like to get a bit more hands on and assure this image gets the same sort of quality as the one in our own repo.

So we'd really like to understand how exactly the pieces here fit together and how we can improve. I don't know if here is the best way or if via email.

If email is better please shoot me an email aaron.ogle [@] our company domain :)

pierreozoux commented 5 years ago

@geekgonecrazy the best way would be to merge both repos I guess.

geekgonecrazy commented 5 years ago

cc: @sampaiodiego

Yes this is exactly what i'm wondering if could be possible.

Do you have any details of how the build is triggered? Would be amazing if we could tie directly into our release process.

tianon commented 5 years ago

Hey, sorry for missing this earlier -- I think https://github.com/docker-library/official-images is the best place to get back up to speed on what the Official Images process is. The only additional bit above what's documented there that this repository has is @docker-library-bot running ./update.sh periodically and auto-committing the result (assuming it builds successfully afterwards) and me periodically including those bumps in my own PRs to https://github.com/docker-library/official-images for the images we maintain.

We'd certainly appreciate this repository/image getting more attention and active maintenance than it current does. :+1: :tada:

(cc @yosifkit for visibility)

alexxkn commented 5 years ago

I would like to pay your attention that building of new releases in official version of Rocket chat are still not working. You can check this yourself: https://hub.docker.com/_/rocket-chat?tab=tags Herewith you can see that versions in github are changing, while compilations are not running. Could you pls fix it?

geekgonecrazy commented 5 years ago

If i'm understanding this correctly.

  1. In our CI check out: https://github.com/docker-library/official-images
  2. Modify our file like done here: https://github.com/RocketChat/Docker.Official.Image/blob/master/generate-stackbrew-library.sh additionally adding:
    Directory: .docker/official
  3. Then push to a fork
  4. Open a PR and mention us so we can make sure the build succeeds

@sampaiodiego that sound accurate? We already do this for our snaps

sampaiodiego commented 5 years ago

@geekgonecrazy so the idea is to remove this repo and use only our main one? to do so we would then move all files from here to a folder .docker/official there, which will then contain the Dockerfile and the README.md as the content for https://hub.docker.com/_/rocketchat/

is that the plan? I thought we actually need a new repo to host the official image.

tianon commented 5 years ago

It doesn't have to be a separate repo, but if you put it in your main repo and couple it tightly with your main release process then it usually becomes harder to make non-release-related changes (script fixes/updates, pecl updates, etc) between releases of the main product.

tianon commented 5 years ago

(Also, in our review, we review the whole "context" of the image, so please don't put it at the root of the main source repo and use COPY . /..., since we really don't want to be reviewing changes to Rocket.Chat's internal code -- we're focused on the Dockerization :sweat_smile:)

geekgonecrazy commented 5 years ago

@geekgonecrazy so the idea is to remove this repo and use only our main one? to do so we would then move all files from here to a folder .docker/official there, which will then contain the Dockerfile and the README.md as the content for https://hub.docker.com/_/rocketchat/ is that the plan? I thought we actually need a new repo to host the official image.

I'm not sure... 🤔 I didn't realize the requirement of only depending on other official images. Maybe instead we just bump this repo from our CI instead. Since we have no choice but to maintain 2 different docker images 😶

sampaiodiego commented 4 years ago

Maybe instead we just bump this repo from our CI instead

we might need to do this.. for some reason @docker-library-bot didn't run the past two releases. @tianon do you happen to know why? tia

yosifkit commented 4 years ago

It didn't run because the access for @docker-library-bot to push was revoked so we removed the job: https://github.com/docker-library/oi-janky-groovy/commit/c1d73ec8bfb6a2a7b1f053df32fc3d340506b0b5

rodrigok commented 4 years ago

@yosifkit I've added @docker-library-bot back with write permissions. Can you add the job back?

northway commented 4 years ago

There are no new image tags on Docker hub since the 2.4.1 release. Any update on this issue?

sampaiodiego commented 4 years ago

sorry @northway .. this is a two step process: update this repo and open a PR to official docker images.. but I missed the second part.. it is done now https://github.com/docker-library/official-images/pull/7452 just need to wait for them to merge.

we still need to automate this process though

tianon commented 4 years ago

@yosifkit I've added @docker-library-bot back with write permissions. Can you add the job back?

Doh sorry, I think this failed due to the same reason it got kicked off in the first place -- it's a bot, so 2FA is a bit complicated (so it can't actually accept the invite).

rodrigok commented 4 years ago

@tianon any idea on how to handle this?

tianon commented 4 years ago

Using @docker-library-bot, I'm not sure, but you should be able to accomplish something very similar using GitHub Actions or Travis -- it just runs ./update.sh followed by the official images tests and if successful, commits and pushes the result.

tianon commented 4 years ago

In this case, I think making sure docker build is successful after ./update.sh is probably plenty to be sure the new version is available and ~working.

northway commented 4 years ago

Can you trigger the release again? I would like to upgrade our instances to 3.X...

snoopotic commented 4 years ago

Yeah, If you merge #104 before, the image would be more rock(et)solid 😜

northway commented 4 years ago

I'm already on the verge of making my own CD pipeline.