Установка GitLab
Установку выполним в два шага — установка необходимых компонентов и, собственно, установка GitLab.
1. Необходимые компоненты
apt-get install curl openssh-server ca-certificates
Для отправки уведомлений, установим также postfix:
apt-get install postfix
При запросе типа конфигурации, выбираем Internet Site (если уведомления должны отправляться наружу) или Local only (уведомления в пределах сервера):
* при получении других запросов во время установки postfix можно ответить по умолчанию, нажимая Enter.
2. Установка GitLab
Установим репозиторий.
а) для платной версии:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
После установки репозитория, устанавливаем сам GitLab.
а) платную версию:
apt-get install gitlab-ee
б) бесплатную:
apt-get install gitlab-ce
Если установка прошла успешно, мы должны увидеть:
It looks like GitLab has not been configured yet; skipping the upgrade script.
*. *.
*** ***
***** *****
.****** *******
******** ********
,,,,,,,,,***********,,,,,,,,,
,,,,,,,,,,,*********,,,,,,,,,,,
.,,,,,,,,,,,*******,,,,,,,,,,,,
,,,,,,,,,*****,,,,,,,,,.
,,,,,,,****,,,,,,
.,,,***,,,,
,*,.
_______ __ __ __
/ ____(_) /_/ / ____ _/ /_
/ / __/ / __/ / / __ `/ __ \
/ /_/ / / /_/ /___/ /_/ / /_/ /
\____/_/\__/_____/\__,_/_.___/
Thank you for installing GitLab!
3. Конфигурируем веб-адрес
Для запуска и корректной работы портала мы должны задать external_url. Для этого открываем файл:
vi /etc/gitlab/gitlab.rb
Нам нужно только изменить параметр external_url:
external_url ‘http://gitlab.dmosk.ru’
* данная настройка говорит, что наш веб-инструмент будет отвечать на запросы, которые пришли на узел gitlab.dmosk.ru — это значит, что данное имя должно быть зарегистрирована в DNS или прописано в локальный файл hosts.
Выполняем конфигурирование:
gitlab-ctl reconfigure
Данная операция займет какое-то время.
Создаём новую ветку и добавляем в проект внесённые изменения
Добавим к проекту пустой CSS-файл и подключим его к HTML. После этого в меню редактора появятся два цвета: HTML-файл подсветится оранжевым, а CSS-файл — зелёным. Оранжевый означает, что файл уже есть в удалённом репозитории и его нужно обновить. Зелёный — файла нет в репозитории. Переходим в GitHub Desktop и добавляем коммит для этого изменения.
Подсветка файлов в меню меняется после добавления или редактирования файлов — это подсказка, чтобы мы не забывали обновлять репозиторий
Если мы откроем созданную страницу в браузере, то это будет несколько строчек текста на белом фоне. Представим такую ситуацию: нам нельзя изменять код проекта, но нужно посмотреть, как будет выглядеть страница на красном фоне. Чтобы сделать это — добавим в репозиторий новую ветку:
- Переходим в GitHub Desktop.
- Открываем раздел Current Branch, нажимаем кнопку New Branch, пишем название новой ветки и кликаем Create New Branch.
- Возвращаемся в редактор кода и тестируем идею.
После создания новой ветки не забудьте нажать на Push origin, чтобы изменения попали в удалённый репозиторий на сайте GitHub.
Создаём новую ветку в GitHub Desktop
Тестируем изменения, добавленные в новую ветку. Основная ветка в этот момент находится в прежнем состоянии и сохраняет свой код
Предположим, наша идея с красным фоном оказалась удачной и код нужно залить в основную ветку. Чтобы это сделать, переходим сайт GitHub, нажимаем кнопку Сompare & pull request и подтверждаем изменения кнопкой Merge pull request. Последний шаг — переходим в GitHub Desktop, кликаем Fetch origin и синхронизируемся с удалённым репозиторием. Теперь код из дополнительной ветки попал в основную, а изменения есть на ПК и в облаке.
Шесть, возникшие проблемы
1. ошибка установки gitlab
выполненныйОшибка времени:
Текстовая информация выглядит следующим образом:
Все было красным, и я испугался.
Перейдите на форум GitLab, чтобы найти решение:
2. Старт 502
Я взял. Это было хорошо, но вдруг по необъяснимым причинам получилось 502. Думаю, проблема в тайм-ауте. Его надо выставить в файле конфигурации на более длительное время:
1. Откройте файл:
2. Время модификации
Найдите эти два места:
3. Обновите файл конфигурации.
Тогда я только что закончил изменять указанные выше файлы, если вы все еще не можете?
Попробуйте изменить порт:
Если вы по-прежнему не можете, вернитесь и выполните шаг 5 — удаление-переустановка.
Дополнительно
Дополнительная информация, которая может быть полезна.
Запуск runner внутри контейнера Docker
Выше мы рассмотрели регистрацию раннера, который будет запускать выполнение команд в системной оболочке (shell). Но если мы хотим, чтобы задания pipeline выполнялись внутри контейнера Docker, то пошагово мы должны сделать следующее:
1. При регистрации раннера на последнем этапе, где предлагается выбрать средство запуска (Enter an executor), выбираем docker:
…
Enter an executor: parallels, virtualbox, docker+machine, docker-ssh+machine, kubernetes, custom, docker, docker-ssh, shell, ssh:docker
2. При написании pipeline мы должны добавить опцию image с указанием образа, который хотим использовать:
…
copy:
stage: copy
image: dmosk/ubuntu:latest
…
3. По умолчанию, runner всегда будет пытаться скачать образ Docker с внешнего источника. Если на целевом компьютере, где запускается runner у нас уже есть нужный образ и мы хотим, чтобы использовался именно он, открываем файл:
vi /etc/gitlab-runner/config.toml
Среди:
`runners`
… находим созданный раннер (определяем по описанию, которое мы задавали при регистрации) и в нем также находим . Добавим опцию pull_policy:
`runners`
…
…
pull_policy = «if-not-present»
Перезапустим сервис:
systemctl restart gitlab-runner
Установка GitLab в Ubuntu 18.04
У GitLab есть несколько версий. Кроме онлайн версии, в которую вы можете выгружать свои проекты, доступной на веб-сайте GitLab.com, есть версия Community Edition и платная версия Enterprice Edition, которые можно установить на свой компьютер и создать собственный Git-сервер. В этой инструкции мы рассмотрим, как установить GitLab Ubuntu 18.04 версии Community Edition. Для этого будем использовать официальный репозиторий.
Сначала обновите репозитории до самой последний версии:
1. Установка репозитория
Затем нужно загрузить установщик репозитори из официального сайта. Этот скрипт загрузит и установит все ключи и инструменты необходимые, чтобы подключить репозиторий Gitlab в систему. Для его загрузки и запуска выполните команду:
2. Установка пакета программы
После завершения вы можете установить gitlab-ce командой:
Когда установка GitLab Ubuntu 18.04 будет завершена, вы увидите такое сообщение:
3. Развёртывание GitLab
Теперь нам необходимо подготовить программу к работе. Сначала нужно настроить URL, по которой будет открываться интерфейс GitLab. Для этого откройте файл /etc/gitlab/gitlab.rb и найдите там строчку external_url. Здесь нужно указать ваш домен. На своём локальном компьютере я буду использовать домен gitlab.local:
Сохраните и закройте файл. После этого надо пересобрать программу, учитывая изменённую конфигурацию:
Если на вашем сервере включён брандмауэр, необходимо добавить в исключения порты для протоколов http и ssh:
Чтобы наш локальный домен работал, необходимо добавить запись о нём в файл /etc/hosts:
4. Развёртывание программы с установленным Apache
Если на вашем компьютере уже установлен веб-сервер Apache, вы можете настроить программу таким образом, чтобы она работала через существующий веб-сервер. Для этого измените такие строки в /etc/gitlab/gitlab.rb:
Затем пересоберите программу:
В Apache надо добавить новый виртуальный хост с такой конфигурацией:
<VirtualHost *:80> ServerName gitlab.local ServerSignature Off ProxyPreserveHost On AllowEncodedSlashes NoDecode <Location /> Require all granted ProxyPassReverse http://127.0.0.1:8080 ProxyPassReverse http://gitlab.local </Location> RewriteEngine on RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public ErrorDocument 404 /404.html ErrorDocument 422 /422.html ErrorDocument 500 /500.html ErrorDocument 503 /deploy.html LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded ErrorLog /var/log/apache2/gitlab_error.log CustomLog /var/log/apache2/gitlab_forwarded.log common_forwarded CustomLog /var/log/apache2/gitlab_access.log combined env=!dontlog CustomLog /var/log/apache2/gitlab.log combined </VirtualHost>
Здесь gitlab.local — это домен, который будет использоваться для доступа к gitlab, а порт 8080 — тот порт, на котором сервис gitlab ожидает соединений. Его можно посмотреть командой:
После этого активируйте модули Apache — rewrite, proxy и proxy_http:
А потом активируйте наш виртуальный хост и перезапустите Apache:
Установка Git из файла с исходным кодом
Если вы ищете более гибкий метод установки Git, возможно, вы захотите компилировать программное обеспечение из файла с исходным кодом, о чем мы расскажем подробнее в этом разделе. Это метод требует больше времени, а полученный результат не будет сохранен в диспетчере пакетов, но он позволяет загрузить последнюю версию и дает определенный контроль над параметрами, которые вы включаете в ПО при необходимости индивидуальной настройки.
Проверьте текущую версию Git, установленную на сервере:
Если Git установлен, вы получите вывод, аналогичный следующему:
Перед началом установки вам нужно установить программное обеспечение, от которого зависит Git. Его можно найти в репозиториях по умолчанию, поэтому мы можем обновить локальный индекс пакетов, а после этого установить соответствующие пакеты.
После установки необходимых зависимостей создайте временную директорию и перейдите в нее. В эту директорию мы загрузим тар-архив Git.
На сайте проекта Git перейдите в список тар-архивов на странице https://mirrors.edge.kernel.org/pub/software/scm/git/ и загрузите желаемую версию. На момент написания последней версией была версия 2.26.2, поэтому для демонстрационных целей мы загрузим именно эту версию. Мы используем curl и выведем загружаемый файл в .
Распакуйте тар-архив:
Перейдите в новую директорию Git:
Теперь вы можете создать пакет и установить его, введя эти две команды:
Теперь замените процесс оболочки, чтобы использовать только что установленную версию Git:
Теперь вы можете проверить версию, чтобы убедиться в успешной установке.
Мы успешно выполнили установку Git и теперь можем завершить настройку.
Шаг 3 — Настройка правил брандмауэра
Прежде чем настраивать GitLab, убедитесь, что правила брандмауэра разрешают веб-трафик. Если вы следовали указаниям, ссылки на которые приведены в предварительных требованиях, у вас будет активирован брандмауэр .
Просмотрите текущий статус активного брандмауэра, введя следующее:
Как видите, текущие правила разрешают трафик SSH, однако доступ к другим службам ограничен. Поскольку GitLab представляет собой веб-приложение, мы должны разрешить доступ HTTP. Поскольку мы будем использовать возможность GitLab запрашивать и активировать бесплатный сертификат TLS/SSL от Let’s Encrypt, необходимо также разрешить доступ HTTPS.
Протокол сопоставления портов HTTP и HTTPS доступен в файле , и мы можем разрешить этот входящий трафик по имени. Если у вас еще не разрешен трафик OpenSSH, вы также должны разрешить этот трафик:
Проверьте статус еще раз; на настоящий момент должен быть настроен доступ как минимум к следующим двум службам:
Вышеуказанные результаты показывают, что веб-интерфейс GitLab будет доступен, как только мы настроим это приложение.
2020
Рейтинг самых высокооплачиваемых языков программирования
В августе 2021 года появились результаты опроса Stack Overflow среди более 83 тыс. разработчиков из разных стран мира, по итогам которого был составлен рейтинг наиболее высокооплачиваемых языков программирования.
Опрос, в котором наиболее активно принимали участие программисты из США, Индии, Германии, Великобритании, Канады, показал, что наибольшую медианную зарплату получают разработчики, которые владеют языком Clojure, — $95 тыс. в год. Это в 1,5 раза больше медианы таких языков программирования, как Python ($59 тыс.) и JavaScript ($54 тыс.), которые пользуются популярностью среди работодателей и разработчиков. На втором месте — F# ($81,077), на третьем — Elixir ($80,077). На четвертой позиции рейтинга Erlang ($80 тыс.), на пятом Ruby — ($80 тыс.). В ТОП-10 вошли также: Scala ($77,832), Rust ($77,530), Go ($75,669), LISP ($75,669).
Рейтинг наиболее высокооплачиваемых языков программирования
Почти 60% респондентов учились программировать на онлайн-ресурсах, в том числе на онлайн-курсах, форумах и других современных решениях для получения знаний. Респонденты старшего возраста учились программированию в школах (53%), университетах, и с помощью книг (40%). 45% респондентов используют для работы операционную систему Windows, 25,32% предпочитают Linux, а 25,19% выбирают MacOS. 53% опрошенных написали свою первую строку кода в возрасте 11-17 лет, 24% в возрасте 18-24 лет, 14% — в возрасте 5-10 лет, 5% — в возрасте 25-34 лет.
Рейтинг разработчиков по специализации
Почти половина опрошенных являются фулстек-разработчиками, 43,73% — бэкенд-разработчиками и 27,45% фронтенд-разработчиками.
Согласно результатам опроса Stack Overflow, среди наиболее популярных баз данных у ИТ-специалистов: MySQL, PostgreSQL, SQLite, MongoDB, Microsoft SQL Server (в порядке убывания). Среди наиболее популярных облачных систем: AWS, Google Cloud Platform, Microsoft Azure, Heroku, DigitalOcean.
GitHub назвал самые популярные языки программирования
В начале декабря 2020 года сервис совместной разработки ИТ-проектов GitHub опубликовал рейтинг самых популярных языков программирования, с которыми работают пользователи платформы. Развиваемый Microsoft проект TypeScript стремительно набирает популярность.
Первое место сохранил JavaScript. Следом расположился Python, третье место занимает Java. На четвертое место поднялся TypeScript. Пятое пятую строчку занял С#. Далее идут PHP, C++, C, Shell и Ruby. Состав первой десятки с 2017 года сохраняется без изменений, но PHP и Ruby, находившиеся на вершине списка пять лет назад, продолжают терять популярность.
Рейтинг самых популярных языков программирования
Как отмечает издание ZDNet, до 2016 году TypeScript не входят в десятку самых востребованных языков программирования на GitHub, но в 2018-м он поднялся на седьмую позицию, а в 2020-м взобрался на три строчки вверх, опередив C#, PHP и C ++.
Один из создателей TypeScript Андерс Хейлсберг, технический сотрудник Microsoft и «отец C#», в разговоре с ZDNet признался, что ему пришлось продать идею языка с открытым исходным кодом руководителям Microsoft в 2010 году, когда компания, будучи под руководством Стива Баллмера, весьма негативно была настроена в отношении сообщества Open Source.
Соучредитель аналитической фирмы RedMonk Джеймс Говернор считает, что популярность TypeScript в последние годы растет потому, что этот язык программирования удовлетворяет потребности разработчиков JavaScript в «безопасности типов». Рост популярности на GitHub указывает на то, что TypeScript останется надолго, уверен эксперт.
В публикации ZDNet сказано, что TypeScript стал популярен среди веб-разработчиков, обладающих обширной кодовой базой JavaScript. Среди них – Slack, Airbnb и Bloomberg. Microsoft также написала на TypeScript свой популярный кроссплатформенный редактор кода с открытым исходным кодом Visual Studio Code.
Шаг 5 — Начальная настройка конфигурации через веб-интерфейс
Когда GitLab работает, и доступ разрешен, мы можем выполнить начальную настройку конфигурации приложения через веб-интерфейс.
Первый вход в систему
Откройте доменное имя вашего сервера GitLab в вашем браузере:
При первом входе откроется диалоговое окно установки пароля для учетной записи администратора:
В начальном диалоговом окне ввода пароля укажите и подтвердите защищенный пароль для административной учетной записи. Нажмите кнопку Change your password (Изменить пароль), когда будете готовы.
После этого вы перейдете на стандартную страницу входа в систему GitLab:
Здесь вы можете войти в систему с помощью только что заданного пароля. Учетные данные:
- Имя пользователя: root
- Пароль:
Введите эти значения в поля для существующих пользователей и нажмите кнопку Sign in (Вход). После входа в приложение откроется начальная страница, куда вы сможете добавлять проекты:
Теперь вы можете внести простые изменения и настроить GitLab желаемым образом.
Изменение настроек профиля
Одной из первых задач после установки должна стать настройка профиля. GitLab использует разумные значения по умолчанию, но обычно после начала использования программного обеспечения их требуется изменить.
Чтобы внести необходимые изменения, нажмите значок пользователя в правом верхнем углу интерфейса. Выберите пункт Settings (Настройки) в выпадающем меню:
Откроется раздел настроек Profile (Профиль):
Измените имя и адрес электронной почты с Administrator и admin@example.com на более подходящие значения. Введенное имя будет отображаться другим пользователям, а адрес электронной почты будет использоваться для определения аватара по умолчанию, отправки уведомлений, в действиях Git через интерфейс и т. д.
После завершения настройки нажмите кнопку Update Profile settings (Обновить настройки профиля):
На указанный адрес электронной почты будет отправлено письмо с подтверждением. Следуйте указаниям в письме, чтобы подтвердить учетную запись и начать ее использовать с GitLab.
Изменение имени учетной записи
Нажмите Account (Учетная запись) в левой панели меню:
Здесь вы можете найти свой частный токен API или настроить двухфакторную аутентификацию. Однако пока что нас интересует раздел Change username (Изменить имя пользователя).
По умолчанию первой административной учетной записи присваивается имя root. Поскольку это имя широко известно, безопаснее заменить его другим именем. Изменится только имя учетной записи, права администратора у вас сохранятся. Замените root предпочитаемым именем пользователя:
Нажмите кнопку Update username (Обновить имя пользователя), чтобы внести изменения:
При следующем входе в GitLab обязательно используйте новое имя пользователя.
Добавление ключа SSH для своей учетной записи
В большинстве случаев вы захотите использовать с Git ключи SSH для взаимодействия с проектами GitLab. Для этого вам нужно добавить свой открытый ключ SSH в учетную запись GitLab.
Если вы уже создали на локальном компьютере пару ключей SSH, вы можете просмотреть открытый ключ с помощью следующей команды:
Вы увидите большой блок текста, выглядящий примерно так:
Скопируйте этот текст и вернитесь на страницу настройки профиля в веб-интерфейсе GitLab.
Если вместо этого вы получите сообщение, выглядящее следующим образом, это будет означать, что на вашем компьютере не настроена пара ключей SSH:
В этом случае вы можете создать пару ключей SSH, для чего нужно ввести следующую команду:
Примите параметры по умолчанию, а при желании укажите пароль для локальной защиты ключа:
После этого вы сможете просматривать свой открытый ключ с помощью следующей команды:
Скопируйте отображаемый блок текста и вернитесь в настройки профиля в веб-интерфейсе GitLab.
Нажмите пункт SSH Keys (Ключи SSH) в левом меню:
Вставьте в указанное место открытый ключ, скопированный с локального компьютера. Присвойте ему описательное название и нажмите кнопку Add key (Добавить ключ):
Теперь вы должны иметь возможность управлять проектами и хранилищами GitLab с локального компьютера без ввода учетных данных GitLab.
Подготовка сервера
В качестве предварительный настроек, мы обновим список пакетов в репозиториях, настроим правильное время и откроем порты в брандмауэре.
1. Обновление списков пакетов
Выполняем команду:
apt-get update
При желании обновить установленные пакеты, также можно выполнить:
apt-get upgrade
2. Время
Установим часовой пояс:
timedatectl set-timezone Europe/Moscow
* данная команда задаст настройки для московского времени. Все файлы с временными зонами находятся в каталоге /usr/share/zoneinfo.
Для автоматической синхронизации времени ставим пакет:
apt-get install chrony
И разрешаем автозапуск сервиса:
systemctl enable chrony
3. Настройка брандмауэра
По умолчанию, в Ubuntu брандмауэр настроен на то, чтобы принимать любые пакеты. Но если у нас он настроен на блокировку, нужно добавить порты 80 и 443.
iptables -A INPUT -p tcp —dport 80 -j ACCEPT
iptables -A INPUT -p tcp —dport 443 -j ACCEPT
И чтобы сохранить правила, устанавливаем iptables-persistent:
apt-get install iptables-persistent
… и выполняем команду:
netfilter-persistent save
Переносим удалённый репозиторий на ПК
Перейдите на сайт desktop.github.com и скачайте GitHub Desktop — это приложение, которое позволит синхронизировать удалённый репозиторий на GitHub и файлы на вашем компьютере без командной строки терминала:
- Скачиваем приложение под свою операционную систему.
- Открываем приложение и проходим авторизацию — нужно указать электронную почту и данные вашего GitHub-аккаунта.
- Приложение синхронизируется с удалённым репозиторием и предложит выполнить одно из следующих действий: создать новый репозиторий, добавить локальную папку с компьютера в GitHub Desktop или клонировать существующий репозиторий в папку компьютера.
Мы создали тестовый удалённый репозиторий, поэтому выберем третий вариант — клонировать существующий репозиторий в папку компьютера.
После установки GitHub Desktop запросит синхронизацию с GitHub-аккаунтом. Если аккаунта нет, приложение предложит его создать
Рабочее пространство в GitHub Desktop — мы можем клонировать репозиторий, создать новый или перенести нужные файлы с компьютера
Выбираем репозиторий, сохраняем его на рабочем столе и жмём кнопку Clone
После клонирования репозитория в рабочем пространстве появятся три вкладки: Current Repository, Current Branch и Fetch origin.
- Current Repository — раздел позволяет переключаться между несколькими репозиториями, отслеживать невнесённые изменения (вкладка Changes) и смотреть историю коммитов (вкладка History).
- Current Branch — раздел позволяет переключаться между несколькими ветками проекта.
- Fetch origin — раздел обновляет внесённые изменения и синхронизирует файлы локального и удалённого репозитория.
Обратите внимание на раздел Current Repository и вкладку Changes. В левом нижнем углу есть окно для добавления коммитов и комментариев — это означает, что вы можете записывать каждый шаг, не посещая сайт GitHub
Рабочее пространство для работы с клонированным репозиторием
История изменений нашего репозитория
Установка сервера Nginx с сертификатом Let’s Encrypt
Мы будем использовать установку GitLab CE, которая работает за сервером Nginx, который будет выполнять обратное проксирование и осуществлять обработку SSL-трафика. Для настройки базового сервера воспользуйтесь руководством из списка ниже, подходящим для вашей операционной системы.
Настройка балансирующего прокси Nginx с сертификатом Let’s Encrypt в CentOS 7.
Настройка балансирующего прокси Nginx с сертификатом Let’s Encrypt в Debian 9 Stretch.
Настройка балансирующего прокси Nginx с сертификатом Let’s Encrypt в Ubuntu 18.04 Bionic
На данный момент у вас должен быть развернут сервер с Nginx и сертификатом Let’s Encrypt. Теперь установим GitLab CE.
Возможные ошибки
status couldn execute post against certificate signed by unknown authority
Ошибка возникает при попытке зарегистрировать Runner, а при отправке curl-запроса на сервер:
curl https://gitlab.dmosk.ru
… мы получаем сообщение о неправильном сертификате:
curl performs SSL certificate verification by default, using a «bundle»
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn’t adequate, you can specify an alternate file
using the —cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you’d like to turn off curl’s verification of the certificate, use
the -k (or —insecure) option.
Причина: нужна полная цепочка сертификатов.
Решение: подробнее, процесс настройки https описан в инструкции Правильная настройка SSL в NGINX.
@ERROR: chroot failed
Ошибка появляется при попытке синхронизировать файлы с применением команды rsync.
Причины:
1. На целевом сервере нет целевого каталога (указан в опции path), в который необходимо синхронизировать данные.
2. Доступ к целевой папке запрещен политикой selinux.
Решение: для обоих причин опишим соответствующие решения.
1. Проверяем наличие каталога, который мы указали в конфигурационном файле /etc/rsyncd.conf (опция path). Если его нет, создаем, например:
mkdir -p /var/www/dmosk/www
2. Для начала пробуем отключить разово selinux:
setenforce 0
Если это решило проблему, либо отключаем его совсем, либо настраиваем командами:
semanage fcontext -a -t rsync_data_t ‘/var/www(/.*)?’
restorecon -Rv ‘/var/www’
setsebool -P rsync_client on
* в данном примере мы разрешам контекст безопасности rsync_data_t для всего содержимого каталога, где находятся наши сайты.
Установка Git из файла с исходным кодом
Более гибкий метод установки Git — это компиляция программного обеспечения из исходного кода. Это метод требует больше времени, а полученный результат не будет сохранен в менеджере пакетов, но он позволяет загрузить последнюю версию и дает определенный контроль над параметрами, которые вы включаете в ПО при необходимости индивидуальной настройки.
Перед началом установки вам нужно установить программное обеспечение, от которого зависит Git. Его можно найти в репозиториях по умолчанию, поэтому мы можем обновить локальный индекс пакетов, а после этого установить пакеты.
После установки необходимых зависимостей вы можете продолжить работу и получить нужную вас версию Git, посетив зеркало проекта Git на GitHub, доступное по следующему URL-адресу:
Затем нажмите кнопку Clone or download на правой стороне страницы, потом нажмите правой кнопкой мыши Download ZIP и скопируйте адрес ссылки, заканчивающийся на .
Вернитесь на сервер Ubuntu 16.04 и перейдите в директорию , чтобы загрузить временные файлы.
Здесь вы можете использовать команду для установки скопированной ссылки на файл с архивом. Мы укажем новое имя для файла: .
Разархивируйте файл, который вы загрузили, и переместите в полученную директорию:
Теперь вы можете создать пакет и установить его, введя эти две команды:
Чтобы убедиться, что установка прошла успешно, вы можете ввести , после чего вы должны получить соответствующий вывод, указывающий текущую установленную версию Git.
Теперь, когда вы установили Git, если вы захотите обновиться до более поздней версии, вы можете клонировать репозиторий, а потом выполнить сборку и установку. Чтобы найти URL-адрес для использования при клонировании, перейдите к нужной ветке или тегу на странице проекта в GitHub и скопируйте клонируемый URL-адрес с правой стороны:
На момент написания соответствующий URL должен выглядеть следующим образом:
Измените домашнюю директорию и используйте для URL-адреса, который вы только что скопировали:
В результате будет создана новая директория внутри текущей директории, где вы можете выполнить повторную сборку проекта и переустановить новую версию, как вы уже делали выше. В результате старая версия будет перезаписана на новую:
После выполнения этих действий вы можете быть уверены, что используете актуальную версию Git.
Prepare System for Deployment
Before beginning with the GitLab installation, make sure that your system’s package database is up to date and that all installed software is running the latest version.
-
Update your system by issuing the following commands from your shell:
-
Also create a git user for GitLab:
Install Package Dependencies
In this section you will install the development tools and the required packages for GitLab.
-
Install the required packages to compile Ruby and native extensions to Ruby gems:
-
Install Git:
Install Ruby
While GitLab is a Ruby on Rails application, using ruby version managers such as
RVM and
rbenv is not supported. For example, GitLab shell is called from OpenSSH and having a version manager can prevent pushing and pulling over SSH. Thus GitLab can only work with system-wide Ruby installation. In addition, GitLab requires Ruby 2.0 or higher while the default version on Ubuntu 14.04 is 1.9.3.
-
Remove the old Ruby if present:
-
The current stable Ruby version as of this writing is 2.1.2. To install Ruby, download the source code and compile the package:
-
Check if the installation succeed by checking the Ruby version:
Setup PostgreSQL Database for GitLab
GitLab supports both MySQL and PostgreSQL for the database backend, but the latter is recommended. GitLab requires PostgreSQL version 9.1 or higher since it needs to make use of extensions.
-
Install PostgreSQL if you haven’t installed it:
-
Create new database and new user by issuing the following commands:
-
Try connecting to the new database with the new user and display PostgreSQL version for testing:
If everything is ok, you should see the PostgreSQL version displayed on the console like this:
Некоторые основные команды Git
Для того чтоб пользоваться Git надо изучить основные команды git.
Создайте новый локальный репозиторий
Чтобы создать новый локальный репозиторий git, выполните следующую команду:
Инициализированный пустой репозиторий Git в файле / home/ubuntu/foo/.git/
Создание рабочей копии локального репозитория
Если вы хотите скопировать локальный репозиторий в другое место, выполните команду:
Для удаленного сервера используйте:
Добавьте один или несколько файлов
Чтобы позволить Git отслеживать файлы, вы должны выполнить следующие команды:
Перечислите файлы, которые вы изменили, и те, которые вам все еще нужно добавить или зафиксировать.
Вы можете получить статус рабочего дерева, запустив его:
Ответ команды:
On branch master
No commits yet
Changes to be committed:
(use «git rm —cached …» to unstage)
new file: README
После добавления файлов их можно зафиксировать в промежуточной области:
Ответ команды будет таким:
Подключение к удаленному репозиторию
Иногда вам нужно подключиться к удаленному репозиторию, расположенному например github или gitlab. Вы можете выполнить следующую команду:
Список всех настроенных в данный момент удаленных репозиториев
Чтобы перечислить все настроенные удаленные репозитории, выполните следующую команду:
Вывод
Git — это действительно мощный инструмент для совместной работы. В этом учебнике рассмотрены все этапы установки и настройки Git на Ubuntu 20.04.
Пожалуйста, оставьте свои предложения и замечания в разделе комментариев. Спасибо!