Перейти к содержимому

Свой Git: старый ноутбук вместо облачного репозитория

Git сервер для 1С
Фото ноутбука
У меня есть старый ноутбук ASUS PRO B400VC с процессором Intel Core i7-3517U (1.9 ГГц, 2 ядра, до 3.0 ГГц в режиме Turbo Boost), 8 ГБ DDR3 RAM, SSD 128 ГБ и дискретной видеокартой NVIDIA NVS 5200M, который хотелось бы использовать в полной мере, а не чтобы он лежал без дела. Его характеристик вполне хватает для изучения, настройки и использования в качестве Git сервера проектов 1С, в среде разработки 1C:Enterprise Development Tools (1C:EDT). В качестве операционной системы будет использоваться Debian Linux и необходимое программное обеспечение.

Установка и настройка Debian

Debian — Результат neofetch


Для установки операционной системы на ноутбук, понадобится:

  1. Установочный образ с официального сайта https://www.debian.org/ (главная страница, кнопка «Загрузить»).
  2. Программа Rufus https://rufus.ie/ для создания загрузочной флешки и USB флешка.

Подключаем флешку и запускаем Rufus. После запуска, программа её автоматически определит, если у вас этого не произошло, тогда в поле «Устройство» выполните ручной выбор.

По кнопке «Выбрать», выбираем ранее скачанный файл установочного образа операционной системы Debian. Остальные параметры были оставлены по умолчанию. Нажимаем кнопку «Старт», будут заданы несколько вопросов, по поводу версий необходимых файлов, нажимаем «Да», для скачивания файлов из интернета, после начнется процесс создания.

Rufus — создание установочной флешки

Следующий шаг, необходимо в настройках BIOS ноутбука, установить вариант загрузки с USB флешки, в моем случае был выбран вариант без использования UEFI:

BIOS — Загрузка с флешки

В интернете есть множество статей по установке Debian как на реальные компьютеры так и в виртуальные машины, укажу лишь некоторые ключевые моменты.

Будет использоваться графический установщик:

Debian — Графический установщик

Далее следуем простым шагам по установке, выбираем русский язык:

Debian — Русский язык

Разметка диска «Авто — использовать весь диск» и «Все файлы в одном разделе» для простоты:

Debian — Разметка 1

Debian — Разметка 2

Особое внимание хочу уделить выбору программного обеспечения, необходимо оставить только «SSH-сервер» и «Стандартные системные утилиты«, так установка будет минимально необходимой:

Debian — Программное обеспечение

После установки необходимо произвести первичную настройку операционной системы и установить необходимые приложения.

Установка sudo и настройка пользователя

Заходит под root в систему, для этого после загрузки компьютера вводим логин root и пароль либо если уже зашли под своим пользователем тогда вводим команду:

// Команда su позволяет пользователю выполнять команды от имени другого пользователя, не завершая текущий сеанс, или получить роль. По умолчанию предполагается работа от имени пользователя root.
su

Необходимо установить программу sudo:

apt install sudo

Добавить вашего пользователя в администраторы:

/usr/sbin/usermod -aG sudo kostya

Перезагрузить ноутбук:

systemctl reboot

Обновление системы

После перезагрузки, необходимо обновить систему, для этого выполняется совмещенная команда:

sudo apt update && sudo apt upgrade

Настройка гибернации и реакции на закрытие крышки

Для ноутбука отключаем гибернацию и реакцию на закрытие крышки, для этого открыть файл:

sudo nano /etc/systemd/logind.conf

Убрать комментирование для следующих параметров и установить значение:

HandleLidSwitch = ignore
HandleLidSwitchExternalPower = ignore
HandleLidSwitchDocked = ignore

Выполнить рестарт службы:

sudo systemctl restart systemd-logind

Установка UFW Firewall:

Установка:

sudo apt install ufw

Проверка статуса:

sudo ufw status verbose

Добавление необходимых протоколов в разрешенные:

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

Включаем:

sudo ufw enable

Отключение производится командой:

sudo ufw disable

Установка дополнительных утилит

sudo apt install mc htop curl

Настройка сети

В моем случае, все компьютеры подключены к Wi-Fi роутеру с активным DCHP сервером, то есть IP адрес динамически назначаются на определенный период из заданного диапазона. Для того чтобы IP адрес не менялся, в настройках роутера установил статический DHCP, то есть вручную связал конкретный MAC-адрес устройства с определённым IP-адресом.

Для того чтобы узнать текущий IP и MAC адрес, можно воспользоваться командой:

ip a

Дополнительные полезные команды

Перезагрузить систему в BIOS (UEFI)

sudo systemctl reboot --firmware-setup

Локализация:

— Locale: https://sysadminium.ru/regional-settings-locale-in-linux/
— Определение текущей locale в системе: locale
— Какие локали уже установлены в системе, можно с помощью команды: locale -a
— Часовой пояс: timedatectl

Установка и настройка GitLab

Для подключения к ноутбуку из Windows, по протоколу SSH, будет использоваться программа MobaXterm, в которой будут производится дальнейшие действия, вы можете использовать любой понравившийся вам SSH клиент либо напрямую вводить команды на устройстве.

В качестве Git сервера будет использоваться GitLab Community Edition (CE) — это бесплатная платформа с открытым исходным кодом для управления жизненным циклом разработки программного обеспечения. Она включает в себя всё необходимое для совместной работы над кодом: систему контроля версий, трекер задач, инструменты для code review, CI/CD-конвейер и многое другое.

Информация по установке подробно описана в документации: https://docs.gitlab.com/install/package/debian/?tab=Community+Edition

Выполняем добавление репозитория GitLab

curl --location "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh" | sudo bash

Устанавливаем пакет GitLab

sudo EXTERNAL_URL="https://192.168.0.97" apt install gitlab-ce

Обратите внимание:

  • EXTERNAL_URL равен IP адресу ноутбука.
  • GitLab генерирует случайный пароль и адрес электронной почты для учетной записи администратора root, которая хранится в /etc/gitlab/initial_root_password в течение 24 часов. По истечении 24 часов этот файл автоматически удаляется в целях безопасности.

Логин root, временный пароль читаем с помощью команды:

sudo cat /etc/gitlab/initial_root_password

После установки web интерфейс GitLab должен быть доступен по IP адресу ноутбука, чтобы узнать адрес можно использовать команду ip a в моей случае это https://192.168.0.97, если ввести его в браузер, открывается страница входа, где используем логин root и пароль прочитанный из файла /etc/gitlab/initial_root_password:

Первый вход в GitLab

При первом входе пропускаем все шаги и попадаем на основную страницу, где появляется предупреждение, что необходимо отключить регистрацию новых пользователей:

Деактивация регистрации

Нажимаем Deactivate, попадаем в настройки, где необходимо отключить опцию «Allow new user accounts» и нажать «Save changes».

Отключение регистрации пользователей

Следующий шаг смена пароля для root, делается это в настройках пользователя:

Смена пароля администратора

Создаем новый проект

Для этого на странице https://192.168.0.97/dashboard/projects используется ссылка «Create a project», далее «Создать пустой проект» и заполнить необходимые поля:

Новый проект

Установка 1С:EDT

1С:EDT (1C:Enterprise Development Tools) — отдельное приложение, которое устанавливается независимо от платформы «1С:Предприятие». В рассматриваемой схеме среда разработки ставится на рабочий компьютер под Windows, а ноутбук с Debian остаётся Git-сервером: держать GitLab и 1С:EDT на одной машине с 8 ГБ памяти не стоит, так как только для 1С:EDT рекомендуется выделять 6 ГБ.

На момент написания заметки используется версия EDT 2026.2.2. Сайт проекта — https://edt.1c.ru, документация — https://edt.1c.ru/docs/, дистрибутивы выкладываются на портале 1С:ИТС.

Требования к компьютеру

По разделу «Системные требования» руководства разработчика 1С:EDT:

  • 64-разрядная операционная система: Windows 7 и выше, Ubuntu 18.04 LTS и выше, macOS 10.15 и выше.
  • Минимальный профиль: Intel Core i3, 4 ГБ оперативной памяти, HDD, разрешение экрана от 1280×768.
  • Рекомендуемый профиль: Intel Core i5 и выше, 8 ГБ оперативной памяти (для самой 1С:EDT рекомендуется выделить 6 ГБ), SSD, 1920×1080.
  • При установке используется около 1200 МБ; рабочие области 1С:EDT рекомендуется размещать на SSD.

Отдельно устанавливать Java не нужно: начиная с версии 1С:EDT 2025.1.0 нужная версия Java ставится автоматически вместе со средой разработки.

Учётная запись портала 1С:ИТС

Для скачивания среды разработки и получения обновлений нужна учётная запись портала https://portal.1c.ru/. Если её нет, она создаётся там же по ссылке «Нет логина?», при этом можно использовать существующие учётные записи Яндекса, Google и других ресурсов.

Авторизация выполняется из программы запуска и обновления 1C:EDT Start, которой для работы нужен доступ к адресам login.1c.ru, portal.1c.ru, 1c.ru и services.1c.dev.

Скачивание дистрибутива

На портале 1С:ИТС: «1С:Обновление программ» → «Скачать обновления программ» → «Скрыть недоступные конфигурации» → раздел 1C:Enterprise Development Tools → версия 2026.2.2 → дистрибутив для Windows 64 бит.

Дистрибутивов два:

  • Основной — небольшой, содержит только программу запуска и обновления 1C:EDT Start, сама среда разработки скачивается при первом запуске. Требует доступа в интернет.
  • Для установки без интернета (в имени файла есть слово offline) — содержит и 1C:EDT Start, и среду разработки.

Установка

  1. Если скачан самораспаковывающийся .exe — просто запустить его. Если скачан архив — распаковать его в любой каталог.
  2. Запустить 1ce-installer.exe от имени администратора (для самораспаковывающегося дистрибутива этот шаг не нужен).
  3. В «Установщике» уже выбрано действие «Установить», нажать кнопку «Установить».

При первом запуске «Установщика» в нижней части окна можно изменить «Домашнюю директорию установки» — каталог, в который устанавливаются все версии 1С:EDT. При следующих запусках это поле уже недоступно.

После завершения установки нажать «Готово». В результате устанавливается программа запуска и обновления 1C:EDT Start — с её помощью устанавливаются и обновляются версии среды разработки, создаются и запускаются проекты.

Первый запуск и установка среды разработки

  1. Запустить 1C:EDT Start (ярлык на рабочем столе или «Пуск» → 1C Enterprise Development Tools → 1CEDT Start).
  2. Нажать «Создать новый проект» и авторизоваться: «Войти с помощью Портала 1С:ИТС». Откроется вкладка браузера, после успешной авторизации её можно закрыть.
  3. Вернуться в 1C:EDT Start и нажать «Новый проект».
  4. Выбрать тип проекта «Приложение 1С:Предприятия». Нажав стрелку вниз на типе проекта, выбрать последнюю версию среды разработки.
  5. Задать название проекта и нажать «ОК».
  6. При необходимости изменить расположение проекта — это и есть рабочая область 1С:EDT.
  7. Нажать «Добавить проект». 1C:EDT Start создаст рабочую область и начнёт скачивание и установку среды разработки.
  8. Принять лицензионные соглашения — «Принять все».

Рабочая область — это папка, в которой хранится всё, что разрабатывается в 1С:EDT, и часть настроек самой среды. Рабочих областей может быть несколько; рекомендуется одна рабочая область на одно приложение «1С:Предприятия» с его расширениями, отчётами и обработками.

Установка платформы «1С:Предприятие»

Сама 1С:EDT не может запустить или отладить приложение — для этого нужна платформа «1С:Предприятие». Поддерживаются версии (по разделу «Системные требования»):

  • 8.5.1 — начиная с 8.5.1.1045;
  • 8.3.27 — начиная с 8.3.27.1805;
  • 8.3.26 — начиная с 8.3.26.1656;
  • 8.3.25 — начиная с 8.3.25.1633;
  • 8.3.24 — начиная с 8.3.24.1819;

и более старые версии вплоть до 8.3.8 — полный перечень с минимальными номерами сборок приведён в разделе «Системные требования» руководства разработчика.

Порядок установки на Windows:

  1. Скачать дистрибутив платформы с портала 1С:ИТС.
  2. Распаковать архив в отдельную папку и запустить setup.exe.
  3. Ничего не меняя, три раза нажать «Далее», затем «Установить».

Запускать платформу после установки не нужно — 1С:EDT обнаружит её автоматически.

Если подходящей лицензии на платформу нет, для обучения можно бесплатно получить учебную версию «1С:Предприятие 8. Версия для обучения программированию»: https://online.1c.ru/catalog/free/34499722/.

Полезные настройки после установки

Настройки среды разработки открываются в 1C:EDT Start: шестерёнка в заголовке окна → «Среды разработки» → шестерёнка у нужной версии среды.

  • Максимальная выделенная память. При импорте больших типовых конфигураций (например, 1С:ERP) имеет смысл увеличить память виртуальной машины Java до 8 Gb.
  • Временный каталог. Если полные пути к файлам конфигурации превышают ограничения операционной системы и импорт завершается ошибкой, в «Аргументы Java VM» добавляется строка -Djava.io.tmpdir=C:\tmp, где C:\tmp — каталог, расположенный как можно ближе к корню диска.
  • Язык интерфейса. 1С:EDT использует языковые настройки операционной системы; на англоязычной системе русский язык выбирается в поле «Язык интерфейса».

Антивирус (в том числе Windows Defender) может снижать производительность и стабильность работы 1С:EDT, поэтому в исключения стоит добавить 1cedt.exe, каталоги рабочих областей и каталоги локальных репозиториев Git.

Подключение и работа в 1С:EDT с GitLab

Рабочая область и среда разработки уже созданы в предыдущем разделе, а в GitLab на ноутбуке создан пустой проект. Дальше нужно создать в 1С:EDT проект конфигурации, связать его с базой, положить в локальный Git-репозиторий и отправить изменения в GitLab.

Создание проекта в 1С:EDT

Проект конфигурации создаётся внутри рабочей области:

  1. Открыть проект в 1C:EDT Start (кнопка запуска у проекта).
  2. В 1С:EDT в панели «Навигатор» нажать правой кнопкой мыши на пустой области и выбрать «Новый» > «Проект конфигурации» (то же самое: главное меню «Файл» > «Новый» > «Проект конфигурации»).
  3. Заполнить поля мастера:
    • Имя — имя конфигурации, по которому приложение будет отличаться от других;
    • Синоним — название приложения, показываемое пользователю;
    • Комментарий — краткое описание для разработчика;
    • Имя проекта — имя проекта внутри 1С:EDT (может отличаться от имени конфигурации). После создания проекта имя изменить нельзя;
    • Расположение — каталог проекта; по умолчанию 1С:EDT выбирает его сам, для изменения нужно снять флажок «Расположение по умолчанию»;
    • Версия — маска версии платформы «1С:Предприятие» (например, 8.3.27). По маске выбирается самая старшая из установленных версий платформы. После создания проекта маску изменить нельзя.
  4. Нажать «Готово».

В мастере есть страница «Создать новое приложение» — на ней можно сразу создать информационную базу для запуска и отладки. Если база уже существует (см. следующий подраздел), этот шаг можно пропустить.

Связь проекта с базой, которая уже содержит конфигурацию

Если конфигурация уже разрабатывалась в конфигураторе, проще не создавать проект с нуля, а импортировать конфигурацию из информационной базы — 1С:EDT создаст проект и сразу свяжет его с этой базой:

  1. Открыть панель «Информационные базы» (кнопка в свёрнутой панели справа).
  2. Убедиться, что нужная база есть в списке. Если её нет — добавить базу (или запустить её конфигуратор из контекстного меню базы, чтобы посмотреть список пользователей).
  3. Перетащить базу из панели «Информационные базы» в панель «Навигатор». Запустится мастер импорта.
  4. В окне «Сконфигурируйте доступ к информационной базе» указать настройки, от имени которых 1С:EDT будет работать с базой:
    • Тип доступа — Infobase (аутентификация средствами «1С:Предприятия»);
    • Имя пользователя — пользователь с административными правами: 1С:EDT выгружает и загружает конфигурацию и обновляет конфигурацию базы данных;
    • Пароль.
  5. Нажать «ОК». 1С:EDT проанализирует базу и покажет расширения, которые можно загрузить.
  6. Выбрать версию платформы. По умолчанию предлагается самая старшая из установленных — если для базы нужна другая, указать её.
  7. Нажать «Импорт».

В результате в панели «Навигатор» появится проект с импортированной конфигурацией, а рядом — проекты расширений (на каждое расширение свой проект). Имя связанной базы показывается в угловых скобках после имени проекта.

Настройки доступа к базе запоминаются и используются во всех проектах и рабочих областях. Изменить их можно так: выделить базу в панели «Информационные базы», в панели «Свойства» нажать «Редактировать» в поле «Настройки доступа».

Чтобы перенести изменения из проекта в базу, используется команда «Обновить конфигурацию…» в контекстном меню приложения (панель «Приложения»). При запуске приложения 1С:EDT выгружает конфигурацию в связанную базу и обновляет конфигурацию базы данных самостоятельно.

Инициализация Git и фиксация изменений

Сначала настраивается Git. В 1С:EDT: «Окно» > «Параметры…» > «Групповая разработка» > «Git» > «Конфигурация» > «Настройки пользователя» — добавить записи:

  • user.name — имя разработчика;
  • user.email — адрес электронной почты.

Эти же значения 1С:EDT запросит при первом коммите, если они не заданы.

Так как сервер GitLab работает под Linux, а рабочая машина под Windows, стоит задать преобразование символов окончания строк: core.autocrlf = true и core.safecrlf = true. Тогда в рабочей копии будут «родные» для Windows окончания строк, а в репозитории — LF.

Для работы с хуками и большими файлами удобно установить Git for Windows со страницы https://git-scm.com/ в рекомендуемом варианте «Git from the command line and also from 3rd-party software»: в нём уже настроены нужные параметры и входит Git LFS. После установки Git нужно перезапустить 1С:EDT, чтобы обновилась переменная окружения %PATH%.

Теперь проект помещается в локальный репозиторий:

  1. В панели «Навигатор» нажать правой кнопкой мыши на проекте и выбрать «Групповая разработка» > «Общий проект…».
  2. В поле «Репозиторий» нажать «Создать» и выбрать каталог нового репозитория. Каталог репозитория и рабочая область 1С:EDT не должны находиться в иерархии друг друга.
  3. Флажок «Создать репозиторий в родительском каталоге проекта (или использовать существующий)» должен быть снят.
  4. Нажать «Готово» — 1С:EDT переместит проект в каталог репозитория.

Фиксация изменений:

  1. «Групповая разработка» > «Фиксировать (commit)…» в контекстном меню проекта. Откроется панель «Индексирование Git», изменённые файлы, уже находящиеся под контролем версий, попадут в индекс.
  2. Если в поле «Неиндексированные изменения» остались файлы, нажать «Добавить все файлы в индекс».
  3. Написать сообщение коммита: первая строка — короткий заголовок, затем пустая строка и, при необходимости, подробное описание.
  4. Нажать «Фиксировать».

Перенос изменений в удалённый репозиторий на ноутбуке

Адрес репозитория берётся на странице проекта в GitLab (кнопка «Clone» → «Clone with HTTP»), он имеет вид https://192.168.0.97/группа/имя_проекта.git.

  1. Открыть панель «Репозитории Git» и в ветке «Удаленные репозитории» вызвать контекстное меню → «Создать удаленный репозиторий…».
  2. В поле «Remote name» указать origin и выбрать настройку «Configure push» (настройка отправки).
  3. В поле «URI» указать адрес репозитория в GitLab.
  4. В «Ref mappings» задать соответствие HEAD:refs/heads/master — текущая ветка будет отправлена в ветку master удалённого репозитория (если в GitLab основной веткой назначена другая, указать её).
  5. Нажать «Сохранить и отправить».

Дальше цикл работы повторяется: изменения фиксируются в локальном репозитории, затем отправляются командой «Групповая разработка» > «Отправить в Upstream» в контекстном меню проекта (или «Фиксировать и отправить…» в панели «Индексирование Git»).

Если ветка на сервере была изменена другим разработчиком, отправка завершится ошибкой — сначала нужно получить изменения из удалённого репозитория и слить их со своими: «Получить и слить (pull)» в контекстном меню локального репозитория.

Возможные проблемы

  • Проверка SSL-сертификата. GitLab, установленный по IP-адресу, обычно использует самоподписанный сертификат, и Git может отказаться подключаться по https. В этом случае либо добавляют сертификат в доверенные, либо работают по протоколу ssh с ключом.
  • Аутентификация по HTTPS. В современных версиях GitLab вместо пароля для операций Git используется personal access token (в GitLab: настройки пользователя → «Access Tokens», право write_repository). Логин и токен можно сохранить в защищённом хранилище 1С:EDT.
  • Длинные имена файлов. Если при клонировании или фиксации возникает ошибка Filename too long, локальный репозиторий стоит расположить ближе к корню диска, а в настройках Git указать core.longpaths = true.
  • Большие файлы. При отправке по HTTP больших файлов помогает увеличение параметра http.postBuffer до 1048576000.

Дополнительные ссылки:

  1. Linux для начинающих
  2. Руководство разработчика 1С:EDT
  3. LearnGitBranching — тренажер по работе с Git

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *