Fossil — мощная система контроля версий (VCS) для Linux. Это альтернатива гитхабу , но в отличие от Git он предоставляет полный набор инструментов для создания, изменения и даже совместного использования вашего репозитория в Интернете. В этой статье показано, как установить и развернуть Fossil в Ubuntu Linux.
Зачем использовать Fossil вместо Git
Одним из главных преимуществ Ископаемое является то, что это
Contents
Зачем использовать Fossil вместо Git
ом в Интернете. Это делает его невероятно полезным для пользователей, которые просто хотят поделиться одним репозиторием с другими людьми, не создавая учетную запись Github или Gitlab.Помимо этого, Fossil также очень гибок и невероятно прост в самостоятельном размещении. Он может работать либо как один статический двоичный файл в вашей системе, либо в автономном контейнере Docker. В результате очень просто войти в Fossil и адаптировать его под свои нужды.
Хотя Fossil и Git используют один и тот же рабочий синтаксис, Fossil предоставляет дополнительные функции, которые сложно реализовать в Git. Например, Fossil позволяет избежать проблемы «отсоединенного HEAD», предоставляя внутреннюю базу данных, которая отслеживает ссылки между предыдущими и будущими коммитами. В результате репозитории Fossil работают более гладко и без проблем по сравнению с Git.
Еще одно преимущество Fossil перед Git заключается в том, что для его работы требуется меньше зависимостей и памяти, а функции предоставляются прямо из коробки. У экземпляра Fossil есть доска обсуждений, вики и система отслеживания проблем. Это делает Fossil интегрированным решением для всех, кому нужна простая среда для разработки и публикации кода.
Полезно знать: изучите некоторые из лучшие хуки Git для управления вашим репозиторием .
Получение необходимых компонентов и Docker
Первым шагом при развертывании Fossil является получение файлов репозитория для Docker. Для этого получите ключ подписи для проекта Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
Создайте новый файл в папке «/etc/apt/sources.list.d». Он будет содержать ссылку на репозиторий, откуда Ubuntu будет получать пакеты Docker:
sudo nano /etc/apt/sources.list.d/docker.list
Вставьте следующий код в новый файл репозитория:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Сохраните файл репозитория Docker, затем установите основной пакет Snap:
sudo snap install core
Загрузите пакет оснастки Certbot с сайта Electronic Frontier Foundation:
sudo snap install certbot --classic
Выполните следующую команду, чтобы обновить списки п
Получение необходимых компонентов и Docker
an> apt update && sudo apt upgradeУстановите Docker и Nginx вместе с их пакетами зависимостей:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
Сборка и установка Fossil в Linux
Перейдите к страница загрузки для Fossil , затем выберите исходный архив последней стабильной версии. В моем случае я скачаю версию 2.23 Fossil.
Переместите архив с исходным кодом в свой домашний каталог, затем распакуйте его:
mv ~/Downloads/fossil-src-2.23.tar.gz tar xvzf ~/fossil-src-2.23.tar.gz
Зайдите в папку архива, затем откройте Dockerfile Fossil с помощью любимого текстового редактора:
cd ~/fossil-src-2.23 nano ./Dockerfile
Прокрутите файл до конца и добавьте перед строкой "--user", "admin" ]
следующее:
"--https", \
Сохраните измененный файл Dockerfile, а затем создайте образ контейнера:
sudo docker build -t fossil .
Запуск Fossil и создание обратного SSL-прокси
Теперь у вас есть новый экземпляр Fossil VCS, работающий как контейнер Docker на вашем сервере. Чтобы получить к нему доступ, вам необходимо зашифровать любые внешние подключения к Fossil.
Для начала создайте новую запись DNS «A», указывающую на IP-адрес вашего сервера Fossil.
Используйте свой любимый текстовый редактор, чтобы создать новый файл конфигурации сайта для вашего экземпляра Fossil:
sudo nano /etc/nginx/sites-available/fossil-scm
Вставьте следующий блок кода в файл конфигурации нового сайта:
server { server_name SUBDOMAIN.YOUR-ROOT.DOMAIN; location / { proxy_pass http://127.0.0.1:7777; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; } }
Замените переменную server_name
на свой субдомен для Fossil.
Создайте символическую ссылку для файла конфигурации вашего сайта на «/etc/nginx/sites-enabled/»:
sudo ln -s /etc/nginx/sites-available/fossil-scm /etc/nginx/sites-enabled/
Запустите демон Nginx вашей системы с помощью systemctl:
sudo systemctl enable --now nginx.service sudo systemctl reload nginx.service
Запустите новый образ Fossil Docker, выполнив следующую команду:
sudo docker run \ --publish Запуск Fossil и создание обратного SSL-проксиn> fossil \ --cap-drop AUDIT_WRITE \ --cap-drop CHOWN \ --cap-drop FSETID \ --cap-drop KILL \ --cap-drop MKNOD \ --cap-drop NET_BIND_SERVICE \ --cap-drop NET_RAW \ --cap-drop SETFCAP \ --cap-drop SETPCAP \ fossil
Откройте новую панель Tmux, нажав Ctrl+ B, затем C. Внутри выполните следующую команду, чтобы запросить сертификат SSL у Certbot:
sudo certbot --nginx -d fossil-scm.myvpsserver.top
Проверьте, доступен ли ваш экземпляр Fossil через Интернет, перейдя в свой субдомен.
Полезно знать: узнайте, как можно создавайте простые веб-страницы с автоматическим HTTPS с помощью Caddy .
Создание первого хранилища ископаемых
После того, как Fossil запущен на вашем сервере Linux, вы можете настроить свой новый экземпляр. Нажмите ссылку setup/config в разделе Главная.
Укажите данные учетной записи администратора, затем нажмите «Войти». Пароль для учетной записи администратора можно найти в журнале вывода вашего контейнера Docker.
Заполните текстовые поля Имя проекта и Описание проекта сведениями о своем репозитории, затем нажмите Применить изменения, чтобы сохранить его.
Клонирование и использование хранилища ископаемых
Чтобы использовать новый репозиторий кода, вам необходимо сначала создать его копию на своем компьютере. Для этого установите локальную версию Fossil на рабочий стол Linux:
sudo apt install fossil
Перетащите весь репозиторий на свой компьютер и зайдите в папку его репозитория:
fossil clone https://SUBDOMAIN.YOUR-ROOT.DOMAIN cd ./YOUR-REPO-NAME
Добавьте исходные файлы, а затем зафиксируйте изменения в репозитории Fossil:
nano ./sample.file fossil add ./sample.file fossil commit
Укажите сведения о первоначальном коммите, а затем сохраните его, создав новую строку, начинающуюся с точки (.).
К вашему сведению: изучите основы управления кодом до создание собственного репозитория Git .
Перенос локальных изменений в удаленное хранилище ископаемых
По умолчанию Fossil не предоставляет никаких разрешений на запись в свои удаленные репозитории. Любые изменения, которые вы вносите в локальный репозиторий, останутся там и не отразятся в вашем экземпляре Fossil.
Чтобы это исправить, перейдите в веб-интерфейс вашего экземпляра Fossil и войдите в систему под учетной записью администратора.
Нажмите категорию Администратор в верхнем меню панели управления.
Выберите Пользователи на панели управления администратора.
Нажмите Добавить, чтобы создать нового пользователя для вашего репозитория.
Укажите имя пользователя и пароль для нового пользователя.
Установите флажок Разработчик в категории Возможности, затем нажмите Применить изменения, чтобы сохранить нового пользователя.
Вернитесь к локальному терминалу и выполните следующую команду:
fossil push https://YOUR-USERNAME@SUBDOMAIN.YOUR-ROOT.DOMAIN
Примечание. Вы также можете получить новые изменения из удаленного репозитория Fossil, запустив fossil pull
.
Введите пароль вашего пользователя Fossil, затем нажмите Enter, чтобы отправить локальные изменения в удаленный репозиторий.
Подтвердите, что ваш удаленный репозиторий Fossil получил вашу локальную фиксацию, перейдя в его веб-интерфейс.
Установка и развертывание собственной системы контроля версий Fossil — это лишь первый шаг к возвращению контро
Клонирование и использование хранилища ископаемых
е онлайн-общение к размещение собственного сервера псевдонимов электронной почты с помощью SimpleLogin .Изображение предоставлено: Панджак Патель через Unsplash . Все изменения и скриншоты Рамсеса Реда.