January 14, 2014

Как я ставил GitLab на DigitalOcean в «1 клик»

Пост про быстрый вариант развертывания GitLab из предустановленного образа на DigitalOcean и решение небольших проблем при запуске.

Долго все расписывать не буду, скажу лишь только что в один клик не получилось все сразу поставить.

А вот почему:

Первым делом я ткнул на «Create» и начал выставлять настройки нового дроплета. В качестве локации я выбрал AMS 2, тариф выбрал минимальный (за 5 баксов) и внизу в Apllications уверенно ткнул на GitLab 6.4.3 CE.

После бодренькой установки через 55 секунд меня ждала работающая виртуалка, но при обращении к ней по ip - вместо красивого нового GitLab меня ждал банан, 502 Bad Gateway любезно предоставленный Nginx.

Логинюсь на сервер по ssh, пытаюсь сделать sudo service gitlab start, оно пишет:

Removing stale Unicorn web server pid. This is most likely caused by the web server crashing the last time it ran.
Starting GitLab SidekiqThe Sidekiq job dispatcher is already running with pid 1131, not restarting
.
The GitLab Unicorn web server with pid 1721 is running.
The GitLab Sidekiq job dispatcher with pid 1131 is running.
GitLab and all its components are up and running.

Все вроде бы ок, но через пару секунд в консоль вываливается:

master failed to start, check stderr log for details

Ага, пишу:

sudo tail -f /home/git/gitlab/log/unicorn.stderr.log

и мне выдается

I, [2014-01-13T17:44:07.796319 #1721] INFO -- : Refreshing Gem list
I, [2014-01-13T17:44:19.382258 #1721] INFO -- : listening on addr=/home/git/gitlab/tmp/sockets/gitlab.socket fd=16
I, [2014-01-13T17:44:19.382950 #1721] INFO -- : listening on addr=127.0.0.1:8080 fd=17
E, [2014-01-13T17:44:19.385908 #1721] ERROR -- : Cannot allocate memory - fork(2) (Errno::ENOMEM)
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:496:in `fork'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:496:in `spawn_missing_workers'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:142:in `start'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/unicorn-4.6.3/bin/unicorn\rails:209
...

Где ключевое -

E, [2014-01-13T17:44:19.385908 #1721] ERROR -- : Cannot allocate memory - fork(2) (Errno::ENOMEM)

Не хватило ему значит памяти для запуска. Ну что же, 512 мегабайт в 2014 году это уже совсем мало. Но блин, сервер я поднял чисто из энтузиазма и возможно даже пользоваться им не буду. Поэтому решено запилить своп на еще 512 мегабайт:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k
sudo mkswap /swapfile
sudo swapon /swapfile

Теперь снова sudo service gitlab start…

На сей раз при входе с браузера по ip меня встертила форма входа в GitLab. Ура, победа! Но стоп! Как мне туда зайти?

В application.log (который лежит рядом с unicorn.stderr.log) увидел что создан пользователь с e-mail admin@local.host, но про пароль ни слова. После безуспешных попыток с admin, administrator и пустым паролем решил чуток загуглить. Оказалось что дефолтный пароль - 5iveL!fe

Вот та самая статья.

Ну вот собственно и все! Теперь все работает =)

UPD: В итоге сменил swap на zRam. Полет нормальный )

Другие проекты:

telegram-catalog.top

rhamdeew © 2020