Go 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
Основные каталоги:
/var/lib/go-server # исполняемые файлы и файлы базы данных; /etc/go # конфигурационные файлы пайплайнов; /var/log/go-server # логи сервера; /usr/share/go-server # стартовый скрипт; /etc/default/go-server # содержит переменные со значениями по умолчанию.
Готово.
Установка агента — во второй части.