Go: установка на Ubuntu

Автор: | 11/05/2015
 

go_logoGo Continuous Delivery — ещё один инструмент для развёртывания приложений и/или контейнеров.

Установка выполняется на:

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.3 LTS
Release:	14.04
Codename:	trusty

В файл /etc/apt/sources.list.d/gocd.list добавляем новый репозиторий:

deb http://dl.bintray.com/gocd/gocd-deb/ /

Устанавливаем ключ:

# wget --quiet -O - "https://bintray.com/user/downloadSubjectPublicKey?username=gocd" | sudo apt-key add -

Обновляем список пакетов:

# apt-get update

Устанавливаем Go:

# apt-get install go-server
...
Installation of Go Server completed.
using default settings from /etc/default/go-server
Error starting Go Server.
invoke-rc.d: initscript go-server, action "start" failed.
update-rc.d: warning: default start runlevel arguments (2 3 4 5) do not match go-server Default-Start values (3 4 5)
update-rc.d: warning: default stop runlevel arguments (0 1 6) do not match go-server Default-Stop values (0 1 2 6)
Setting up lksctp-tools (1.0.15+dfsg-1) ...

Проверяем:

# service go-server status
Go Server is stopped.

Запускаем:

# service go-server start
using default settings from /etc/default/go-server
Error starting Go Server.

Логи Go хранит в /var/log/go-server/go-server.log.

Однако, в них никаких ошибок нет.

Проверяем /var/log/kern.log — и находим проблему:

...
Nov  4 13:44:49 vagrant-ubuntu-trusty-64 kernel: [ 2289.845110] Out of memory: Kill process 5956 (java) score 788 or sacrifice child
Nov  4 13:44:49 vagrant-ubuntu-trusty-64 kernel: [ 2289.845853] Killed process 5956 (java) total-vm:2112280kB, anon-rss:394640kB, file-rss:0kB
...

Система работает на виртуальной машине Vagrant.

Редактируем Vagrantfile и добавляем ей памяти:

edit Vagrantfile and add

   config.vm.provider "virtualbox" do |vb|
     vb.memory = "4096"
   end

Плюс добавим переадресацию портов:

...
config.vm.network "forwarded_port", guest: 8153, host: 8153
...

Перезапускаем машину:

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
...

Проверяем запустился ли Go при старте системы:

# service go-server status
Go Server is running.

И открываем страницу Go:

# curl localhost:8153 -L | head

Screen Shot 2015-11-04 at 16.05.57

Основные каталоги:

/var/lib/go-server       # исполняемые файлы и файлы базы данных;
/etc/go                  # конфигурационные файлы пайплайнов;
/var/log/go-server       # логи сервера;
/usr/share/go-server     # стартовый скрипт;
/etc/default/go-server   # содержит переменные со значениями по умолчанию.

Готово.

Установка агента — во второй части.