GitHub

GitLab - Self Hosted Git Management & DevOps Toolchain

GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security. GitLab provides Git based version control, packaged with a complete DevOps toolchain. Somewhat like GitHub, but much, much more.

This appliance includes all the standard features in TurnKey Core, and on top of that:

  • GitLab configurations:

    • GitLab, RubyGems, PostgreSQL, Nginx and all other required components installed from upstream Omnibus package.

      Security note: Updates to GitLab may require supervision so they ARE NOT configured to install automatically. See below for updating GitLab. And/or see GitLab documentation.

    • Set GitLab admin user ('root') password and email on firstboot (convenience, security).

    • Set GitLab domain to serve on first boot (convenience).

    • Enable GitLab Omnibus built-in Let's Encrypt certificates via Confconsole plugin (under "Lets Encrypt").

  • Includes postfix MTA (bound to localhost) for sending of email (e.g. password recovery). Also includes webmin postfix module for convenience.

Supervised Manual GitLab Update

Check the installed and eligible versions without changing the appliance:

gitlab-update --check

Before an update, consult the GitLab upgrade path and the release-specific GitLab documentation. GitLab requires intermediate upgrade stops. Back up the appliance, then install the next eligible version explicitly:

apt update
apt install gitlab-ce=<version>

Repeat the application acceptance checks before proceeding to another required stop. Available versions are listed by apt-cache madison gitlab-ce and the GitLab release blog.

If APT reports an expired repository key or NO_PUBKEY, follow the repository-key rotation procedure. It preserves the per-repository signed-by restriction and verifies GitLab's full published fingerprint.

Credentials (passwords set at first boot)

  • Webmin, SSH: username root
  • GitLab: username root

Read the original on github.com ↗