Difference between revisions of "GitLab"
Jump to navigation
Jump to search
Rafahsolis (talk | contribs) (Created page with "=Install= see: https://about.gitlab.com/downloads<br /> *Install curl, openssh-server, ca-certificates postfix sudo apt-get install curl openssh-server ca-certificates postf...") |
Rafahsolis (talk | contribs) m (→Update) Tag: visualeditor |
||
| (13 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | =Install= | + | =Install Omnibus Package= |
| − | see | + | www.gitlab.com |
| + | ==Disable bundled Nginx== | ||
| + | @/etc/gitlab/gitlab.rb | ||
| + | ==Setup Nginx== | ||
| + | see snippet @https://git.herrerosolis.com | ||
| − | + | =Install From Source (Not recomended)= | |
| − | sudo apt-get install | + | see: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md<br /> |
| − | + | ssl: https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/misc/ssl-certificate-implemented | |
| − | + | ===Upgrade gitlab-shell=== | |
| − | sudo apt-get install gitlab- | + | <source lang="bash"> |
| − | + | cd /home/git/gitlab-shell | |
| − | + | sudo -u git -H git fetch | |
| − | + | sudo -u git -H git checkout v1.9.6 | |
| − | + | </source> | |
| − | + | ===Resync authorized_keys file=== | |
| − | + | sudo -u git -H bundle exec rake gitlab:shell:setup RAILS_ENV=production | |
| − | + | ===Database=== | |
| − | + | Recomended PostgreSQL<br /> | |
| − | + | <source lang="bash"> | |
| − | + | # Install the database packages | |
| + | sudo apt-get install -y postgresql postgresql-client libpq-dev | ||
| + | |||
| + | # Login to PostgreSQL | ||
| + | sudo -u postgres psql -d template1 | ||
| + | |||
| + | # Create a user for GitLab | ||
| + | # Do not type the 'template1=#', this is part of the prompt | ||
| + | template1=# CREATE USER git CREATEDB; | ||
| + | |||
| + | # Create the GitLab production database & grant all privileges on database | ||
| + | template1=# CREATE DATABASE gitlabhq_production OWNER git; | ||
| + | |||
| + | # Quit the database session | ||
| + | template1=# \q | ||
| + | |||
| + | # Try connecting to the new database with the new user | ||
| + | sudo -u git -H psql -d gitlabhq_production | ||
| + | |||
| + | # Quit the database session | ||
| + | gitlabhq_production> \q | ||
| + | </source> | ||
| + | ==Default repositorys== | ||
| + | git_data_dir "/var/opt/gitlab/git-data" | ||
| + | <br /> | ||
| + | |||
| + | = Registry = | ||
| + | Add to /etc/gitlab/gitlab.rb the following line<syntaxhighlight lang="ruby"> | ||
| + | registry_external_url 'https://git.rra.lan:4443' | ||
| + | </syntaxhighlight>Run <syntaxhighlight lang="bash"> | ||
| + | gitlab-ctl reconfigure | ||
| + | </syntaxhighlight><br /> | ||
| + | |||
| + | = Let's Encrypt = | ||
| + | Add to /etc/gitlab/gitlab.rb the following lines<syntaxhighlight lang="ruby"> | ||
| + | letsencrypt['enable'] = true | ||
| + | letsencrypt['contact_emails'] = ['redteam@bbva.com'] | ||
| + | letsencrypt['auto_renew_hour'] = "12" | ||
| + | letsencrypt['auto_renew_minute'] = "30" | ||
| + | letsencrypt['auto_renew_day_of_month'] = "*/7" | ||
| + | letsencrypt['auto_renew'] = false | ||
| + | |||
| + | </syntaxhighlight>Run <syntaxhighlight lang="bash"> | ||
| + | gitlab-ctl reconfigure | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | =Update= | ||
| + | [https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/patch_versions.md Guide] | ||
| + | Notes:<br /> | ||
| + | If it fails with: gem "pg"...<br /> | ||
| + | Edit /home/git/Gemfile<br /> | ||
| + | Search for: | ||
| + | <nowiki> | ||
| + | # Supported DBs | ||
| + | gem "mysql2", '~> 0.3.16', group: :mysql | ||
| + | #gem "pg", '~> 0.18.2', group: :postgres <--------COMMENT THIS LINE </nowiki> | ||
| + | Search for: | ||
| + | <nowiki> | ||
| + | group :production do | ||
| + | gem "gitlab_meta", '7.0' | ||
| + | gem "pg", '~> 0.18.2', group: :postgres <--------- ADD THIS | ||
| + | end </nowiki> | ||
| + | |||
| + | If it fails with *pg_trgm* | ||
| + | sudo apt-get install postgresql-contrib | ||
| + | sudo -u postgres psql -d gitlabhq_production -c "create extension pg_trgm;" | ||
| + | |||
| + | =CI Runner setup @raspberry pi= | ||
| + | [https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md GitLab Documentation] | ||
| + | |||
| + | #Install Docker | ||
| + | #:<pre>curl -sSL https://get.docker.com/ | sh</pre> | ||
| + | #Add gitlab repository | ||
| + | #:<pre>curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash</pre> | ||
| + | #Debian should use apt pinning | ||
| + | #:<pre>cat > /etc/apt/preferences.d/pin-gitlab-runner.pref <<EOF | ||
| + | #::Explanation: Prefer GitLab provided packages over the Debian native ones | ||
| + | #::Package: gitlab-ci-multi-runner | ||
| + | #::Pin: origin packages.gitlab.com | ||
| + | #::Pin-Priority: 1001 | ||
| + | #::EOF</pre> | ||
| + | #Install gitlab-ci-multi-runner | ||
| + | #:<pre>sudo apt-get install gitlab-ci-multi-runner</pre> | ||
Latest revision as of 08:53, 7 March 2019
Install Omnibus Package[edit]
www.gitlab.com
Disable bundled Nginx[edit]
@/etc/gitlab/gitlab.rb
Setup Nginx[edit]
see snippet @https://git.herrerosolis.com
Install From Source (Not recomended)[edit]
see: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md
ssl: https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/misc/ssl-certificate-implemented
Upgrade gitlab-shell[edit]
cd /home/git/gitlab-shell
sudo -u git -H git fetch
sudo -u git -H git checkout v1.9.6
Resync authorized_keys file[edit]
sudo -u git -H bundle exec rake gitlab:shell:setup RAILS_ENV=production
Database[edit]
Recomended PostgreSQL
# Install the database packages
sudo apt-get install -y postgresql postgresql-client libpq-dev
# Login to PostgreSQL
sudo -u postgres psql -d template1
# Create a user for GitLab
# Do not type the 'template1=#', this is part of the prompt
template1=# CREATE USER git CREATEDB;
# Create the GitLab production database & grant all privileges on database
template1=# CREATE DATABASE gitlabhq_production OWNER git;
# Quit the database session
template1=# \q
# Try connecting to the new database with the new user
sudo -u git -H psql -d gitlabhq_production
# Quit the database session
gitlabhq_production> \q
Default repositorys[edit]
git_data_dir "/var/opt/gitlab/git-data"
Registry[edit]
Add to /etc/gitlab/gitlab.rb the following line
registry_external_url 'https://git.rra.lan:4443'
Run
gitlab-ctl reconfigure
Let's Encrypt[edit]
Add to /etc/gitlab/gitlab.rb the following lines
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['redteam@bbva.com']
letsencrypt['auto_renew_hour'] = "12"
letsencrypt['auto_renew_minute'] = "30"
letsencrypt['auto_renew_day_of_month'] = "*/7"
letsencrypt['auto_renew'] = false
Run
gitlab-ctl reconfigure
Update[edit]
Guide
Notes:
If it fails with: gem "pg"...
Edit /home/git/Gemfile
Search for:
# Supported DBs gem "mysql2", '~> 0.3.16', group: :mysql #gem "pg", '~> 0.18.2', group: :postgres <--------COMMENT THIS LINE
Search for:
group :production do gem "gitlab_meta", '7.0' gem "pg", '~> 0.18.2', group: :postgres <--------- ADD THIS end
If it fails with *pg_trgm*
sudo apt-get install postgresql-contrib sudo -u postgres psql -d gitlabhq_production -c "create extension pg_trgm;"
CI Runner setup @raspberry pi[edit]
- Install Docker
curl -sSL https://get.docker.com/ | sh
- Add gitlab repository
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash
- Debian should use apt pinning
cat > /etc/apt/preferences.d/pin-gitlab-runner.pref <<EOF
- Explanation: Prefer GitLab provided packages over the Debian native ones
- Package: gitlab-ci-multi-runner
- Pin: origin packages.gitlab.com
- Pin-Priority: 1001
- EOF
- Install gitlab-ci-multi-runner
sudo apt-get install gitlab-ci-multi-runner