Привет. Если вы пишете скрипты/конфиги/программируете, то рано или поздно вы задумывались, или обязательно задумаетесь о системе контроля версий, что бы не записывать изменения в ручную или не держать их в голове (от куда они очень быстро пропадают =) ). Всем должен быть известен github, и можно пользоваться им без проблем, если вы планируете делать публичные проекты с открытым исходным кодом. Но если вы не хотите показывать исходники другим, но при этом так же хотите получить преимущества использования git репозитория, то вам пригодится эта заметка.
В ней я покажу, как можно поставить на свой сервер git сервер — gitlab. А так же покажу как создать свой первый репозиторий.
У меня, как всегда, свеже установленная ubuntu server 16.04. Подключимся к ней и войдем в режим суперпользователя:
sudo su
Установим зависимости:
apt install ca-certificates curl openssh-server postfix
Во время установки postfix оставляем все по умолчанию, кроме имени fqdn, там, если вы планируете использовать свой сервер, так скажем публично — лучше ввести настоящее доменное имя вашего будущего git сервера.
Далее скачаем и выполним скрипт установки репозиториев gitlab:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Далее установим собственно gitlab:
apt install gitlab-ce
Далее поправим доменное имя сайта нашего сервера:
nano /etc/gitlab/gitlab.rb
Находим тут строчку external_url и исправляем адрес на правильный (если конечно он не верный)
После чего остался последний шаг — запустим команду конфигурирования нашего сервера:
gitlab-ctl reconfigure
После завершения убедитесь что в вашем фаерволе открыты порты 80 (http) и 22 (ssh).
Теперь можно подключиться через веб интерфейс, можно использовать либо доменное имя (если оно у вас заведено на dns сервере или прописано в фале hosts), либо ip адрес сервера.
При первом заходе будет предложено ввести пароль администратора.
Дальше можно войти в ваш аккаунт. По умолчанию имя пользователя — root.
Теперь можно создать новый проект. Жмем New project.
Даем имя, решаем, будет наш проект публичным, полу-публичным или закрытым, указываем описание.
Дальше появится небольшая инструкция по дальнейшим действиям, а так же предупреждение, что нужно сгенерировать ключ ssh, нажмем по нему.
В новом окне будет ссылка на инструкцию как сгенерировать ключ, там все подробно написано, для разных систем. Для linux — нужно выполнить команду:
ssh-keygen -t rsa -C "[email protected]" -b 4096
Во время генерации будет задано несколько вопросов, один из которых — куда сохранить ключ. Запомните место и имя. После генерации скопируйте содержимое вашего публичного ключа (c расширением .pub),
Дальше вставьте это дело в поле key на предыдущей станице.
Теперь можно вернуться к проектам. И там уже воспользоваться написанными командами.
Например создадим новый репозиторий:
git clone [email protected]:root/test.git cd test touch README.md git add README.md git commit -m "add README" git push -u origin master
Вот и все. Можно обновить страницу и вы увидете, что ваш репозиторий создан и его можно клонировать куда угодно.
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.
Если вам помогла статья, вы можете >>отблагодарить автора<<