Gitlab

Iš Žinynas.
13:28, 27 vasario 2017 versija, sukurta \dev\null (Aptarimas | indėlis) (gitlab-ce specifinės versijos diegimas)
(skirt) ← Ankstesnė versija | Dabartinė versija (skirt) | Vėlesnė versija → (skirt)
Jump to navigation Jump to search

Migravimas is redmine i gitlab[keisti]

Naudojam si iranki. Po defaultu tiktai tvarkingi HTTPS SSL arba be HTTPS metodai veikia. Jeigu rankos kreivos galima bandyt toliau kreivazoti Bidono scriptus.

apt-get install python3-pip
pip install redmine-gitlab-migrator

Issue migravimas is projekto esancio redmine i gitlab

migrate-rg issues --redmine-key xxxx --gitlab-key xxxx \
 <redmine project url> <gitlab project url> --check

Roadmap'o migravimas

migrate-rg roadmap --redmine-key xxxx --gitlab-key xxxx \
 https://redmine.example.com/projects/myproject \
 http://git.example.com/mygroup/myproject --check

Norint, kad migruotusi realiai duomenys (nes cia tik testavimas) nuimame --check parametra...

Kai nepriima repozitoriu su self-generated https ssl[keisti]

git config --global http.sslverify false
nano /var/opt/gitlab/.gitconfig

Idedame si teksta

[http]
       sslverify = false

Issaugome ir perkrauname gitlab

gitlab-ctl restart

Jeigu kyla problemos naudojantis gitlab per https[keisti]

Jeigu matome klaida

Processing by PasswordsController#create as HTML
 Parameters: {"utf8"=>"‚ì", "authenticity_token"=>"********************************************", "use
 Can't verify  CSRF token authenticity
 Completed 422 Unprocessable Entity in 7ms (ActiveRecord: 0.0ms)
** [Raven] User excluded error: #<ActionController::InvalidAuthenticityToken: ActionController::InvalidAuthenticityToken> ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
 lib/gitlab/middleware/go.rb:16:in `call'

Reikia i apache gitlab vhosta prideti eilutes:

RequestHeader set X_FORWARDED_PROTO 'https'
RequestHeader set X-Forwarded-Ssl 'on'

Jeigu negalima naudotis git+ssh[keisti]

Jeigu serveryje /var/log/auth.log matome kazka panasaus i "User git not allowed because account is locked." Atrakiname accounta:

passwd -d git

Migravimas i kita serveri[keisti]

Pirmajam darom backupa (jeigu is distribucijos package instaliuotas):

sudo gitlab-rake gitlab:backup:create

Jeigu instaliuotas (is gitlab sourso):

sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production

Ta backupa sudedam i antraji serveri (backups direktorija) ir darom:

bundle exec rake gitlab:backup:restore BACKUP=1480063714 RAILS_ENV=production

1480063714 yra backupo numeris, pvz.: failas 1480063714_gitlab_backup.tar

Gitlab upgreidas (instaliuoto is source)[keisti]

Apačioje surašytose komandose pakeiskite LATEST_TAG su paskutiniuoju (naujausiu) GitLab tag'u į kurį norite atanaujinti, pvz.: v8.0.3. Naudojame git tag-l 'v*.[0-9]' --sort='v:refname' kad pamatytumėme visą tagų sąrašą. Įsitikinkite, kad atnaujinate tiktai patch versijas (žiūr. kokia jūsų versija cat VERSION).

cd /home/git/gitlab
sudo -u git -H git fetch --all
sudo -u git -H git checkout -- Gemfile.lock db/schema.rb
sudo -u git -H git checkout LATEST_TAG -b LATEST_TAG

Atitinkamai atnaujiname ir gitlab-shell[keisti]

cd /home/git/gitlab-shell
sudo -u git -H git fetch
sudo -u git -H git checkout v`cat /home/git/gitlab/GITLAB_SHELL_VERSION` -b v`cat /home/git/gitlab/GITLAB_SHELL_VERSION`

Taip pat gitlab-workhorse[keisti]

cd /home/git/gitlab-workhorse
sudo -u git -H git fetch
sudo -u git -H git checkout v`cat /home/git/gitlab/GITLAB_WORKHORSE_VERSION` -b v`cat /home/git/gitlab/GITLAB_WORKHORSE_VERSION`
sudo -u git -H make

Diegiame bibliotekas, migracijas, pataisymus ir t.t[keisti]

cd /home/git/gitlab
  • PostgreSQL
sudo -u git -H bundle install --without development test mysql --deployment
  • MySQL
sudo -u git -H bundle install --without development test postgres --deployment
  • Papildomai: galima pašalinti senus gem'us
sudo -u git -H bundle clean
  • Duombazių migracijos
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
  • Išvalom assetus ir kešą
sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production

Patikrinam gitlab integralumą ar viskas atsinaujino gerai[keisti]

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

Jeigu visur žalia spalva, reiškiasi jums pavyko ;-)

Kitu klaidu tikrinimas[keisti]

Klaidas gaudyti ir jas taisyti/spresti galima skaitant zurnala

/var/log/gitlab/gitlab-rails/production.log

gitlab-ce default ssh porto keitimas[keisti]

Atsidarom /etc/gitlab/gitlab.rb ir susirandam

# gitlab_rails['gitlab_shell_ssh_port'] = 22

Atkomentuojam eilutę ir užrašę norimą portą (kuris pas jus serveryje), paleidžiame reconfiguraciją

gitlab-ctl reconfigure

gitlab-ce specifinės versijos diegimas[keisti]

Praverčia kai reikia migruoti tarp skirtingų versijų, nes migravimas tarp skirtingų versijų neimanomas backup dump->restore pagrindu.

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce=8.14.10-ce.0