[tor-project] emergency migration of all websites from Jenkins to GitLab CI


TL;DR: all websites hosted in Gitolite and built under Jenkins have been
(or will shortly be) migrated to GitLab and GitLab CI. This was
necessary to work around a difficult Jenkins issue and is in line with
our Jenkins retirement roadmap. You may need to update Git remote URLs.


This week we had some big problems with Jenkins which stopped building
sites (#40495). In an optimistic mood, anarcat deployed a fix to jenkins
that made the builds pass, but revealed another, more serious, issue:
translation metadata showed up in the HTML output, garbling most of the
lektor sites (#40501). We tried to fix the underlying issue
(tpo/web/team#12) but so far failed and @hiro figured the “just right”
combination of Python, Debian, And lektor to make the sites build. Major
caveat: it worked only in GitLab CI.

Because we had planned to move those sites to GitLab CI anyways, we
embarked on a rush migration of all the sites.

The goal of rushing this transition is to make sure the web folks can
still push updates to websites, which was particularly sensitive during
this time (year end campaign!) so it was prioritized over other
work. Hopefully that goal should have been filled. The other goal, of
course, was to continue the Jenkins retirement and we have now pushed
past a major landmark in that larger milestone.


This is the current status of that migration:

  1. 2021.www.torproject.org (tpo/web/team#13), to archive permanently
  2. community.torproject.org (tpo/web/community#238), migrated
  3. dev.torproject.org (tpo/web/dev#13), not migrated yet, not in production
  4. donate.torproject.org (tpo/web/donate-static#54), migrated
  5. gettor.torproject.org (tpo/web/gettor-web#2), migrated
  6. newsletter.torproject.org (tpo/web/newsletter#22), next to migrate
  7. styleguide.torproject.org (tpo/web/styleguide#17), migrated
  8. support.torproject.org (tpo/web/support#272), migrated
  9. tb-manual.torproject.org (tpo/web/manual#111), migrated
  10. www.torproject.org (tpo/web/tpo#254), in progress, needs testing

For those keeping count, that’s 6 sites migrated out of 10, with only
two “production” websites remaining to migrate.

Also, because of access control restrictions, we have decided to also
migrate the repositories from gitolite to GitLab. This was done mostly
because not everyone in the incident team had access to the gitolite
repo, and granting access to those repos would have taken too much
time. All those repositories (except the translation repo, which still
needs to be migrated, see tpo/tpa/team#40497) we already mirrored. If
you are blocked on access, file a ticket with TPA and we’ll make sure to
expedite your request.

You will get an error when trying to push to gitolite that tells you
what the correct, new URL should be.


This happened between last night and today, and will hopefully complete
by tomorrow, when the last websites will be migrated to GitLab CI.


This was an awesome team effort: we collaborated over Big Blue Button
for a few hours and accomplished a lot, with @anarcat, @hiro, @emmapeel,
@lavamind, and @kez all contributing in an awesome team effort.


We hope this change won’t be too disruptive and would be happy to hear
your thoughts.