Skip to content

Latest commit

 

History

History
162 lines (108 loc) · 10.4 KB

using-git-for-update.md

File metadata and controls

162 lines (108 loc) · 10.4 KB

Использование GIT для обновления измененной типовой конфигурации

Необходимое ПО

GIT

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

Качаем: https://git-scm.com/download/win

SourceTree

Назначение: Визуальный инструмент для работы с GIT.

Качаем: https://www.sourcetreeapp.com/

Устанавливаем.

Регистрируемся на: https://bitbucket.org

При первом запуске указываем регистрационные данные.

В настройках указываем использование KDiff3 в качестве внешнего инструмента слияния.

OneScript (oscript)

Назначение: Интерпретатор языка OneScript для написания скриптов автоматизации. Требуется для выгрузки/загрузки конфигурации в/из репозиторий GIT.

Качаем: http://oscript.io/downloads

GitSync

Назначение: Скрипт для автоматической выгрузки конфигураций 1С их хранилища 1С в GIT (скрипт на oscript).

Качаем и устанавливаем:

в командной строке вызываем: “opm install gitsync”

(используется менеджер пакетов opm, установленный вместе с 1Script)

KDiff3

Назначение: Инструмент для сравнения/объединения файлов и каталогов

Качаем: https://sourceforge.net/projects/kdiff3/files/

Также можно использовать друге инструменты сравнения/объединения: DiffMerge, P4Merge и пр. или использовать встроенный в SourceTree.

Условия

Имеется доработанная типовая конфигурация 1С. Версия платформы 1С 8.3.

Подготовка

  1. Устанавливаем указанное выше ПО.

  2. В настройках SourceTree указываем использование KDiff3 (или другой инструмент сравнения/объединения) в качестве внешнего инструмента слияния.

  3. Создаем информационную базу для выполнения обновлений конфигурации поставщика (база поставщика).

  4. Выгружаем в базу поставщика текущую конфигурацию поставщика из текущей доработанной конфигурации 1С.

  5. Из базы поставщика создаем хранилище 1С для хранения версий поставщика (хранилище поставщика).

  6. Создаем информационную базу для выполнения обновлений доработанной конфигурации (база доработки).

  7. Выгружаем в базу доработки текущую доработанную конфигурацию 1С.

  8. Из базы доработки создаем хранилище 1С для хранения версий доработанной конфигурации (хранилище доработки).

  9. Создаем каталог (папку) репозитория GIT и в ней создаем каталог “src” для хранения «исходников» конфигурации.

  10. Инициализируем репозиторий git:

    • В каталоге репозитория выполняем команду «git init»

      Или в SourceTree: «Файл\Клонировать / создать\Создать новый репозиторий».

  11. Настраиваем репозиторий для использования gitsync:

    • В каталоге src создаем текстовый файл VERSION без расширения с содержимым:
<?xml version="1.0" encoding="UTF-8"?>
<VERSION>0</VERSION>

В элементе &lt;VERSION&gt; указывается версия хранилища поставщика со следующей за которой будет выгружаться конфигурация.
  1. В каталоге src создаем текстовый файл AUTHORS без расширения с содержимым:
Слева указано имя пользователя хранилища 1С

Справа указано- представление имени пользователя репозитория Git и его e-mail. E-mail указываем битовский

Администратор=Пользователь1 <[email protected]>
Вася Иванов=Другой Пользователь <[email protected]>

Инициализация репозитория GIT

  1. Выгружаем конфигурацию поставщика в ветку master созданного репозитория GIT:

    • Открываем командную строку (cmd).
    • Переходим в каталог репозитория GIT.
    • Выполняем выгрузку конфигурации из хранилища поставщика:
cd “<папка репозитория GIT>”
“<папка репозитория GIT>”>gitsync export “<каталог хранилища поставщика>” src\cf [-v8version 8.3.12]
  1. В репозитории создаем из ветки master ветку origin1c (SourceTree: «Репозиторий/Ветка…»).
  2. В репозитории создаем из ветки master ветку develop (SourceTree: «Репозиторий/Ветка…»).
  3. В репозитории переходим на ветку develop (SourceTree: «Репозиторий/Перейти…»).
  4. В файле src/VERSION элементе <VERSION> указываем 0, чтобы выгрузить первую версию из хранилища доработки.
  5. Выгружаем доработанную конфигурацию в ветку develop репозитория:
    • Открываем командную строку (cmd).
    • Переходим в каталог репозитория GIT.
    • Выполняем выгрузку конфигурации из хранилища доработки:
gitsync export “<каталог хранилища доработки>” src [-v8version 8.3.8]
  1. В репозитории переходим на ветку master (SourceTree: «Репозиторий/Перейти…»).
  2. Выполняем слияние (merge) ветки develop в ветку master (SourceTree: «Репозиторий/Слияние…»).

Обновление конфигурации

  1. В базе поставщика захватываем все объекты в хранилище рекурсивно.
  2. Выполняем обновление конфигурации файлом обновления от поставщика.
  3. Помещаем результат обновления в хранилище поставщика.
  4. В репозитории переходим на ветку origin1c (SourceTree: «Репозиторий/Перейти…»).
  5. Выгружаем обновленную конфигурацию поставщика в ветку origin1c репозитория:
    • Открываем командную строку (cmd).
    • Переходим в каталог репозитория GIT.
    • Выполняем выгрузку конфигурации из хранилища поставщика:
gitsync export “<каталог хранилища поставщика>” src [-v8version 8.3.12]
  1. В репозитории переходим на ветку develop (SourceTree: «Репозиторий/Перейти…»).

  2. Выполняем слияние (merge) ветки origin1c в ветку develop (SourceTree: «Репозиторий/Слияние…»).

  3. Решаем конфликты объединения:

    • Для текстовых файлов используем KDiff3 (SourceTree: «Действия/Разрешить конфликты/Использовать внешние инструменты слияния»)
    • Для бинарных файлов в большинстве случаев решаем конфликт в пользу новой конфигурации поставщика (в origin1c)
  4. В отдельной временной базе 1С выполняем загрузку конфигурации из файлов из каталога “<каталог репозитория/src>”.

  5. Выгружаем загруженную конфигурацию в файл (CF).

  6. В базе доработки захватываем конфигурацию в хранилище рекурсивно.

  7. В базе доработки выполняем сравнение/объединение с конфигурацией из п. 10

  8. Помещаем доработанную конфигурацию в хранилище доработки рекурсивно.

  9. В базе и хранилище доработки находится конфигурация – результат обновления.

  10. Выгружаем доработанную конфигурацию в ветку develop репозитория:

    • Открываем командную строку (cmd).
    • Переходим в каталог репозитория GIT.
    • Выполняем выгрузку конфигурации из хранилища доработки:
gitsync export “<каталог хранилища доработки>” src [-v8version 8.3.12]
  1. В репозитории переходим на ветку master (SourceTree: «Репозиторий/Перейти…»).
  2. Выполняем слияние (merge) ветки develop в ветку master (SourceTree: «Репозиторий/Слияние…»).