Workflow quick reference
Contents |
Регистрация и подготовка аккаунта
- Зарегистрироваться на BINP/GCF кластере, для этого необходимо обратиться к Андрею Сухареву или Дмитрию Максимову
- Зайти на
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
Создние рабочего репозитория (форк)
Открыть центральный репозиторий
https://git.inp.nsk.su/sctau/aurora
и сделать форк к себе.
Настройка рабочей среды
две указанные ниже команды необходимо выполнять каждый раз при входе на рабочую машину (stark
/proxima
)
setupSCTAU
Выбор базовой сборки
asetup SCTauSim,master,latest
Если вы точно не знаете какую базовую сборку использовать, проконсультируйтесть с координаторами разработки ПО
Настройка рабочей директори
Для разработки нового или модификации существующего кода нужны следующие действия:
в домашней директории (на stark
/proxima
) создадим рабочую директорию
mkdir workarea cd workarea
Директории для сборки и запуска
mkdir build run
Подготовка рабочей директории (делается один раз):
git sctau init-workdir ssh://git@git.inp.nsk.su/sctau/aurora.git cd aurora
Получение обновлений с головного репозитория нужно делать периодически при длительном существовании рабочей директории и существенных изменениях в головном
git fetch upstream
Подготовка рабочей тематической ветки, эта ветка будет видна другим людям, поэтому название стоит выбирать говорящим и осмысленным
git checkout -b <TopicDevelopmentBranch> upstream/<target_branch> --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