В данном документе собраны практические рекомендации по использованию системы контроля версий Git при разработке‚ поддержке и обновлении официального веб‑ресурса Тверской области. Руководство ориентировано как на начинающих разработчиков‚ так и на опытных специалистов‚ отвечающих за стабильность и безопасность сайта.
Содержание
- Получение доступа к репозиторию
- Настройка локального окружения
- Основные команды Git
- Работа с ветками
- Процедура деплоя на продакшн
- CI/CD и автоматизация
- Политика безопасности и контроль качества
- Контактные данные ответственных лиц
- Часто задаваемые вопросы
Git – распределённая система контроля версий‚ позволяющая:
- Отслеживать каждое изменение кода и быстро возвращаться к любой предыдущей версии;
- Работать одновременно над несколькими задачами в изолированных ветках;
- Объединять изменения с помощью
mergeиrebase; - Автоматизировать тестирование и выкладку через CI/CD‑конвейеры.
Для официального сайта Тверской области это значит:
- Гарантированный контроль над публичными данными;
- Уменьшение риска «сломать» сайт при внесении правок;
- Прозрачность работы всех участников проекта.
Получение доступа к репозиторию
Исходный код размещён в закрытом репозитории GitLab (внутренний сервер Тверской области). Чтобы получить доступ‚ выполните следующие шаги:
- Отправьте запрос в отдел ИТ‑поддержки по официальному e‑mail с указанием ФИО‚ должности и причины доступа.
- После одобрения вам будет выдана персональная SSH‑ключ и права
developerв проектеtver-official-site. - Сохраните полученный приватный ключ в файле
~/.ssh/id_rsa_tverи добавьте его вssh‑agent:
ssh-add ~/.ssh/id_rsa_tver Если возникнут вопросы‚ см. раздел Контактные данные.
Настройка локального окружения
Для работы с репозиторием понадобится:
- Операционная система: Windows 10/11‚ macOS 12+‚ или любой современный дистрибутив Linux.
- Установленный Git (версии 2.40 и выше).
- Текстовый редактор/IDE (VS Code‚ PhpStorm‚ Sublime Text и др.).
Клонирование репозитория:
git clone git@tver-gitlab.internal:official/tver-official-site.git После клонирования перейдите в каталог проекта и установите зависимости (пример для проекта на Node.js):
cd tver-official-site
npm install Основные команды Git
| Команда | Описание |
|---|---|
git status | Показывает текущий статус рабочего каталога. |
git add <file> | Добавляет файл в индекс (подготовка к коммиту). |
git commit -m "Сообщение" | Создаёт новый коммит. |
git pull | Получает изменения из удалённого репозитория и пытается слить их с текущей веткой. |
git push | Отправляет локальные коммиты в удалённый репозиторий. |
git branch | Список веток в текущем репозитории. |
git checkout <branch> | Переключение на другую ветку. |
git merge <branch> | Слияние указанной ветки в текущую. |
Работа с ветками
Для поддержания чистоты main (или master**) рекомендуется использовать следующую модель ветвления:
- main – стабильная версия сайта‚ доступная пользователям.
- develop – ветка интеграции новых функций‚ проходит тестирование.
- feature/ – отдельные ветки для каждой задачи (например‚
feature/contact‑form). - hotfix/ – быстрые исправления критических багов в
main.
Пример создания ветки задачи:
git checkout develop
git pull
git checkout -b feature/contact-form
git add .
git commit -m "Добавлена форма обратной связи"
git push -u origin feature/contact-form После завершения работы создаётся Merge Request (MR) в GitLab‚ где код проверяется коллегами и автоматически тестируется.
Процедура деплоя на продакшн
- Убедитесь‚ что ваш MR прошёл все автоматические проверки (линтер‚ юнит‑тесты‚ статический анализ).
- После одобрения MR‚ мёрджите ветку
developвmain. - CI‑конвейер автоматически собирает артефакт и разворачивает его на сервере
prod.tver.gov.ru. - Проверьте статус деплоя в разделе Pipeline GitLab.
Если деплой завершился с ошибкой‚ откатить изменения можно командой:
git revert <commit‑hash>
git push origin main CI/CD и автоматизация
Для проекта используется GitLab CI/CD. Основные стадии конвейера:
- lint – проверка кода на соответствие стилю.
- test – запуск юнит‑ и интеграционных тестов.
- deploy – выкладка на тестовый/продакшн‑сервер.
Файл .gitlab-ci.yml уже готов и хранится в корне репозитория. При необходимости его можно адаптировать под новые требования.
Политика безопасности и контроль качества
- Все коммиты должны быть подписаны GPG‑ключом сотрудника.
- Запрещено пушить в ветку
mainбез прохождения MR. - Регулярно проверяйте список пользователей в проекте – удаляйте устаревшие аккаунты.
- Для доступа к продакшн‑серверу используйте только VPN‑соединение и двухфакторную аутентификацию.
Контактные данные ответственных лиц
Если у вас возникли вопросы по работе с репозиторием‚ настройке окружения или процессу деплоя‚ обратитесь к следующим специалистам (контактные данные частично скрыты в целях безопасности):
- Руководитель отдела ИТ‑поддержки – Кишмахова Майя Якубовна (тел.: +7 (4822) ‑89‚ e‑mail: it-support@tver.gov.ru)
- Ведущий разработчик проекта – Иванов * Сергеевич (тел.: +7 (4822) ‑12)
- Служба безопасности информации – телефон горячей линии 8‑800‑201‑**10 (круглосуточно)
- Государственная инспекция труда Тверской области (может помочь в вопросах соответствия контента нормативам):
- Адрес: 170034‚ г. Тверь‚ ул. Вагжанова‚ 7 к1
- Тел.: +7 (4822) *‑89
- Сайт: git69.rostrud.ru
Все обращения следует оформлять в письменном виде и сохранять копию запроса для последующего аудита.
Часто задаваемые вопросы
Как восстановить забытый пароль к GitLab?
Перейдите по ссылке «Восстановление пароля» и введите ваш корпоративный e‑mail. Если письмо не пришло‚ обратитесь в ИТ‑поддержку.
Можно ли работать без SSH‑ключа?
Для публичных репозиториев допускается HTTPS‑доступ‚ однако для закрытого репозитория официального сайта обязательна аутентификация по SSH‑ключу.
Кому сообщать о найденных уязвимостях?
Все сообщения о потенциальных уязвимостях отправляйте на security@tver.gov.ru с пометкой «Vulnerability Report».
Как добавить новый сервис в CI‑конвейер?
Редактируйте файл .gitlab-ci.yml в ветке develop‚ добавьте нужный job и создайте MR. После одобрения изменения автоматически применятся к следующему запуску пайплайна.
Соблюдение описанных в руководстве практик позволит поддерживать официальный сайт Тверской области в стабильном‚ безопасном и легко масштабируемом состоянии. При возникновении вопросов используйте указанные контактные данные и не забывайте фиксировать все изменения в системе контроля версий.
Дата последнего обновления: 01:11:25