Workflow quick reference

From Charm-Tau Detector
Revision as of 13:29, 18 January 2019 by D.A.Maksimov (Talk | contribs)

Jump to: navigation, search

Регистрация и подготовка аккаунта

  • Зайти на stark.inp.nsk.su (доступно только внутри института) или proxima.inp.nsk.su (доступно из любого места)

Эти машины близки по конфигурации и имеют общий /home

Для взаимодействия с git-сервером используется протокол ssh с авторизацией по ключам.

  • Если ранее не был создан, то создать ssh ключ командой
ssh-keygen

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

В результате в поддиректории ~/.ssh/ будут созданы два файла id_rsa и id_rsa.pub Полные пути к создаваемым файлам будут отображены на экране.

  • Зайти на сервер gitlab https://git.inp.nsk.su/ (логин и пароль теже, что и для входа на stark/proxima)
  • Зарегистрировать публичную часть этого ключа в своём аккаунте, т.е. поместить содержимое файла ~/.ssh/id_rsa.pub в форму по ссылке ниже
https://git.inp.nsk.su/profile/keys


1. Открыть центральный репозиторий https://git.inp.nsk.su/sctau/aurora

и сделать форк к себе.

2. Настройка рабочей среды.

создадим рабочую директорию

mkdir workarea
cd workarea

Директории для сборки и запуска

mkdir build  run


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

setupSCTAU

Выберем релиз и его версию, в которой будем работать. Для работы, требующей стабильности окружения, например, физического анализа, нужно использовать этот вариант

asetup SСTauSim,0.1.0

Для работ по разработке программных компонент этот

asetup SCTauSim,master,latest

Для простого запуска готовых примеров этих шагов достаточно. Далее:

cd run

Запуск первичных генераторов моделирования:

ctaurun GenExamples/evtgen.py 

Запуск полного моделирования:

Перед запуском полного моделирования в текущей директории надо положить файл taumugamma.root, с входными данными - частицы из первичного генератора

Этот файл можно взять, например, у Виталия: /home/vvorob/public/tuples/fccedm/taumugamma.root

ctaurun G4SimExamples/fullsim_example.py


3. Для разработки нового или модификации существующего кода нужны следующие действия:

Возвращаемся в workarea.

Подготовка рабочей директории (делается один раз):

git sctau init-workdir ssh://git@git.inp.nsk.su/sctau/aurora.git
cd aurora

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

git fetch upstream

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

git checkout -b MyDevelopmentBranch upstream/0.1 --no-track

Если хотим модифицировать существующий пакет, то

Добавим пакеты из репозитория

git sctau addpkg GenExamples

и/или

git sctau addpkg G4SimExamples

Если создаётся новый пакет, то надо создать всю структуру директорий, где он должен лежать, написать CMakeLists.txt и всё остальное, что нужно для нового пакета.

Сборка

cd ../build/
cmake ../aurora/Projects/WorkDir
make

Настройка локального окружения

эта строчка принципиально важна, чтобы использовались локально собранные пакеты вместо тех, что в релизе:

source x86_64-slc7-gcc7-opt/setup.sh

Запуск

cd ../run
ctaurun GenExamples/evtgen.py
ctaurun G4SimExamples/fullsim_example.py
Personal tools