Differences between revisions 66 and 423 (spanning 357 versions)
Revision 66 as of 2019-10-22 17:14:49
Size: 6002
Editor: Praveen A
Comment:
Revision 423 as of 2023-05-31 08:37:32
Size: 7918
Editor: Praveen A
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
A new feature release of gitlab flows in the following direction: [[/devel|devel]] -> [[/staging|staging]] -> experimental -> unstable -> [[/fasttrack-staging|fasttrack-staging]] -> fasttrack (experimental and unstable may be skipped during freeze and transitions).

See [[/omnibus]] if you are looking for instructions to install upstream provided packages.

{{{#!wiki important
New upstream releases (including security updates) are announced at https://about.gitlab.com/releases/categories/releases/ and available as RSS feed https://about.gitlab.com/security-releases.xml.
}}}
Line 7: Line 15:
== Buster Fast Track (Recommended) ==
Gitlab 12.0.9 is available in [[FastTrack|unofficial fasttrack repo]] (some packages are still needed from personal repo of gitlab maintainer) targeting buster as base distribution. (two security releases behind).
{{{#!wiki important
Note 1: For a smooth upgrade experience, always stay on the latest major version of gitlab. For example, if latest version of gitlab is 12.0.0 and you are currently on 11.3.6, then update to 12.0.0 as soon as possible, certainly before the debian package is updated to 13.x. Ideally, you should update as soon as a new version with security updates is available.
}}}
Line 10: Line 19:
Add to `/etc/apt/sources.list` {{{#!wiki important
Note 2: It is recommended to subscribe to changes in this wiki page or frequently check this page for updates. Alternatively, you can subscribe to https://tracker.debian.org/pkg/gitlab to get notified when new versions are uploaded.
}}}

{{{#!wiki important
Make sure `contrib` section is enabled for official repos.
}}}

== Story of Gitlab packaging project/FAQ about Gitlab packaging ==

Gitlab Inc sponsored the packaging effort for 6+ years (2016-2022). Currently looking for donations at https://opencollective.com/debian-gitlab.

Though the dependencies are so many, the work benefits Debian immensely by maintaining many important build tools like webpack, rollup, babel, npm, yarn... And frameworks like ruby on rails.

The situation in packaging JavaScript modules is considerably improved over the years thanks to this packaging work. It took over 2 years for packaging handlebars_assets gem for diaspora because its embedded JavaScript library was using tools like gulp, webpack, jison etc and none of this was packaged for Debian. The whole JavaScript build tools were untouched for years in Debian and instead reverse engineering of the build tools for specific libraries was the norm (for example jquery), it was very hard and not scalable.

Out of 1600+ node modules gitlab needs, we have 1200+ modules already packaged. It is not impossible to have it in main (it was in main earlier before the nodejs modules exploded exponentially and if some more people join the team, currently it is mostly a single person work and at times some new people helping out with a handful of dependencies. I don't think it is much harder if you take whole gnome or KDE as comparison. We are able to pull it off because of team work. This project have also brought many new contributors to Debian.

While we might love long term supported releases, calling anything moving fast as insane and not able to adapt to change is a recipe for Debian becoming irrelevant over time. Many just want distros to be only a base os for shipping containers but that is not necessarily a good thing for users to have dependency on a single project for updates and lose choice and flexibility.

We created https://fasttrack.debian.net to serve gitlab as it did not fit into a debian stable release cycle and currently not just gitlab, but matrix synapse and virtual box is also shipped via FastTrack.

{{{#!wiki important
If you are using the gitlab package, please participate in this survey so we know the impact of this work https://surveys.debian.net/index.php?r=survey/index&sid=142968&lang=en
}}}

== New changes ==
 1. From gitlab 14.7.7: gitlab user needs to write to /var/lib/gitlab/.gem so if you installed gems manually as root user, you will need to update permissions or remove this directory. Gitlab package now installs required unpackaged gems in that directory automatically.

See [[gitlab/news]] for older archived entries.

== Bookworm FastTrack (Recommended) ==

{{{#!wiki important
For upgrading from Bullseye to Bookworm, see the instructions on the following page: [[gitlab/bullseye|GitLab upgrade from Bullseye to Bookworm]].
}}}

gitlab 15.10.7 is available in Bookworm FastTrack (no open security issues).

Add fasttrack.debian.net as a trusted repo for apt,
Line 12: Line 60:
deb http://fasttrack.debian.net/debian/ buster-fasttrack main contrib
deb http://fasttrack.debian.net/debian/ buster-backports main contrib
deb https://deb.debian.org/debian buster-backports contrib main
# Eventually the packages in this repo will be moved to one of the previous two repos
deb https://people.debian.org/~praveen/gitlab buster-backports contrib main
# apt install fasttrack-archive-keyring
Line 18: Line 62:

And add the following lines for fasttrack repo:
{{{
deb https://fasttrack.debian.net/debian/ bookworm-fasttrack main contrib
# For dependency packages not in testing only temporarily due to freeze, transitions or delayed by backports-new or NEW.
deb https://fasttrack.debian.net/debian/ bookworm-backports-staging main contrib
}}}

And install gitlab:
{{{
# apt update
# apt install gitlab-apt-pin-preferences
# apt install gitlab
}}}

== Bullseye FastTrack (Upgrade to bullseye today) ==

gitlab 15.9.8 is available in Bullseye FastTrack (no open security issues).

{{{#!wiki important
It is strongly recommended to upgrade to bookworm-fasttrack as soon as possible as 15.9.8 is going to be the last version available in bullseye-backports.

For upgrading from Bullseye to Bookworm, see the instructions on the following page: [[gitlab/bullseye|GitLab upgrade from Bullseye to Bookworm]].
}}}

Add fasttrack.debian.net as a trusted repo for apt,
{{{
# apt install fasttrack-archive-keyring ca-certificates
}}}

And add the following lines for fasttrack repo:
{{{
deb https://fasttrack.debian.net/debian/ bullseye-fasttrack main contrib
# For dependency packages not in testing only temporarily due to freeze, transitions or delayed by backports-new or NEW.
deb https://fasttrack.debian.net/debian/ bullseye-backports-staging main contrib
}}}

You will also need official bullseye-backports repo:
{{{
deb http://deb.debian.org/debian bullseye-backports main contrib
}}}

and install gitlab
Line 21: Line 108:
}}}

You may encounter the following error message:
{{{
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0B76920762A6B785
}}}
If so, those commands can help:
{{{
# wget https://people.debian.org/~praveen/gitlab/praveen.key.asc
# wget http://fasttrack.debian.net/fasttrack-archive-key.asc
# apt-key add praveen.key.asc
# apt-key add fasttrack-archive-key.asc
}}}

Finally:
{{{
# apt -t buster-backports install gitlab
}}}

''Note: https://gitlab.debian.net is running on this version.''

== Unstable (be careful when updating packages) ==
Gitlab 11.8.10 is available in unstable (many open security issues). '''Note: Use experimental till [[https://release.debian.org/transitions/html/auto-libgit2.html|libgit2 transition]] is complete.'''

{{{
# apt install gitlab-apt-pin-preferences
Line 49: Line 112:
We try to keep the version in unstable in a good shape with the latest security updates, but some times dependency updates break GitLab. == Unstable (be careful when updating packages) ==
See below for installing from experimental.
Line 53: Line 117:
Gitlab 12.2.8 is available in experimental (no open security issues). If you are using experimental for the first time, check [[DebianExperimental]]. gitlab 15.10.7 is available in experimental (no open security issues).
Line 55: Line 119:
libgit2, grpc and protobuf transition is delaying upload to unstable. If you are using experimental for the first time, check [[DebianExperimental]].
Line 57: Line 121:
{{{
# apt -t experimental install ruby-rugged ruby-grpc ruby-google-protobuf
# apt -t experimental install gitlab-workhorse gitaly ruby-gitaly
# apt -t experimental install ruby-devise ruby-task-list ruby-bootstrap-form ruby-sshkey ruby-default-value-for ruby-benchmark-ips ruby-omniauth-google-oauth2 ruby-invisible-captcha ruby-gitlab-sidekiq-fetcher ruby-redis ruby-gitlab-labkit
# apt install gitlab/experimental
}}}
== Experimental/unstable Staging ==
Line 64: Line 123:
== Stretch Backports (upgrade to buster) ==
Gitlab 11.4.9 is available in stretch-backports (still affected by some security issues, many security releases behind).
When gitlab is not ready for official experimental/unstable (for example some dependencies need to clear NEW queue), it will be available from this repo.
Line 67: Line 125:
Gitlab 11.5.10 is available for stretch-backports via personal repo of gitlab maintainer (many security releases behind) from https://people.debian.org/~praveen/gitlab This section moved to [[gitlab/staging]].
Line 69: Line 127:
Add to `/etc/apt/sources.list`
{{{
deb https://people.debian.org/~praveen/gitlab stretch-backports contrib main
}}}
== Gitlab on older releases ==
Line 74: Line 129:
''Note 1: Official stretch-backports repo is also required for this personal repo to work. See [[Backports]]. You will also need contrib section'' These versions no longer receive any security updates and it is recommended to upgrade to Debian 11 Bullseye to continue receiving security updates.
Line 76: Line 131:
{{{
# apt -t stretch-backports install gitlab
}}}
 * [[gitlab/buster|Debian 10 Buster]]
 * [[gitlab/stretch|Debian 9 Stretch]]
Line 80: Line 134:
It is recommended to upgrade to buster to receive security updates. == Troubleshooting common issues ==
Line 82: Line 136:
Note: Remove unnecessary packages after upgrade (remove ruby-bootsnap if you see strange load errors). See [[gitlab/troubleshooting]]
Line 84: Line 138:
{{{
# apt remove rails npm ruby-bootsnap
}}}
== Tips and tweaks ==
Line 88: Line 140:
== Stretch (upgrade to stretch-backports and then to buster) ==
Gitlab 8.13.11 is available in stretch, but it is not receiving any security updates. So it is recommended to update to newer versions from unstable or buster or stretch-backports.

{{{
# apt install gitlab
}}}

It is recommended to upgrade to stretch-backports and then to buster to receive security updates.
See [[/tweaks|Tweaks for GitLab]] for things like configuring gitlab with apache 2 or configuring puma in single process mode.
Line 98: Line 143:
You can reach the maintainers of the gitlab package via  You can reach the maintainers of the gitlab package via
Line 100: Line 145:
 1. Matrix at #debian-gitlab:poddery.com ([[https://chat.poddery.com/#/room/#debian-gitlab:poddery.com|join via browser]])
 1. IRC #debian-gitlab on OFTC network ([[https://webchat.oftc.net/?channels=debian-gitlab&uio=MT11bmRlZmluZWQb1|join via browser]])
 1. Matrix at `#debian-gitlab:poddery.com` ([[https://chat.poddery.com/#/room/#debian-gitlab:poddery.com|join via browser]])
 1. IRC `#debian-gitlab` on OFTC network ([[https://webchat.oftc.net/?channels=debian-gitlab&uio=MT11bmRlZmluZWQb1|join via browser]])
 1. Via XMPP at `#debian-gitlab#poddery.com@matrix.org`
Line 103: Line 149:
== Maintainer's corner ==

 1. Installing gitlab on an lxc container to test - See [[gitlab/lxc]]
 1. Updating gitlab package to newer versions - See [[Teams/Ruby/Packaging/newUpstreamRailsApp]]

'''TODO'''
 1. Aim to get gitlab back in main by bullseye release by packaging all node dependencies. We can do this gradually starting with webpack from the archive.
 1. Get autopkgtest working so we can detect problems when someone updates dependencies without coordinating with us.

== Omnibus Packages ==

Note: this section is about the installation of upstream-provided unofficial packages.

== Install ==
all actions are performed under the root user, in ~ unless otherwise noted.

=== Step 1 ===
navigate to https://about.gitlab.com/install/ and copy down the link to the Debian deb package.

as of this writing @ June 5, 2014

run

 *wget https://downloads-packages.s3.amazonaws.com/debian-7.4/gitlab_6.9.2-omnibus-1_amd64.deb

=== Step 2 ===
run
 *dpkg -i gitlab*

=== Step 3 ===
--(i got errors 1st time around 2nd time around gitlab looked like it set everything and ran well.)--

To avoid errors, execute ''/opt/gitlab/embedded/bin/runsvdir-start'' for one minute, more or less (tested in 7.9.0 and 7.9.1 omnibus versions).

run
 *gitlab-ctl reconfigure

to verify that things are running

run
 *gitlab-ctl status

=== Step 4 ===
navigate to your servers IP address or domain name, and login as:

user: root
password: 5iveL!fe

== External Resources ==
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
Documentation for [[gitlab/maintainers_corner|gitlab maintainers]]

Gitlab is a git front end with repository management, graphs, links, goodies, commands to run, and review capabilities similar in feel to a self-hosted ?GitHub.

A new feature release of gitlab flows in the following direction: devel -> staging -> experimental -> unstable -> fasttrack-staging -> fasttrack (experimental and unstable may be skipped during freeze and transitions).

See /omnibus if you are looking for instructions to install upstream provided packages.

New upstream releases (including security updates) are announced at https://about.gitlab.com/releases/categories/releases/ and available as RSS feed https://about.gitlab.com/security-releases.xml.

Debian is running its own Instance of GitLab under https://salsa.debian.org, which is not based on the packaged version.

Note 1: For a smooth upgrade experience, always stay on the latest major version of gitlab. For example, if latest version of gitlab is 12.0.0 and you are currently on 11.3.6, then update to 12.0.0 as soon as possible, certainly before the debian package is updated to 13.x. Ideally, you should update as soon as a new version with security updates is available.

Note 2: It is recommended to subscribe to changes in this wiki page or frequently check this page for updates. Alternatively, you can subscribe to https://tracker.debian.org/pkg/gitlab to get notified when new versions are uploaded.

Make sure contrib section is enabled for official repos.

Story of Gitlab packaging project/FAQ about Gitlab packaging

Gitlab Inc sponsored the packaging effort for 6+ years (2016-2022). Currently looking for donations at https://opencollective.com/debian-gitlab.

Though the dependencies are so many, the work benefits Debian immensely by maintaining many important build tools like webpack, rollup, babel, npm, yarn... And frameworks like ruby on rails.

The situation in packaging ?JavaScript modules is considerably improved over the years thanks to this packaging work. It took over 2 years for packaging handlebars_assets gem for diaspora because its embedded ?JavaScript library was using tools like gulp, webpack, jison etc and none of this was packaged for Debian. The whole ?JavaScript build tools were untouched for years in Debian and instead reverse engineering of the build tools for specific libraries was the norm (for example jquery), it was very hard and not scalable.

Out of 1600+ node modules gitlab needs, we have 1200+ modules already packaged. It is not impossible to have it in main (it was in main earlier before the nodejs modules exploded exponentially and if some more people join the team, currently it is mostly a single person work and at times some new people helping out with a handful of dependencies. I don't think it is much harder if you take whole gnome or KDE as comparison. We are able to pull it off because of team work. This project have also brought many new contributors to Debian.

While we might love long term supported releases, calling anything moving fast as insane and not able to adapt to change is a recipe for Debian becoming irrelevant over time. Many just want distros to be only a base os for shipping containers but that is not necessarily a good thing for users to have dependency on a single project for updates and lose choice and flexibility.

We created https://fasttrack.debian.net to serve gitlab as it did not fit into a debian stable release cycle and currently not just gitlab, but matrix synapse and virtual box is also shipped via FastTrack.

If you are using the gitlab package, please participate in this survey so we know the impact of this work https://surveys.debian.net/index.php?r=survey/index&sid=142968&lang=en

New changes

  1. From gitlab 14.7.7: gitlab user needs to write to /var/lib/gitlab/.gem so if you installed gems manually as root user, you will need to update permissions or remove this directory. Gitlab package now installs required unpackaged gems in that directory automatically.

See gitlab/news for older archived entries.

Bookworm FastTrack (Recommended)

For upgrading from Bullseye to Bookworm, see the instructions on the following page: GitLab upgrade from Bullseye to Bookworm.

gitlab 15.10.7 is available in Bookworm FastTrack (no open security issues).

Add fasttrack.debian.net as a trusted repo for apt,

# apt install fasttrack-archive-keyring

And add the following lines for fasttrack repo:

deb https://fasttrack.debian.net/debian/ bookworm-fasttrack main contrib
# For dependency packages not in testing only temporarily due to freeze, transitions or delayed by backports-new or NEW.
deb https://fasttrack.debian.net/debian/ bookworm-backports-staging main contrib

And install gitlab:

# apt update
# apt install gitlab-apt-pin-preferences
# apt install gitlab

Bullseye FastTrack (Upgrade to bullseye today)

gitlab 15.9.8 is available in Bullseye FastTrack (no open security issues).

It is strongly recommended to upgrade to bookworm-fasttrack as soon as possible as 15.9.8 is going to be the last version available in bullseye-backports.

For upgrading from Bullseye to Bookworm, see the instructions on the following page: GitLab upgrade from Bullseye to Bookworm.

Add fasttrack.debian.net as a trusted repo for apt,

# apt install fasttrack-archive-keyring ca-certificates

And add the following lines for fasttrack repo:

deb https://fasttrack.debian.net/debian/ bullseye-fasttrack main contrib
# For dependency packages not in testing only temporarily due to freeze, transitions or delayed by backports-new or NEW.
deb https://fasttrack.debian.net/debian/ bullseye-backports-staging main contrib

You will also need official bullseye-backports repo:

deb http://deb.debian.org/debian bullseye-backports main contrib

and install gitlab

# apt update
# apt install gitlab-apt-pin-preferences
# apt install gitlab

Unstable (be careful when updating packages)

See below for installing from experimental.

Experimental - During freeze and transitions

gitlab 15.10.7 is available in experimental (no open security issues).

If you are using experimental for the first time, check DebianExperimental.

Experimental/unstable Staging

When gitlab is not ready for official experimental/unstable (for example some dependencies need to clear NEW queue), it will be available from this repo.

This section moved to gitlab/staging.

Gitlab on older releases

These versions no longer receive any security updates and it is recommended to upgrade to Debian 11 Bullseye to continue receiving security updates.

Troubleshooting common issues

See gitlab/troubleshooting

Tips and tweaks

See Tweaks for GitLab for things like configuring gitlab with apache 2 or configuring puma in single process mode.

Contact maintainers

You can reach the maintainers of the gitlab package via

  1. Matrix at #debian-gitlab:poddery.com (join via browser)

  2. IRC #debian-gitlab on OFTC network (join via browser)

  3. Via XMPP at #debian-gitlab#poddery.com@matrix.org

Documentation for gitlab maintainers