Workflow quick reference

From Charm-Tau Detector
(Difference between revisions)
Jump to: navigation, search
Line 21: Line 21:
  
  
 
+
== Создние рабочего репозитория (форк) ==
1. Открыть центральный репозиторий
+
Открыть центральный репозиторий
https://git.inp.nsk.su/sctau/aurora
+
https://git.inp.nsk.su/sctau/aurora
  
 
и сделать форк к себе.
 
и сделать форк к себе.
  
2. Настройка рабочей среды.
 
  
создадим рабочую директорию
+
== Настройка рабочей среды ==
mkdir workarea
+
две указанные ниже команды необходимо выполнять '''каждый раз при входе''' на рабочую машину (<code>stark</code>/<code>proxima</code>)
cd workarea
+
 
+
Директории для сборки и запуска
+
mkdir build  run
+
 
+
 
+
Настройка самой базовой среды,
+
данную команду необходимо выполнять каждый раз при входе
+
 
  setupSCTAU
 
  setupSCTAU
  
Выберем релиз и его версию, в которой будем работать.
+
Выбор базовой сборки
Для работы, требующей стабильности окружения, например, физического анализа,
+
нужно использовать этот вариант
+
asetup SСTauSim,0.1.0
+
 
+
Для работ по разработке программных компонент этот
+
 
  asetup SCTauSim,master,latest
 
  asetup SCTauSim,master,latest
  
Для простого запуска готовых примеров этих шагов достаточно. Далее:
+
''Если вы точно не знаете какую базовую сборку использовать, проконсультируйтесть с координаторами разработки ПО''
  
cd run
+
== Настройка рабочей директори ==
 +
Для разработки нового или модификации существующего кода нужны следующие действия:
  
Запуск первичных генераторов моделирования:
+
в домашней директории (на <code>stark</code>/<code>proxima</code>) создадим рабочую директорию
  ctaurun GenExamples/evtgen.py
+
  mkdir workarea
 +
cd workarea
  
Запуск полного моделирования:
+
Директории для сборки и запуска
 
+
  mkdir build run
Перед запуском полного моделирования в текущей директории надо положить файл
+
taumugamma.root, с входными данными - частицы из первичного генератора
+
 
+
Этот файл можно взять, например, у Виталия: /home/vvorob/public/tuples/fccedm/taumugamma.root
+
 
+
  ctaurun G4SimExamples/fullsim_example.py
+
 
+
 
+
3. Для разработки нового или модификации существующего кода нужны следующие
+
действия:
+
 
+
Возвращаемся в workarea.
+
  
 
Подготовка рабочей директории (делается один раз):
 
Подготовка рабочей директории (делается один раз):
Line 80: Line 56:
  
 
Подготовка рабочей тематической ветки, эта ветка будет видна другим людям, поэтому название стоит выбирать говорящим и осмысленным
 
Подготовка рабочей тематической ветки, эта ветка будет видна другим людям, поэтому название стоит выбирать говорящим и осмысленным
  git checkout -b MyDevelopmentBranch upstream/0.1 --no-track
+
  git checkout -b <TopicDevelopmentBranch> upstream/<target_branch> --no-track
  
Если хотим модифицировать существующий пакет, то
 
  
Добавим пакеты из репозитория
+
'''Строчка выше намеренно сделана не рабочей при прямом копировании, выбор целевой ветки важный шаг, поэтому если вы не уверены куда предполагается вносить ваши изменения проконсультируйтесть с координаторами разработки ПО'''
 +
 
 +
 
 +
Для  модификации существующего пакета добавим его из репозитория
 
  git sctau addpkg GenExamples
 
  git sctau addpkg GenExamples
 
и/или
 
и/или
 
  git sctau addpkg G4SimExamples
 
  git sctau addpkg G4SimExamples
  
Если создаётся новый пакет, то надо создать всю структуру директорий, где он должен лежать, написать CMakeLists.txt и всё остальное, что нужно для нового  
+
Если создаётся новый пакет, то надо создать всю структуру директорий, где он должен лежать, написать CMakeLists.txt и всё остальное, что нужно для нового пакета.
пакета.
+
 
 +
''Перед созданием нового пакета проконсультируйтесть с координаторами разработки ПО на тему именования и размещения нового пакета''
  
 
Сборка
 
Сборка
Line 104: Line 83:
 
Запуск
 
Запуск
 
  cd ../run
 
  cd ../run
  ctaurun GenExamples/evtgen.py
+
 
 +
Запуск первичных генераторов моделирования:
 +
  ctaurun GenExamples/evtgen.py  
 +
 
 +
Запуск полного моделирования:
 +
 
 
  ctaurun G4SimExamples/fullsim_example.py
 
  ctaurun G4SimExamples/fullsim_example.py
  
 
[[Category:Not_public]][[Category:Software]]
 
[[Category:Not_public]][[Category:Software]]

Revision as of 20:22, 21 January 2019

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