Differences between revisions 1 and 106 (spanning 105 versions)
Revision 1 as of 2014-06-05 21:24:39
Size: 207
Comment: explanation of gitlab initial commit, much much much more to come
Revision 106 as of 2020-01-03 16:27:31
Size: 7147
Editor: Praveen A
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
warning!!! under construction ||<tablestyle="float:right; margin: 0px;" style="padding:0.5em; border: 0px;font-size: 80%;"><<TableOfContents>>||
Line 3: Line 3:
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. 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.

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

{{{#!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.
}}}

{{{#!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.
}}}

== Buster Fast Track (Recommended) ==
Gitlab 12.5.4 is available in [[FastTrack|unofficial fasttrack repo]] (some packages are still needed from personal repo of gitlab maintainer) targeting buster as base distribution. (one security release behind).

Add to `/etc/apt/sources.list`
{{{
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 update
}}}

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).

{{{#!wiki important
Note: Use experimental till [[https://release.debian.org/transitions/html/auto-protobuf.html|protobuf transition]] is complete.
}}}

{{{
# apt install gitlab
}}}

We try to keep the version in unstable in a good shape with the latest security updates, but some times dependency updates break GitLab.

== Experimental - During freeze and transitions ==

Gitlab 12.6.2 is available in experimental (no open security issues). If you are using experimental for the first time, check [[DebianExperimental]].

grpc+protobuf transition is delaying upload to unstable.

{{{
# apt -t experimental install ruby-grpc ruby-gitlab-labkit ruby-google-protobuf gitaly ruby-gitaly
# apt -t experimental install ruby-benchmark-ips ruby-redis ruby-prof ruby-elasticsearch ruby-aws-sdk ruby-gitlab-chronic-duration ruby-state-machines-activerecord ruby-rack-attack ruby-flipper ruby-asana ruby-gitlab-chronic ruby-mail-room node-d3
# apt install gitlab/experimental
}}}

{{{#!wiki important
Note: ssh access is currently broken with protobuf 3.10, so you need to use an older version of ruby-grpc and ruby-google-protobuf to get it working. A workaround is given at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942633#102. Also hold ruby-google-prootbuf and ruby-grpc at their older versions (See https://askubuntu.com/questions/18654/how-to-prevent-updating-of-a-specific-package#18656)

With `deb https://people.debian.org/~praveen/protobuf/ experimental main contrib` in sources.list

`apt install ruby-google-protobuf=3.7.1-1 ruby-grpc=1.19.1-1 && apt-mark hold ruby-google-protobuf ruby-grpc`
}}}

== Gitlab on Stretch ==

This is moved to [[gitlab/stretch]] now.

== Gitlab with apache2 ==

Gitlab can use apache instead of nginx.
To get a working configuration for your version the best thing to do is to follow the ([[https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache|gitlab-recipes repository]]) instructions.

== Debug installation and configuration ==

Gitlab is composed of several parts. As always logs (/var/log/gitlab), debian specific documentation (/usr/share/doc/gitlab/) and ([[https://docs.gitlab.com/ |official]]) documentation provide lots of information.

`gitlab-rake` is convenience script to easily run rake commands provided by gitlab in debian environment.

{{{
# gitlab-rake gitlab:check
# gitlab-rake gitlab:env:info
}}}

`gitlab-rails-console` is another convenience script to launch a rails console in gitlab debian environment.

{{{
# gitlab-rails-console
}}}

== Contact maintainers ==
You can reach the maintainers of the gitlab package via

 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]])

== 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]]
 1. Backport/Fasttrack checklist - See [[gitlab/BackportChecklist]]
 1. Dependencies Transitions checklist - See [[gitlab/DependenciesTransitions]]

'''TODO'''
 1. Aim to get gitlab back in main by bullseye release by packaging all node dependencies. [[Javascript/Nodejs/Tasks/gitlab|current status]] This is now an Outreachy project (from December 2019 to March 2020).
 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.
Line 6: Line 131:
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

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.

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.

Buster Fast Track (Recommended)

Gitlab 12.5.4 is available in unofficial fasttrack repo (some packages are still needed from personal repo of gitlab maintainer) targeting buster as base distribution. (one security release behind).

Add to /etc/apt/sources.list

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 update

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 protobuf transition is complete.

# apt install gitlab

We try to keep the version in unstable in a good shape with the latest security updates, but some times dependency updates break GitLab.

Experimental - During freeze and transitions

Gitlab 12.6.2 is available in experimental (no open security issues). If you are using experimental for the first time, check DebianExperimental.

grpc+protobuf transition is delaying upload to unstable.

# apt -t experimental install ruby-grpc ruby-gitlab-labkit ruby-google-protobuf gitaly ruby-gitaly
# apt -t experimental install ruby-benchmark-ips ruby-redis ruby-prof ruby-elasticsearch ruby-aws-sdk ruby-gitlab-chronic-duration ruby-state-machines-activerecord ruby-rack-attack ruby-flipper ruby-asana ruby-gitlab-chronic ruby-mail-room node-d3
# apt install gitlab/experimental

Note: ssh access is currently broken with protobuf 3.10, so you need to use an older version of ruby-grpc and ruby-google-protobuf to get it working. A workaround is given at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942633#102. Also hold ruby-google-prootbuf and ruby-grpc at their older versions (See https://askubuntu.com/questions/18654/how-to-prevent-updating-of-a-specific-package#18656)

With deb https://people.debian.org/~praveen/protobuf/ experimental main contrib in sources.list

apt install ruby-google-protobuf=3.7.1-1 ruby-grpc=1.19.1-1 && apt-mark hold ruby-google-protobuf ruby-grpc

Gitlab on Stretch

This is moved to gitlab/stretch now.

Gitlab with apache2

Gitlab can use apache instead of nginx. To get a working configuration for your version the best thing to do is to follow the (gitlab-recipes repository) instructions.

Debug installation and configuration

Gitlab is composed of several parts. As always logs (/var/log/gitlab), debian specific documentation (/usr/share/doc/gitlab/) and (official) documentation provide lots of information.

gitlab-rake is convenience script to easily run rake commands provided by gitlab in debian environment.

# gitlab-rake gitlab:check
# gitlab-rake gitlab:env:info

gitlab-rails-console is another convenience script to launch a rails console in gitlab debian environment.

# gitlab-rails-console

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)

Maintainer's corner

  1. Installing gitlab on an lxc container to test - See gitlab/lxc

  2. Updating gitlab package to newer versions - See Teams/Ruby/Packaging/newUpstreamRailsApp

  3. Backport/Fasttrack checklist - See gitlab/BackportChecklist

  4. Dependencies Transitions checklist - See gitlab/DependenciesTransitions

TODO

  1. Aim to get gitlab back in main by bullseye release by packaging all node dependencies. current status This is now an Outreachy project (from December 2019 to March 2020).

  2. 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

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