Re: Rethinking fedora websites deployment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Nov 27, 2022 at 5:32 PM Kevin Fenzi <kevin@xxxxxxxxx> wrote:
> > C) Same as B, but with an external builder
> >     We already build the new websites on Gitlab CI, and since the S3 gateway is accessible from the outside, we could just push the build artifacts to s3 directly from GitLab CI. Then sync the proxies from it.
>
> Or just pull from gitlab directly? Or does it expose that data in a way
> we could sync from?

Gitlab CI supports downloadable artifacts.  A tarball seems most
appropriate here but I often build RPMs myself.  :-D

Here's a simple CI script that build and tars the website up:
https://gitlab.com/tchollingsworth/fedora-websites/-/blob/6787d86f6e81c849dfaafd245878bd16710e9bb4/.gitlab-ci.yml

And a stable link by branch and commit to the tarball it generated:
https://gitlab.com/api/v4/projects/tchollingsworth%2Ffedora-websites/jobs/artifacts/master/raw/sites/getfedora.org/getfedora.org.tar.gz?job=build
https://gitlab.com/api/v4/projects/tchollingsworth%2Ffedora-websites/jobs/artifacts/6787d86f6e81c849dfaafd245878bd16710e9bb4/raw/sites/getfedora.org/getfedora.org.tar.gz?job=build

> > We could also improve B and C by adding fedora-messaging to the mix to trigger a proxy resync as soon as a new build is available instead of doing so every hour.
>
> +1 (although we should make sure not to thundering herd the endpoint if
> all proxies decided to sync at the same instant).

Gitlab can call a webhook when the build is completed, which could
trigger (a bus message that fires off) a sync.  I see CentOS developed
webhooks that forward commits, issues, etc. to the fedora-messaging
bus, not sure if they were ever put into production or if they include
CI successes and failures, but maybe half the work needed for this is
already done.

> Yeah, although it works the other way too... if we move to gitlab it
> would need someone who understands that setup to debug and fix.

I spent more time messing around with stuff like rolling back to
Fedora 34 because the flask-assets dependency it needed was retired in
the current release than I did with anything that was gitlab's fault.
;-)

On Mon, Nov 28, 2022 at 6:24 AM darknao <darknao@xxxxxxxxxxxxxxxxx> wrote:
> One downside to that is every build creates a new image (or at least a
> new layer), that proxies will have to pull every time.
> With rsync (or s3 sync) we only download what actually changes and save
> bandwidth in the long run.

Maybe my build isn't working all the way but tarball above is 11MB
gzipped and 30MB uncompressed so probably not a big burden, especially
if you only build when someone pushes.
_______________________________________________
infrastructure mailing list -- infrastructure@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to infrastructure-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Development]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux