Workflow quick reference

From Charm-Tau Detector
Revision as of 20:22, 21 January 2019 by D.A.Maksimov (Talk | contribs)

Jump to: navigation, search

Contents

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

  • Зайти на 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
Personal tools