Ðóêîâîäñòâî ïîëüçîâàòåëÿ
Ðàñøèðåíèå 1Ñ:ÑÏÏÐ: «Óïðàâëåíèå ñáîðêîé
GLI».1

Îãëàâëåíèå

Ðóêîâîäñòâî ïîëüçîâàòåëÿ Ðàñøèðåíèå 1Ñ:ÑÏÏÐ: «Óïðàâëåíèå ñáîðêîé GLI». 1

Íàçíà÷åíèå ïîäñèñòåìû 1

Ïîäñèñòåìà ïîçâîëÿåò: 1

Îãðàíè÷åíèÿ: 2

Ïîðÿäîê ïîäêëþ÷åíèÿ è íà÷àëà èñïîëüçîâàíèÿ: 2

Îáúåêòû ðàñøèðåíèÿ 4

Ñïðàâî÷íèê ÑÓÁÄ 4

Ïîä÷èíåííûé ñïðàâî÷íèê Ðàçìåùåíèÿ áàç íà ÑÓÁÄ 5

Ñïðàâî÷íèê Êëàñòåðû 1Ñ 5

Ñïðàâî÷íèê Èíôîðìàöèîííûå áàçû 5

Ñïðàâî÷íèê Ñáîðî÷íûå ëèíèè 9

Ñïðàâî÷íèê Òèïû ÑÓÁÄ 13

Ïîä÷èíåííûé ñïðàâî÷íèê Ïàêåòíûå çàäàíèÿ 14

Ñïðàâî÷íèê Àëãîðèòìû îïðåäåëåíèÿ ïåðåìåííûõ 15

Îò÷åò Ïîäãîòîâêà îïèñàíèÿ âåðñèè ïî òåõïðîåêòàì è îøèáêàì 17

Ðàñøèðåíèå îáúåêòîâ îñíîâíîé êîíôèãóðàöèè 19

Ñïðàâî÷íèê Îøèáêè 19

Ñïðàâî÷íèê Òåõíè÷åñêèå ïðîåêòû 21

Ñïðàâî÷íèê Âåòêè 22

Ïîä÷èíåííûé ñïðàâî÷íèê Ñáîðêè âåðñèè 22

Îáðàáîòêà Íàñòðîéêà óâåäîìëåíèé î ñáîðêàõ è ïîäêëþ÷åíèå ê GitLab API 23

Âàðèàíòû è îñîáåííîñòè ñöåíàðèåâ ó÷åòà èñïðàâëåíèÿ îøèáîê â ÑÏÏÐ ïðè èñïîëüçîâàíèè ðàñøèðåíèÿ «Óïðàâëåíèå ñáîðêîé GLI» 24

 âåòêå ñ òèïîì «Âåòêà äëÿ èñïðàâëåíèÿ îøèáîê»: 25

 âåòêå âåðñèè: 27

 âåòêå òåõíè÷åñêîãî ïðîåêòà 28

Ñöåíàðèè ñîçäàíèÿ âåòîê â Git è âçàèìîñâÿçü âåòîê Git ñ îäíîèìåííûì ñïðàâî÷íèêîì «Âåòêè» â ÑÏÏÐ. 28

Ñîçäàíèå âåòîê èç ÑÏÏÐ 28

Ñîçäàíèå âåòîê â ÑÏÏÐ ïðè ïåðâè÷íîì ïîìåùåíèè âåòêè â óäàëåííîå õðàíèëèùå 28



Íàçíà÷åíèå ïîäñèñòåìû

Ïîäñèñòåìà ïðåäíàçíà÷åíà äëÿ óïðîùåíèÿ ðóòèííûõ îïåðàöèé â ÷àñòè âûïóñêà íîâûõ ðåëèçîâ ñèñòåìû è ïîääåðæêè ñáîðî÷íûõ ëèíèé Gitlab CI/CD â àêòóàëüíîì ñîñòîÿíèè. Ïîäñèñòåìà ðàññ÷èòàíà èñêëþ÷èòåëüíî íà êëèåíò - ñåðâåðíóþ àðõèòåêòóðó òåñòîâûõ ÈÁ. Èñïîëüçóåò ñèñòåìó âçàèìîäåéñòâèÿ äëÿ îïîâåùåíèÿ ïîëüçîâàòåëåé î ðåçóëüòàòàõ ñáîðîê, ñîçäàíèè âåòîê èñïðàâëåíèÿ îøèáîê è òåõíè÷åñêèõ ïðîåêòîâ â Git, óâåäîìëåíèÿ î ïðîáëåìàõ ïðèíÿòèÿ çàïðîñîâ íà ñëèÿíèå. Áåç ñèñòåìû âçàèìîäåéñòâèÿ ôóíêöèîíàëüíîñòü áóäåò ñèëüíî îãðàíè÷åíà. Îäíàêî ñóùåñòâóåò âîçìîæíîñòü èñïîëüçîâàíèÿ ñèñòåìû â ðåæèìå, êîòîðûé èñïîëüçóåòñÿ ïî óìîë÷àíèþ â ñèñòåìå êàê ðåçåðâíûé — ïîñðåäñòâîì îòïðàâêè óâåäîìëåíèé íà ýëåêòðîííóþ ïî÷òó ïîëüçîâàòåëåé. Ïîäñèñòåìà àâòîìàòè÷åñêè ïåðåêëþ÷àåòñÿ â ðåçåðâíûé ðåæèì ïðè îòñóòñòâèè âîçìîæíîñòè îòîñëàòü óâåäîìëåíèå ÷åðåç ñèñòåìó âçàèìîäåéñòâèÿ (âêëþ÷àÿ è âàðèàíò, êîãäà ñèñòåìà âçàèìîäåéñòâèÿ îòêëþ÷åíà) è âîññòàíàâëèâàåò ðàññûëêó ÷åðåç ÑÂ, ïðè âîññòàíîâëåíèè ñîåäèíåíèÿ ñ ñåðâåðîì âçàèìîäåéñòâèÿ.


Ïîäñèñòåìà ïîçâîëÿåò:



Îãðàíè÷åíèÿ:



Ïîðÿäîê ïîäêëþ÷åíèÿ è íà÷àëà èñïîëüçîâàíèÿ:

Ïîäêëþ÷åíèå è íàñòðîéêà

Èíèöèàëèçàöèÿ ðàçðàáîòêè ïåðâîé âåðñèè ñèñòåìû





Îïèñàíèå ïðîöåññà ðàáîòû ñ ïîäñèñòåìîé

Ïðîöåññ ñîçäàíèÿ èëè ìîäèôèêàöèè ñóùåñòâóþùåé ñèñòåìû ïðåäñòàâëÿåò ñîáîé ïîñëåäîâàòåëüíîñòü îäíîòèïíûõ ïðîöåññîâ, êîòîðûå ìîæíî ðàçäåëèòü íà äâà îñíîâíûõ ïðîöåññà:

Ïðîöåññû ðàáîòû îøèáêàìè è òåõíè÷åñêèìè ïðîåêòàìè îïèñàíû â ðóêîâîäñòâå ïîëüçîâàòåëÿ ÑÏÏÐ

Ïîìèìî äâóõ îñíîâíûõ ïðîöåññîâ ñóùåñòâóþò ïðîöåññû:

Фигура3

* Àíàëîãè÷íûå ïóíêòû ïðèñóòñòâóþò â àäàïòèðîâàííûõ ôîðìàõ ýëåìåíòîâ ñïðàâî÷íèêîâ:

** ×àñòíîå òåõíè÷åñêîå çàäàíèå

*** Ïðè íåäîñòóïíîñòè ñèñòåìû âçàèìîäåéñòâèÿ, âêëþ÷àÿ å¸ ïîëíîå îòêëþ÷åíèå èñïîëüçóåòñÿ àâòîìàòè÷åñêè ðåçåðâíûé ðåæèì ðàññûëêè óâåäîìëåíèé íà ýëåêòðîííóþ ïî÷òó, óêàçàííóþ â íàñòðîéêàõ ïîëüçîâàòåëåé ÑÏÏÐ. Ñîîáùåíèÿ íà ýëåêòðîííóþ ïî÷òó ïîëíîñòüþ ôóíêöèîíàëüíû, è ïîçâîëÿþò òàê æå îòêðûâàòü ïî ññûëêàì îáúåêòû ÑÏÏÐ, èñïîëüçóÿ â êà÷åñòâå ññûëîê âíåøíèå íàâèãàöèîííûå ññûëêè íà îáúåêòû ÑÏÏÐ. Äëÿ îòêðûòèÿ òàêèõ ññûëîê èç ïèñåì èç ïî÷òîâûõ ïðîãðàìì â Windows íåîáõîäèìî óñòàíîâèòü ðàñøèðåíèå â ðååñòð âíåñòè äîïîëíåíèå:
REGEDIT4

HKEY_CLASSES_ROOT\e1c]
@="URL:e1c Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\e1c\DefaultIcon]
@="\"C:\\Program Files (x86)\\1cv82\\common\\1cestart.exe\""

[HKEY_CLASSES_ROOT\e1c\shell]

[HKEY_CLASSES_ROOT\e1c\shell\open]

[HKEY_CLASSES_ROOT\e1c\shell\open\command]
@="\"C:\\Program Files (x86)\\1cv82\\common\\1cestart.exe\" /url \"%1\""


Îáúåêòû ðàñøèðåíèÿ

Ñïðàâî÷íèê ÑÓÁÄ

Ïðåäíàçíà÷åí äëÿ îïèñàíèÿ ÑÓÁÄ, èñïîëüçóåìûõ ïðè ñáîðêå èíôîðìàöèîííûõ áàç.


Èìÿ ñåðâåðà ÑÓÁÄ: íàèìåíîâàíèå, ïî êîòîðîìó èäåíòèôèöèðóåòñÿ èìåííî ýòîò ñåðâåð ÑÓÁÄ â ñêðèïòàõ, íàïðèìåð â sqlcmd äëÿ ñåðâåðà òèïà MS-SQL.

Òèï ÑÓÁÄ: ýëåìåíò ñïðàâî÷íèêà "Òèïû ÑÓÁÄ" îïèñûâàþùåãî îñíîâíûå è äîïîëíèòåëüíûå àëãîðèòìû äëÿ ðàáîòû ñ âûáðàííûì òèïîì ñåðâåðà ÑÓÁÄ

Èìÿ ïîëüçîâàòåëÿ, Ïàðîëü: ëîãèí è ïàðîëü ñóïåðâèçîðà íà ñåðâåðå, ëèáî ëîãèí è ïàðîëü, äîïóñêàþùèé îñíîâíûå äåéñòâèÿ: ñîçäàíèå/óäàëåíèå, àðõèâèðîâàíèå/âîññòàíîâëåíèå, ïîëó÷åíèå èíôîðìàöèè îá èíôîðìàöèîííûõ áàçàõ íà óêàçàííîì â èìåíè ñåðâåðà.

Êîäèðîâêà âûâîäà: â ïîäñèñòåìå èñïîëüçóåòñÿ îáðàùåíèå ê óòèëèòàì êîìàíäíîé ñòðîêè äëÿ âûïîëíåíèÿ ìàíèïóëÿöèé ñ ÈÁ, äëÿ ïðàâèëüíîé èíòåðïðåòàöèè ðåçóëüòàòîâ ñ êèðèëëèöåé íóæíî óêàçàòü â êàêîì ôîðìàòå êîìàíäíàÿ ñòðîêà âîçâðàùàåò òåêñòîâûé âûâîä. Íàïðèìåð, sqlcmd, çàïóñêàåìûé â Windows èç êîìàíäíîãî ïðîöåññîðà CMD èñïîëüçóåò êîäèðîâêó DOS OEM 866.

Ëîêàëüíûé êàòàëîã äëÿ ñîçäàíèÿ àðõèâîâ: ìîæåò èñïîëüçîâàòüñÿ â ñêðèïòàõ äëÿ ïîëó÷åíèÿ êàòàëîãà ïî óìîë÷àíèþ.

Ïóòü ê ïåðåìåííîé: Ïàðàìåòðû.ÈÁ.ÑÓÁÄ.ËîêàëüíûéÊàòàëîãÄëÿÀðõèâîâ

Îáùèé êàòàëîã íà ñåòåâîì ðåñóðñå äëÿ àðõèâîâ: ìîæåò áûòü ïîëåçåí åñëè èñïîëüçóþòñÿ ðàçíûå ÑÓÁÄ äëÿ ïðîäóêòèâíîãî è òåñòîâîãî êîíòóðîâ, è ìåæäó íèìè òðåáóåòñÿ äåëàòü ïåðåìåùåíèå êîïèé ÈÁ. Âñå ñåðâåðà ÑÓÁÄ äîëæíû èìåòü âîçìîæíîñòü ñîçäàâàòü è âîññòàíàâëèâàòü àðõèâû ñ ýòîãî ðåñóðñà.
Ïóòü ê ïåðåìåííîé: 
Ïàðàìåòðû.ÈÁ.ÑÓÁÄ.ÎáùèéÊàòàëîãÍàÑåòåâîìÐåñóðñåÄëÿÀðõèâîâ

Íå îïðàøèâàòü äîñòóïíîñòü ÑÓÁÄ: èñïîëüçóåòñÿ â òåõ ñëó÷àÿõ, êîãäà íåêîòîðûå ÑÓÁÄ íå äîñòóïíû ñåðâåðó ÑÏÏÐ, íî ê êîòîðûì åñòü äîñòóï ñ áåãóíîâ (runners) GitLab.  ýòîì ñëó÷àå ñ ñïèñêå èíôîðìàöèîííûõ áàç òàêèå ÈÁ áóäóò îòìå÷åíû êàê íåäîñòóïíûå.


Ïîä÷èíåííûé ñïðàâî÷íèê Ðàçìåùåíèÿ áàç íà ÑÓÁÄ

Ïîä÷èíåííûé ñïðàâî÷íèêó ÑÓÁÄ, îïðåäåëÿþùèé ôèçè÷åñêîå ðàñïîëîæåíèå âíóòðè ñåðâåðà äëÿ õðàíåíèÿ ôàéëîâ äàííûõ è æóðíàëîâ òðàíçàêöèé
Ïîëíîå èìÿ êàòàëîãà íóæíî óêàçûâàòü îáÿçàòåëüíî ñ çàêðûâàþùèì ñëåøåì "\" èëè "/" äëÿ ïóòåé â ôîðìàòå
Linux.

Ïðèìåðû: çàïîëíåíèÿ:
W:\SQLData\

/var/lib/pgpro/1c-11/data/base/


Ñïðàâî÷íèê Êëàñòåðû 1Ñ

Ñïðàâî÷íèê ïðåäíàçíà÷åí äëÿ õðàíåíèÿ èíôîðìàöèè î êëàñòåðàõ 1Ñ, íà êîòîðûõ ðàçìåùàþòñÿ èíôîðìàöèîííûå áàçû.

Èìÿ êëàñòåðà íåîáõîäèìî ââîäèòü â ëèáî ôîðìàòå FDQN, ëèáî â êðàòêîì ôîðìàòå, óêàçûâàÿ òîëüêî èìÿ ñåðâåðà, ïðè íåîáõîäèìîñòè äîïîëíÿÿ åãî íîìåðîì ïîðòà, åñëè êëàñòåð ðàçìåù¸í íå íàñ ñòàíäàðòíîì ïîðòó.


Ïðèìåðû êîððåêòíûõ íàèìåíîâàíèé:

1. MyServer.MyDomain.MyZone (FDQN)

2. MyServer ñîêðàùåííîå, òîëüêî èìÿ ñåðâåðà

3. MyServer:1641 - èìÿ ñ óêàçàíèåì ïîðòà


Ðåëèç: Èñïîëüçóåìàÿ âåðñèÿ â êëàñòåðå – ñïðàâî÷íîå çíà÷åíèå, âî âñòðîåííûõ àëãîðèòìàõ íå èñïîëüçóåòñÿ, ìîæåò èñïîëüçîâàòüñÿ â àëãîðèòìàõ îïðåäåëåíèÿ ïåðåìåííûõ.

Èìÿ àäìèíèñòðàòîðà: Èìÿ àäìèíèñòðàòîðà êëàñòåðà

Ïàðîëü àäìèíèñòðàòîðà: Ïàðîëü àäìèíèñòðàòîðà êëàñòåðà


Äëÿ âûïîëåíèÿ íåêîòðûõ ôóíêöèé ðàñøèðåíèþ íåîáõîäèìà ñâÿçü ñ ñåðâåðîì àäìèíèñòðèðîâàíèÿ êëàñòåðîâ, âõîäÿùèõ â ïåðèìåòð ïðîåêòà.

Äîñòóïíûå ôóíêöèè â àëãîðèòìàõ ïîäãîòîâêè ïåðåìåííûõ è ðàçáîðà ðåçóëüòàòà ñïðàâî÷íèêà "Ïàêåòíûå çàäàíèÿ":
GLI_ÀäìèíèñòðèðîâàíèåÊëàñòåðà.ÏóñòîéÑïèñîêÑåàíñîâ(ÈÁ), âîçâðàùàåò Èñòèíà, åñëè íåò ñåàíñîâ ñ ÈÁ.

GLI_ÀäìèíèñòðèðîâàíèåÊëàñòåðà.ÑîçäàòüÈÁÂÊëàñòåðå(ÈÁ), ñîçäà¸ò áàçó â êëàñòåðå, åñëè îíà íå ñîçäàíà. Äëÿ ñîçäàíèÿ ÈÁ èñïîëüçóþòñÿ íàèìåíîâàíèÿ èç ïåðåäàííîãî ýëåìåíòà ñïðàâî÷íèêà "Èíôîðìàöèîííûå áàçû". Âîçâðàùàåò Èñòèíà - óäà÷íî, èëè íå òðåáóåòñÿ ñîçäàíèå, Ëîæü - åñëè ñîçäàíèå çàêîí÷èëîñü íåóäà÷åé. Ïðè÷èíû íåóäà÷è ñîîáùàþòñÿ â ñîîáùåíèè. Áàçà ñîçäà¸òñÿ ñ ðàñ÷åòîì, ÷òî íà ñåðâåðå ÑÓÁÄ óæå ïðèñóòñòâóåò îäíîèìåííàÿ ÈÁ. Åñëè íà ñåðâåðå ÑÓÁÄ áàçà íå ñóùåñòâóåò, áóäåò âûäàíî ñîîáùåíèå îá îøèáêå.

GLI_ÀäìèíèñòðèðîâàíèåÊëàñòåðà.ÓäàëèòüÈÁÂÊëàñòåðå(ÈÁ), óäàëÿåò áàçó â êëàñòåðå, âîçâðàùàåò Èñòèíà, åñëè óäàëåíèå ïðîøëî óñïåøíî, Ëîæü, åñëè óäàëèòü áàçó íå ïîëó÷èëîñü. Áàçà èç êëàñòåðà óäàëÿåòñÿ áåç óäàëåíèÿ ñ ñåðâåðà ÑÓÁÄ.

GLI_ÀäìèíèñòðèðîâàíèåÊëàñòåðà.Ïîëó÷èòüÁàçóÂÊëàñòåðå(ÈÁ), âîçâðàùàåò îáúåêò ÀäìèíèñòðèðîâàíèåÈíôîðìàöèîííàÿÁàçà ëèáî Íåîïðåäåëåíî ïðè îøèáêå

GLI_ÀäìèíèñòðèðîâàíèåÊëàñòåðà.Ïîëó÷èòüÊëàñòåð(ÈÁ), âîçâðàùàåò îáúåêò ÀäìèíèñòðèðîâàíèåÊëàñòåð ëèáî Íåîïðåäåëåíî ïðè îøèáêå


Ïàðàìåòð ÈÁ - ññûëêà íà ýëåìåíò ñïðàâî÷íèêà "Èíôîðìàöèîííûå áàçû"


Ñåðâåð RAS: èìÿ ñåðâåðà àäìèíèñòðèðîâàíèÿ

Ïîðò RAS: íîìåð ïîðòà ñåðâåðà àäìèíèñòðèðîâàíèÿ


Ñïðàâî÷íèê Èíôîðìàöèîííûå áàçû

Èíôîðìàöèîííûå áàçû, ìåõàíèçì, ïîçâîëÿþùèé õðàíèòü èíôîðìàöèþ î ñîáèðàåìûõ è/èëè òåñòèðóåìûõ áàçàõ â êîíòóðå CI. 

Íà êîðíåâîì óðîâíå ðàçìåùàåòñÿ èíôîðìàöèÿ îá ýòàëîííûõ èíôîðìàöèîííûõ áàçàõ, êîòîðûå ìîãóò èìåòü ðàçíîå íàïîëíåíèå, íî îíè ÿâëÿþòñÿ îñíîâîé äëÿ äðóãèõ èíôîðìàöèîííûõ áàç, ïåðâîãî, âòîðîãî è äàëåå óðîâíåé, êîòîðûå ïî ñóòè ÿâëÿþòñÿ êîïèÿìè ýòàëîííûõ áàç. 

Êàæäàÿ èíôîðìàöèîííàÿ áàçà (ÈÁ) ïðèâÿçûâàåòñÿ ê ñâîåìó îáúåêòó ñáîðêè:

 ñâîþ î÷åðåäü, îñíîâíûå îáúåêòû ñáîðêè: òåõíè÷åñêèå ïðîåêòû è îøèáêè, ïðèâÿçûâàþòñÿ ê âåòêàì, â êîòîðûõ ïðîèçâîäèòñÿ ðàçðàáîòêà èëè èñïðàâëåíèå îøèáîê.


Îäíîé èç âàæíûõ îñîáåííîñòüþ ñïèñêà èíôîðìàöèîííûõ áàç
 ÿâëÿåòñÿ âîçìîæíîñòü îòñëåæèâàòü äîñòóïíîñòü èíôîðìàöèîííûõ áàç, äëÿ ýòîãî íåîáõîäèìî íàñòðîèòü äëÿ ÑÓÁÄ (ñì. Ñïðàâî÷íèê "Òèïû ÑÓÁÄ") ñêðèïò ïîëó÷åíèÿ ñïèñêà èíôîðìàöèîííûõ áàç ñ ñåðâåðà. 

Ïðèìåð ñêðèïòà äëÿ MS SQL: sqlcmd -S ~!ServerName -U ~!UserName -P ~!Password -h -1 -b -Q "SELECT name FROM master.dbo.sysdatabases", ãäå ServerName, UserName, Password - ïåðåìåííûå. îïèñàííûå â ñïðàâî÷íèêå "Àëãîðèòû îïðåäåëåíèÿ ïåðåìåííûõ":

ServerName

Ïàðàìåòðû.ÈÁ.ÑÓÁÄ.Íàèìåíîâàíèå

UserName

Ïàðàìåòðû.ÈÁ.ÑÓÁÄ.ÈìÿÏîëüçîâàòåëÿ

Password

Ïàðàìåòðû.ÈÁ.ÑÓÁÄ.Ïàðîëü


Ðåçóëüòàò òàêîãî çàïðîñà ÿâëÿåòñÿ ïðîñòîé ñïèñîê ÈÁ íà ñåðâåðå ÑÓÁÄ. Ïîëó÷åííûå èìåíà ÈÁ ñîïîñòàâëÿþòñÿ ñ ðåêâèçèòîì "Ïîëíîå èìÿ" ýëåìåíòîâ ñïðàâî÷íèêà ÈÁ.

Ïðè âûâîäå äåðåâà èíôîðìàöèîííûå áàçû, êîòîðûå ôèçè÷åñêè ïðèñóòñòâóþò íà ñåðâåðå ÑÓÁÄ ìàðêèðóþòñÿ ïîëåì "Äîñòóïíîñòü", äëÿ íåäîñòóïíûõ (òåõ áàçàõ, êîòîðûå ïðèñóòñòâóþò â ñïðàâî÷íèêå, íî îòñóòñòâóþò â ÑÓÁÄ) Äîñòóïíîñòü áóäåò ðàâíî Ëîæü.

Ñîñòàâ ðåêâèçèòîâ êîðíåâîãî ýëåìåíòà è ïîä÷èí¸ííûõ ýëåìåíòîâ íåìíîãî îòëè÷àåòñÿ, íî â öåëîì îäèíàêîâ:

Íàèìåíîâàíèå ðåêâèçèòà

Íàçíà÷åíèå äëÿ êîðíåâîãî ýëåìåíòà

Íàçíà÷åíèå äëÿ ïîä÷èíåííîãî ýëåìåíòà

Ïðèìå÷àíèå

Îñíîâíîå

Íàñëåäóåìàÿ ÈÁ

-

ÈÁ, ñ êîòîðîé áûëà ïîëó÷åíà êîïèÿ

 íåêîòîðûõ ñëó÷àÿõ ìîæíî "Ñêîïèðîâàòü [áàçó] èç ðîäèòåëÿ", çàòåì ïåðåïîä÷èíèòü å¸ äðóãîé. Âðó÷íóþ ðåêâèçèò íå ðåäàêòèðóåòñÿ, èñïîëüçóåòñÿ øòàòíûé ïåðåíîñ drag & drop.

Íàñòðîéêà ñáîðêè

Îñíîâíîé îáúåêò ñáîðêè

Ññûëêà íà ýëåìåíò ñïðàâî÷íèêà Âåòêè ñ òèïîì "Îñíîâíàÿ âåòêà ïðîåêòà" èëè "Âåòêà âåðñèè" 

Äëÿ ïåðâîãî óðîâíÿ: ññûëêà íà âåòêó âåðñèè
Äëÿ âòîðîãî óðîâíÿ: ññûëêà íà òåõíè÷åñêèé ïðîåêò, îøèáêó, èëè îáùóþ âåòêó òåñòèðîâàíèÿ.

Îáùàÿ âåòêà òåñòèðîâàíèÿ - ñïåöèàëüíûé ìåõàíèçì, âìåñòå ñ ïðèâÿçàííîé ê íåé ÈÁ äëÿ òåñòèðîâàíèÿ ïîçâîëÿåò â óäîáíîé ôîðìå ïîääåðæèâàòü ñöåíàðèè òåñòèðîâàíèÿ è èñïðàâëåíèÿ îøèáîê, ïîäðîáíåå ñì. Ñïðàâî÷íèê "Âåòêè"

Çàìåùàåòñÿ ïðè ñáîðêå

-

Ïåðåä ñáîðêîé èíôîðìàöèîííîé áàçû, áàçà áóäåò ñêîïèðîâàíà èç ðîäèòåëüñêîé

Óäîáíî, êîãäà ðîäèòåëüñêàÿ áàçà ñîäåðæèò òåñòîâûå ïðèìåðû ñ îøèáêàìè, íàïðèìåð êîïèÿ ïðîäóêòèâíîé áàçû èëè ýòî áàçà ïðîòîòèïà (ìîäåëèðîâàíèÿ), â ýòîì ñëó÷àå îøèáî÷íàÿ ñèòóàöèÿ, ïðèñóòñòâóþùàÿ â ðîäèòåëüñêîé áàçå ïîñëå ñáîðêè áàçû èñïðàâëåíèÿ îøèáêè, êîòîðàÿ ïîä÷èíåíà ðîäèòåëüñêîé, äîëæíà îòñóòñòâîâàòü. Ïðè ýòîì ïîñëå ñáîðêè áàçû áóäóò ñîäåðæàòü èäåíòè÷íûå òåñòîâûå äàííûå.

Âàæíî - íå ñëåäóåò â òàêèõ "Çàìåùàåìûõ" áàçàõ ñîçäàâàòü è õðàíèòü êàêèå-òî êîíòðîëüíûå ïðèìåðû, òàê êàê îíè áóäóò óíè÷òîæåíû ïðè î÷åðåäíîé ñáîðêå.

Íå ñîáèðàòü

Ïðè íàñòóïëåíèè ñîáûòèÿ ñáîðêè (ôèêñàöèè èçìåíåíèé â âåòêó, èëè ïî ðàñïèñàíèþ) ÈÁ íå áóäåò îáíîâëåíà èçìåíåíèÿìè â ñâÿçàííîé ñ îáúåêòîì ñáîðêè âåòêîé Git. 

Óäîáíî äëÿ äîëãîæèâóùèõ ñòåíäîâ, íàïðèìåð äëÿ áàç òåñòèðîâàíèÿ èíòåãðàöèè. Ïî îêîí÷àíèè ðàçðàáîòêè ìîæíî íàïîëíèòü ÈÁ òåñòîâûìè ïðèìåðàìè, è äàòü êîëëåãàì ñ íåþ ðàáîòàòü, ïðè ýòîì ÈÁ ãàðàíòèðîâàííî íå áóäåò èçìåíåíà. Ïðè íåîáõîäèìîñòè ìîæíî â ëþáîé ìîìåíò ïîäêëþ÷èòüñÿ ê òàêîé ÈÁ â îòëàäêå, íàïðèìåð, ÷òîáû ðàññëåäîâàòü ïðîáëåìíûå ñèòóàöèè.

Òàáëè÷íàÿ ÷àñòü "Äîïîëíèòåëüíûå îáúåêòû ñáîðêè"

Òàáëè÷íàÿ ÷àñòü ïðåäíàçíà÷åíà äëÿ õðàíåíèÿ ññûëîê íà îáúåêòû ñáîðêè ïîëó÷åííûå â ñâÿçàííîé ñ îáúåêòîì ñáîðêè âåòêå ÷åðåç çàïðîñû íà ñëèÿíèå. Ìåõàíèçì â îñíîâíîì ïðåäíàçíà÷åí äëÿ îòîáðàæåíèÿ áàç â îáúåêòàõ ñáîðêè (òåõïðîåêòû è èñïðàâëåíèÿ îøèáîê), â êîòîðûõ ìîæíî ïîñìîòðåòü ðàçðàáàòûâàåìûé ôóíêöèîíàë èëè èñïðàâëåíèå îøèáêè. Äîñòóïíî ïî íàâèãàöèîííîé ññûëêå "Èíôîðìàöèîííûå áàçû" ó îáúåêòîâ ñáîðêè.

Ôîðìèðîâàíèå íàèìåíîâàíèÿ ÈÁ

Ïîëíîå íàèìåíîâàíèå

Çàïîëíÿåòñÿ âðó÷íóþ, ñîäåðæèò èìÿ ýòàëîííîé ÈÁ.

Ôîðìèðóåòñÿ àâòîìàòè÷åñêè, èç èìåíè èëè ïñåâäîíèìà êîðíåâîé áàçû . èìÿ âåòêè îáúåêòà ñáîðêè . ïðîèçâîëüíûé ñóôôèêñ 

Äîëæíî áûòü òàêèì æå, êàê è íà ñåðâåðå ÑÓÁÄ, åñëè èçìåíèòü èìÿ òîëüêî â ñïðàâî÷íèêå, áàçà ñòàíåò íå äîñòóïíîé (ñì. îïèñàíèå ìåõàíèçìà âûøå)

Ïñåâäîíèì äëÿ êëîíîâ

Çàïîëíÿåòñÿ âðó÷íóþ

-

Èñïîëüçóåòñÿ äëÿ àâòîìàòè÷åñêîãî ôîðìèðîâàíèÿ íàèìåíîâàíèÿ ÈÁ. 
Íàïðèìåð, åñëè êîðíåâàÿ áàçà èìååò Ïîëíîå èìÿ "MainDB"  íå èìååò ïñåâäîíèìà, à îáúåêò ñáîðêè ïðèâÿçàí ê âåòêå 
"TP/00-00000077", è ñóôôèêñ íå çàïîëíåí òî àâòîìàòè÷åñêîå èìÿ ïîä÷èíåííîé áóäåò "MainDB.TP.00-00000077"

Íàèìåíîâàíèå êîðíåâîé ÈÁ

-

Íå èçìåíÿåòñÿ, îïðåäåëÿåòñÿ ïî öåïî÷êå ðîäèòåëüñêèõ ÈÁ.

Çàïîëíÿåòñÿ ïñåâäîíèìîì äëÿ êëîíîâ (ñì. íèæå) ïðè åãî îòñóòñòâèè Ïîëíûì èìåíåì êîðíåâîé ÈÁ.

Âåòêà (íà ôîðìå çàãîëîâîê ñêðûò)

-

Çàïîëíÿåòñÿ àâòîìàòè÷åñêè ññûëêîé íà âåòêó ïðè âûáîðå îáúåêòà ñáîðêè, ñâÿçàííîãî ñ âåòêîé ðàçðàáîòêè, èñïðàâëåíèÿ îøèáêè, ëèáî íåïîñðåäñòâåííî ê âåòêå âåðñèè.

Äëÿ êîðíåâîãî ýëåìåíòà ïîëå ñêðûòî.

Ñóôôèêñ èìåíè

-

Çàïîëíÿåòñÿ âðó÷íóþ, òðåáóåòñÿ, åñëè ê îäíîìó îáúåêòó ñáîðêè íåîáõîäèìî äâå èëè áîëåå òåñòîâûõ ÈÁ.

Íàïðèìåð "MainDB.TP.00-00000077.ThisYear" è "MainDB.TP.00-00000077.LastYear"

Íàñòðîéêè ÈÁ - ñåêöèÿ ñêðûòà ïî óìîë÷àíèþ äëÿ ïîä÷èíåííûõ ÈÁ, âèäèìîñòü ìîæíî âêëþ÷èòü ïàðàìåòðîì íèæå

Èíäèâèäóàëüíûå ïàðàìåòðû ÈÁ

-

Âêëþ÷àåò âèäèìîñòü ñåêöèè Íàñòðîéêè ÈÁ äëÿ ïîä÷èíåííîé áàçû

Ïðè ñîçäàíèè ïîä÷èí¸ííîé ÈÁ ïîëÿ íèæå êîïèðóþòñÿ èç ðîäèòåëüñêîé áàçû.

Ïîëüçîâàòåëü

Îïðåäåëÿåò èìÿ ïîëüçîâàòåëÿ ÈÁ â êëàñòåðå 1Ñ, ýòîò ïîëüçîâàòåëü äîëæåí îáëàäàòü àäìèíèñòðàòèâíûìè ïðèâèëåãèÿìè 

Ïàðîëü

Ïàðîëü ïîëüçîâàòåëÿ ÈÁ â êëàñòåðå

Êëàñòåð

Ýëåìåíò ñïðàâî÷íèêà "Êëàñòåðû 1Ñ", â êîòîðîì õðàíÿòñÿ ïàðàìåòðû êëàñòåðà 1Ñ, â êîòîðîì ðàçìåùåíà ÈÁ.

ÑÓÁÄ

Ýëåìåíò ñïðàâî÷íèêà "ÑÓÁÄ", â êîòîðîì õðàíÿòñÿ íàñòðîéêè äîñòóïà è ïàðàìåòðû ÑÓÁÄ, â êîòîðîé áóäåò õðàíèòüñÿ ÈÁ

Êàòàëîã ÑÓÁÄ

Ýëåìåíò ñïðàâî÷íèêà "Ðàçìåùåíèÿ áàç íà ÑÓÁÄ", ïîä÷èí¸í ñïðàâî÷íèêó "ÑÓÁÄ". Ñîäåðæèò ññûëêó íà êàòàëîã ñåðâåðà ÑÓÁÄ, ãäå áóäóò ôèçè÷åñêè õðàíèòüñÿ ôàéëû ÈÁ

Òàáëè÷íàÿ ÷àñòü "Äîïîëíèòåëüíûå ïåðåìåííûå"

Ïåðåìåííàÿ

Ñëóæèò äëÿ îáîçíà÷åíèÿ èìåíè ïåðåìåííûõ, èñïîëüçóåìûõ â ñêðèïòàõ êîíâåéåðà è ïàêåòíûõ ôàéëàõ

Ìîæíî çàäàâàòü ëþáûå èäåíòèôèêàòîðû, ïî ïðàâèëó ðåãóëÿðíûõ âûðàæåíèé [A-Za-zÀ-ßà-ÿ0-9_]+

Àëãîðèòì ïîëó÷åíèÿ

Âûðàæåíèå íà âñòðîåííîì ÿçûêå 1Ñ, âûïîëíÿåòñÿ â áåçîïàñíîì ðåæèìå.

 êîíòåêñòå âûðàæåíèÿ Ñòðóêòóðà Ïàðàìåòðû, èìåþùàÿ òðè ïîëÿ: ÈÁ - ññûëêà íà òåêóùèé ýëåìåíò ñïðàâî÷íèêà "Èíôîðìàöèîííûå áàçû", Ýòàï - èìÿ òåêóùåãî ýòàïà (Stage) êîíâåéåðà ñòðîêîé, Ñáîðî÷íàÿËèíèÿ - ññûëêà íà ýëåìåíò ñïðàâî÷íèêà "Ñáîðî÷íûå ëèíèè", ðåçóëüòàò âûðàæåíèÿ ìîæåò áûòü ñòðîêîé, ëèáî òèïîì, äîïóñêàþùèì íåÿâíîå ïðåîáðàçîâàíèå â ñòðîêó.

Êíîïêà "Çàïîëíèòü äîïîëíèòåëüíûå ïåðåìåííûå"

Çàïóñêàåò àëãîðèòì ñêðèïò, óêàçàííûé íà çàêëàäêå "Èíôîðìàöèÿ îá ÈÁ" ñïðàâî÷íèêà "Òèïû ÑÓÁÄ" ñêðèïò, íàïðèìåð sqlcmd -S ~!ServerName -U ~!UserName -P ~!Password -u -s "~!Delimiters" -h -1 -d ~!DBName -b -Q "SELECT type,name,physical_name FROM sys.database_files" äîëæåí âîçâðàùàòü òåêñò, äàëåå òåêñò ïåðåäà¸òñÿ â àëãîðèòì ðàçáîðà íà âñòðîåííîì ÿçûêå 1Ñ, êîòîðûé îáðàáàòûâàåò ïîëó÷åííûé òåêñò è èçâëåêàåò èç íåãî íåîáõîäèìûå äîïîëíèòåëüíûå ïåðåìåííûå èíôîðìàöèîííîé áàçû, íàïðèìåð äëÿ ÈÁ MS-SQL âàæíûìè äîïîëíèòåëüíûìè õàðàêòåðèñòèêàìè ÿâëÿþòñÿ ëîãè÷åñêèå èìåíà ôàéëîâ äàííûõ è ëîãà òðàíçàêöèé, à òàê æå ôèçè÷åñêèé ïóòü õðàíåíèÿ äàííûõ ôàéëà ñ äàííûìè è æóðíàëà òðàíçàêöèé. Ýòè ïàðàìåòðû íåîáõîäèìû äëÿ êîððåêòíîãî àâòîìàòèçèðîâàííîãî êîïèðîâàíèÿ ÈÁ, íàïðèìåð äëÿ ôóíêöèè "Ñêîïèðîâàòü èç ðîäèòåëÿ"



Ïåðåä êîïèðîâàíèåì ÈÁ ôóíêöèåé "Ñêîïèðîâàòü èç ðîäèòåëÿ" ìîæíî ïîìåíÿòü ó ïðè¸ìíîé áàçû: Êëàñòåð, ÑÓÁÄ, Êàòàëîã ÑÓÁÄ.  ýòîì ñëó÷àå áàçà áóäåò ñêîïèðîâàíà è ðàçìåùåíà íà äðóãîé ÑÓÁÄ è â äðóãîì êëàñòåðå. Ýòî óäîáíî, êîãäà ïðîåêò ÈÁ íàõîäÿòñÿ â ðàçíûõ êîíòóðàõ ïðîåêòà (Ïðîäóêòèâíûé, Òåñòîâûé êîíòóð, Êîíòóð ðàçðàáîòêè).

Ïðè ðó÷íîì ïåðåíîñå èíôîðìàöèîííîé áàçû â äðóãîå ìåñòîðàñïîëîæåíèå, íåîáõîäèìî âðó÷íóþ óêàçàòü êîíå÷íûé êëàñòåð 1Ñ è ÑÓÁÄ, äàëåå çàïîëíèòü äîïîëíèòåëüíûå ïåðåìåííûå, êàòàëîã ÑÓÁÄ áóäåò ñêîððåêòèðîâàí àâòîìàòè÷åñêè.

Äëÿ òîëñòîãî êëèåíòà ÓÔ â ôîðìå ñïèñêà (äåðåâà) äîïîëíèòåëüíî îòîáðàæàþòñÿ îïåðàòèâíûå ïàðàìåòðû ÈÁ â êëàñòåðå: 

Äëÿ îïðåäåëåíèÿ ïàðàìåòðîâ èñïîëüçóþòñÿ íàñòðîéêè ñåðâåðà RAS äëÿ êëàñòåðà. 

Êíîïêà - êîìàíäà "Óñòàíîâèòü ïîëüçîâàòåëÿ è ïàðîëü" ïîçâîëÿåò óñòàíîâèòü âûáðàííûå èìÿ ïîëüçîâàòåëÿ è ïàðîëü äëÿ îòìå÷åííûõ â ñïèñêå èíôîðìàöèîííûõ áàç, â äàëüíåéøåì ýòè ïàðàìåòðû áóäóò èñïîëüçîâàòüñÿ ïðè çàïóñêå èíôîðìàöèîííîé áàçû èç ÑÏÏÐ.

Êíîïêà - êîìàíäà "Îòêðûòü ÈÁ" çàïóñêàåò òåêóùóþ ÈÁ â ïîëüçîâàòåëüñêîì ðåæèìå (ENTERPRISE)

Ôëàã îòáîðà "Òîëüêî àêòèâíûå, ëèáî íåîïðåäåëÿåìûå" âêëþ÷àåò ôèëüòð, ïðè êîòîðîì îòîáðàæàþòñÿ òîëüêî äîñòóïíûå áàçû. Ñêðûâàþòñÿ òå, êîòîðûå ôèçè÷åñêè îòñóòñòâóþò íà ñåðâåðå ÑÓÁÄ, åñëè ýòî âîçìîæíî îïðåäåëèòü: ôëàã "Íå îïðåäåëÿòü äîñòóïíîñòü" ó ÑÓÁÄ âûêëþ÷åí.

Øòàòíàÿ êîìàíäà ïîìåòêè íà óäàëåíèå îòêëþ÷åíà, âìåñòî íå¸ îòêðûâàåòñÿ äèàëîã, â êîòîðîì íóæíî óêàçàòü - ñëåäóåò ëè óäàëÿòü òàêæå áàçó ñ ñåðâåðà ÑÓÁÄ è èç êëàñòåðà.

Ñïðàâî÷íèê Ñáîðî÷íûå ëèíèè

Ñïðàâî÷íèê ïðåäíàçíà÷åí äëÿ õðàíåíèÿ è äèíàìè÷åñêîãî ôîðìèðîâàíèÿ ôàéëà êîíâåéåðà ñáîðêè â ôîðìàòå yml.

Äëÿ ðàáîòû ñî ñïðàâî÷íèêîì äîëæåí áûòü îïóáëèêîâàí HTTP ñåðâèñ GetPipeLine. 

Gitlab ïðè íàñòóïëåíèè îïðåäåëåííûõ ñîáûòèé, òàêèõ êàê push, merge-request ïîëó÷àåò ôàéë êîíâåéåðà ñ HTTP ñåðâèñà.

Ôàéë êîíâåéåðà ôîðìèðóåòñÿ ñèñòåìîé ÑÏÏÐ íà îñíîâàíèè äàííûõ î äîñòóïíîñòè èíôîðìàöèîííûõ áàç, íåîáõîäèìîñòè èõ ñáîðêè è ôîðìèðóåò

òåêñò ñáîðî÷íîé ëèíèè äèíàìè÷åñêè.

Ê ñîæàëåíèþ,  Gitlab íå ïîääåðæèâàåò ïåðåäà÷ó êàêèõ ëèáî ïåðåìåííûõ â ñåêöèþ include, íàïðèìåð èìåíè òåêóùåé âåòêè, ïîýòîìó òåêñò ñáîðî÷íîé ëèíèè ãåíåðèðóåòñÿ ñðàçó äëÿ âñåõ âåòîê, òðåáóþùèõ ñáîðêè (ïî äàííûì ÑÏÏÐ ñ ó÷åòîì äîñòóïíîñòè ÈÁ íà ñåðâåðå ÑÓÁÄ), à Gitlab CI âûáèðàåò èç íåãî ïîäõîäÿùèå äëÿ òåêóùåé âåòêè çàäàíèÿ.


Äëÿ ýòîãî íåîáõîäèìî â êëþ÷åâîé ôàéë .gitlab-ci.yml ðàçìåñòèòü ñòðîêó âèäà:


include: 

    - 'http://gitlab.test.ru/sppr/hs/GetPipeline/CI_YML_TEST/ci-module.yml' 

ãäå CI_YML_TEST -  Èìÿ ñáîðî÷íîé ëèíèè, sppr/hs êîðíåâîé êàòàëîã HTTP ñåðâèñîâ, îïóáëèêîâàííûé èç ÈÁ ÑÏÏÐ. Åñëè ñàìà ÑÏÏÐ îïóáëèêîâàíà íà âåá ñåðâåðå äëÿ ðàáîòû â áðàóçåðå, òî http ñåðâèñû ðåêîìåíäóåòñÿ ïóáëèêîâàòü îòäåëüíî, ñ äðóãèì ñïîñîáîì àâòîðèçàöèè, íàïðèìåð â IIS äëÿ îëèöåòâîðåíèÿ ìîæåò áûò èñïîëüçîâàíà îòäåëüíàÿ ÓÇ Windows ñâÿçàííàÿ ñ ÓÇ ïîëüçîâàòåëÿ - áîòà GitLab â ÑÏÏÐ.

Âàæíî! Â ñëó÷àå, åñëè ïî ññûëêå Âû ïîëó÷àåòå ñîîáùåíèå:

500 - Internal server error.

There is a problem with the resource you are looking for, and it cannot be displayed.

Ïîïðîáóéòå ïîëó÷èòü òåêñò ñáîðî÷íîé ëèíèè íàæàâ íà êíîïêó "Ïîëó÷èòü òåêñò ñáîðî÷íîé ëèíèè" èç ôîðìû ñïèñêà èëè â ôîðìå ýëåìåíòà. Åñëè ïîëó÷èòå òåêñò, è íå ïîëó÷èòå îøèáîê, çíà÷èò ïðîáëåìà â ïóáëèêàöèè íà âåá ñåðâåðå, èëè ïðîáëåìà ñàìîãî âåá-ñåðâåðà, ÷òîáû îêîí÷àòåëüíî óáåäèòüñÿ â ýòîì ðåêîìåíäóåòñÿ ïðîâåðèòü, ðàáîòàþò ëè âåá-õóêè îòïðàâëÿåìûå èç Gitlab â ÑÏÏÐ. (ïîäðîáíåå ïðî íàñòðîéêó è ïðîâåðêó âåá õóêîâ ñìîòðèòå çäåñü).


Åñëè ïî ññûëêå òåêñò êîððåêòíî ïîëó÷àåòñÿ, íî Gitlab CI/CD ïðè çàïóñêå ñáîðêè âðó÷íóþ â ðàçäåëå ñáîðî÷íûå ëèíèè ïèøåò îøèáêó ñèíòàêñèñà:

Pipeline cannot be run.

Included file `http://gitlab.test.ru/sppr/hs/GetPipeline/CI_YML_TEST/ci-module.yml` does not have valid YAML syntax!

Íåîáõîäèìî ñêîïèðîâàòü ïîëó÷åííûé ïî êíîïêå "Ïîëó÷èòü òåêñò ñáîðî÷íîé ëèíèè" â âàëèäàòîð CI Iint:  CI/CD/Pipelines/CI lint.

Î÷åíü ÷àñòàÿ ïðîáëåìà - èñïîëüçîâàíèå è ïðîáåëîâ, è òàáóëÿöèé îäíîâðåìåííî ïðè ôîðìèðîâàíèè ñòðóêòóðû YML, ëèáî ëèøíèå ïðîáåëû è òàáóëÿöèè. 
Ñì. ïðèìåð íà ñíèìêàõ íèæå:

Íà çàêëàäêå "Ñîñòàâ ýòàïîâ" îïðåäåëÿþòñÿ ýòàïû ñáîðêè (stages). Äëÿ êàæäîãî ýòàïà ãåíåðèðóåòñÿ ñâîÿ çàêëàäêà, íà êîòîðîé ðàçìåùàþòñÿ ïîñòîÿííàÿ ÷àñòü, â íåé, íàïðèìåð, ìîæíî ðàçìåñòèòü øàáëîí çàäàíèÿ è ïîâòîðÿåìûå ÷àñòè, êîòîðûå èñïîëüçóþò øàáëîí çàäàíèÿ ëèáî ïîëíîñòüþ òåêñò çàäàíèÿ áåç èñïîëüçîâàíèÿ øàáëîíà.

Íà ïåðâîì ýòàïå îáÿçàòåëüíî äîëæíû ïðèñóòñòâîâàòü ñòðîêè:

stages:

    - ~!Stages


îïðåäåëÿþùèå ñîñòàâ ýòàïîâ ñáîðî÷íîãî êîíâååðà, ñïèñîê íà çàêëàäêå ýòàïîâ áóäåò ïîäñòàâëåí âìåñòî ýòîãî øàáëîíà, íàïðèìåð, åñëè åñòü ñïèñîê ýòàïîâ:


StagesAndVariables

Lock

Copy

GetCF

Fetching

Convertation

Build

TestQQ

Update

Unlock

OnFailureUnlock


È ýòàï StagesAndVariables ñîäåðæèò


stages:

    - ~!Stages


Òî â ñãåíåðèðîâàííûé òåêñò êîíâåéåðà áóäóò âêëþ÷åíû ñòðîêè:


# øàáëîí ýòàïà StagesAndVariables

stages:

    - StagesAndVariables

    - Lock

    - Copy

    - GetCF

    - Fetching

    - Convertation

    - Build

    - TestQQ

    - Update

    - Unlock

    - OnFailureUnlock


Äëÿ èìåíè ýòàïà îïðåäåëåí ëèòåðàë [\w\d_]+, ò.å. ñèìâîëû ëàòèíñêîãî àëôàâèòà çàãëàâíûå èëè ïðîïèñíûå, ÷èñëà è ñèìâîë ïîä÷åðêèâàíèÿ.

Ïîðÿäîê ýòàïîâ ìîæíî èçìåíÿòü ñòðåëêàìè   è  . 

Âàæíî! Íå ñîçäàâàéòå îäèíàêîâûõ èì¸í ýòàïîâ ðàçíûìè ðåãèñòðàìè ñèìâîëîâ ëàòèíñêîãî àëôàâèòà, íàïðèìåð BUILD è Build. Óíèêàëüíîñòü èìåí ýòàïîâ íà óðîâíå 1Ñ ïîääåðæèâàåòñÿ ðåãèñòðîíåçàâèñèìîé.


Ìîæíî èçìåíÿòü èìåíà óæå çàïîëíåííûõ ýòàïîâ, ïðè ýòîì ñèíõðîííî èìåíà ýòàïîâ áóäóò ïîäñòàâëÿòüñÿ â çàäàíèÿ óæå ñ íîâûìè èìåíàìè.
Äîïóñêàåòñÿ ñêîïèðîâàòü ñòðîêó ýòàïà, èçìåíèâ èìÿ ïåðåä çàâåðøåíèåì ðåäàêòèðîâàíèÿ, ïðè ýòîì çàïîëíåííûå øàáëîíû (ïîñòîÿííûé è ïåðåìåííûé ïî óìîë÷àíèþ) òàê æå áóäóò ñêîïèðîâàíû.


 ïîñòîÿííîé ÷àñòè ýòàïà ðåêîìåíäóåòñÿ ðàçìåùàòü øàáëîí çàäàíèÿ, ïðåäñòàâëÿùèé íåèçìåííóþ ÷àñòü çàäàíèÿ, íàïðèìåð îñíîâíûå ïðàâèëà è ñêðèïò, íàïðèìåð, øàáëîí äëÿ ýòàïà êîíâåðòàöèè òåêñòîâ EDT-->1Ñ:


# Ïðåîáðàçîâàíèå â ôîðìàò 1Ñ

.job_template: &~!Stage_job

    tags: 

        - convertation

    variables:

        GIT_STRATEGY: none

    script:

        - chcp 65001

        - start "" /wait "%W_PLATFORM_1C%" DESIGNER /S %%  /N %USER_1C% /P %PASS_1C%  /UC UpdateDB /DisableStartupMessages /DisableStartupDialogs /DisableSplash /UpdateCfg %CI_PROJECT_DIR%\%UpdFile% /UpdateDBcfg -Dynamic- /Out %CI_PROJECT_DIR%\logs\%LOG_NAME%


Ïîâòîðÿåìûõ ÷àñòåé, ïî óìîë÷àíèþ, åñòü âñåãäà îäíà, ìàðêèðîâàííàÿ * - ýòà ÷àñòü áóäåò ïîäñòàâëÿòüñÿ äëÿ âñåõ âåòîê Git, äëÿ êîòîðûõ òðåáóåòñÿ ñáîðêà, äëÿ íåêîòîðûõ âåòîê, ïàðàìåòðû çàäàíèÿ ìîãóò îòëè÷àòüñÿ, íàïðèìåð èñïîëüõçîâàòüñÿ äðóãîé ñêðèïò èëè äðóãîé ñîñòàâ ïåðåìåííûõ, èëè äðóãèå óñëîâèÿ.  ýòîì ñëó÷àå ìîæíî íà çàêëàäêå "Äîáàâèòü" âûáðàòü òðåáóåìûé îáúåêò ñáîðêè, íàïðèìåð âåòêó âåðñèè è ïîÿâèòñÿ âîçìîæíîñòü äëÿ íå¸ îïèñàòü èíäèâèäóàëüíîå çàäàíèå. 

Íàïðèìåð, â ñåêöèè ýòàïà * ìîæíî ðàçìåñòèòü:

ConvertEDT_XML_~!JobSuffix: 

    <<: *~!stage_job

    stage: ~!Stage

    dependencies: []

    only:

        refs:

        - ~!Ref

        changes:

        - TEST-CONF/src/**/*


À äëÿ îñíîâíîé âåòêè ïðîåêòà âåòêè äîáàâèòü â êîíåö óñëîâèå:

ConvertEDT_XML_~!Ref: 

    <<: *~!stage_job

    stage: ~!Stage

    dependencies: []

    only:

        refs:

        - ~!Ref

        changes:

        - TEST-CONF/src/**/*

        variables:

        - $CI_PIPELINE_SOURCE == 'web'


 ýòîì ñëó÷àå, äàæå åñëè â îñíîâíóþ âåòêó áóäåò ïðîèçâåäåíà ôèêñàöèÿ, òî ñáîðî÷íûé êîíâåéåð ýòî çàäàíèå íå ðàçìåñòèò â ñïèñêå, è ñáîðêà íà÷àòà íå áóäåò. 

Ïî ñóòè, åñëè äëÿ âñåõ îñòàëüíûõ ýòàïîâ äîáàâèòü ïîäîáíîå èñêëþ÷åíèå, òî çàïóñòèòü ñáîðêó îñíîâíîé âåòêè ìîæíî áóäåò òîëüêî èç âåá èíòåðôåéñà GitLab.


 òåêñòå ïîñòîÿííîé ÷àñòè çàäàíèÿ íå ðåêîìåíäóåòñÿ èñïîëüçîâàòü ïåðåìåííûå ~! çíà÷åíèÿ êîòîðûõ äëÿ êàæäîé ÈÁ, ñîáèðàåìîé â âåòêå áóäóò ðàçíûìè. Íàïðèìåð, äëÿ îäíîãî òåõíè÷åñêîãî ïðîåêòà ìîæåò áûòü îïðåäåëåíî äâå èíôîðìàöèîííûå áàçû äëÿ ñáîðêè.  ýòîì ñëó÷àå, åñëè çíà÷åíèå ïåðåìåííîé ïðèìåíåíî áóäåò òîëüêî äëÿ îäíîé èç ÈÁ â ïîðÿäêå àâòîóïîðÿäî÷èâàíèÿ. Âìåñòî ýòîãî, â ïîñòîÿííîé ÷àñòè, íàïðèìåð â òåêñòå ñêðèïòà ñëåäóåò èñïîëüçîâàòü ïåðåìåííûå îêðóæåíèÿ êîìàíäíîãî ïðîöåññîðà Windows CMD: %DATABASENAME%, Windows PowerShell &DATABASENAME, Linux bash $DATABASENAME,


À â ïåðåìåííîé ÷àñòè îïðåäåëÿòü èõ â ñåêöèè ñêðèïòà variables:
      variables:
           - 
DATABASENAME: ~!DATABASENAME

 ýòîì ñëó÷àå øàáëîí áóäåò åäèíûé, à äëÿ êàæäîãî çàäàíèÿ áóäóò îïðåäåëåíû ðàçíûå ïåðåìåííûå, êîòîðûå â èòîãå áóäóò ïîäñòàâëÿòüñÿ â åäèíûé ñêðèïò ïðè âûïîëíåíèè êàæäîãî çàäàíèÿ. 

Èìåíà ïåðåìåííûõ 
Stages, Stage, Ref çàðåçåðâèðîâàíû. Îñòàëüíûå ïåðåìåííûå ôîðìèðóþòñÿ ïî ïðèíöèïàì, îïèñàííûì â Ñïðàâî÷íèê "Àëãîðèòìû îïðåäåëåíèÿ ïåðåìåííûõ", òàì æå îïèñàí ìåõàíèçì ñâîðà÷èâàíèÿ íåñêîëüêèõ çàäàíèé â îäíî.


Ïî íàæàòèþ íà êíîïêó "Ïîëó÷èòü òåêñò ñáîðî÷íîé ëèíèè" ìîæíî ïîëó÷èòü òåêñò íà ÿçûêå yml, íàïðèìåð, ÷òîáû ïîäñòàâèòü åãî â ôîðìó Gitlab CD/CI CI Lint äëÿ ïðîâåðêè êîððåêòíîñòè.


Ñïðàâî÷íèê Òèïû ÑÓÁÄ

Ñïðàâî÷íèê ïðåäíàçíà÷åí äëÿ õðàíåíèÿ òèïîâ áàç ÑÓÁÄ, ïîääåðæèâàåìûõ 1Ñ:Ïðåäïðèÿòèåì. 

Íàèìåíîâàíèå ýëåìåíòîâ äîëæíû ïîâòîðÿòü ïåðå÷èñëåíèå (ñì. íèæå) ò.ê. èìÿ ýëåìåíòà èñïîëüçóåòñÿ â ïðîöåäóðàõ àäìèíèñòðèðîâàíèÿ êëàñòåðà 1Ñ 

Âíóòðè êàæäîãî ýëåìåíòà äëÿ ïîëüçîâàòåëåé ñ ïîëíûìè ïðàâàìè è àäìèíèñòðàòîðîâ ñáîðîê* äîñòóïíû äëÿ ðåäàêòèðîâàíèÿ ýëåìåíòû ñïðàâî÷íèêà "Ïàêåòíûå çàäàíèÿ", òðè èç íèõ ïðåäîïðåäåëåíû**:

Îñòàëüíûå ìîãóò äîïîëíÿòüñÿ ïî óñìîòðåíèþ, ïîäðîáíåå ñì. ñïðàâî÷íèê "Ïàêåòíûå çàäàíèÿ"


Ðàçäåëèòåëü êîëîíîê çàïðîñîâ - èñïîëüçóåòñÿ â ïðåäîïðåäåëåííîì àëãîðèòìå "Delimiters", ìîæåò èñïîëüçîâàòüñÿ è â äðóãèõ àëãîðèòìàõ ñïðàâî÷íèêîâ "Àëãîðèòìû îïðåäåëåíèÿ ïåðåìåííûõ", "Ïàêåòíûå çàäàíèÿ" è "Ñáîðî÷íûå ëèíèè"

__________________

* Îïåðàöèè ïî ñîçäàíèþ íîâûõ òåñòîâûõ áàç, è èõ îáñëóæèâàíèþ. âêëþ÷àÿ èñïîëüçîâàíèå îáðàáîòîê ñ÷èòàåòñÿ àäìèíèñòðàòèâíîé îáÿçàííîñòüþ è íå ïðåäíàçíà÷åíî äëÿ îáû÷íûõ ïîëüçîâàòåëåé. ðàçðàáîò÷èêîâ, ìåòîäîëîãîâ èëè êîãî-ëèáî.

** Ïðåäîïðåäåëåííûå ýëåìåíòû íå ÿâëÿþòñÿ íà ñàìîì äåëå ïðåäîïðåäåëåííûìè ýëåìåíòàìè è ïðåäîïðåäåëåíèå ýìóëèðóåòñÿ, òàê êàê èíäèâèäóàëüíû äëÿ êàæäîãî ýëåìåíòà ñïðàâî÷íèêà "Òèïû ÑÓÁÄ"


Ïîä÷èíåííûé ñïðàâî÷íèê Ïàêåòíûå çàäàíèÿ

Ñïðàâî÷íèê ïðåäíàçíà÷åí äëÿ õðàíåíèÿ øàáëîíîâ ïàêåòíûõ çàäàíèé, à òàêæå àëãîðèòìîâ ïîäãîòîâêè ïåðåìåííûõ äëÿ øàáëîíà ïàêåòíîãî çàäàíèÿ è îáðàáîòêè ðåçóëüòàòà âûâîäà ïàêåòíîãî ôàéëà.


Âñå ïàêåòíûå çàäàíèÿ èñïîëíÿþòñÿ èç ôîðìû ýëåìåíòà ñïðàâî÷íèêà "Èíôîðìàöèîííûå áàçû" è äîñòóïíû ïîëüçîâàòåëÿì ñ "Ïîëíûìè ïðàâàìè" ëèáî "Àäìèíèñòðàòîð ñáîðîê"


Äëÿ äëèòåëüíûõ ïàêåòíûõ çàäàíèé ìîæíî âêëþ÷èòü ïðèçíàê "Çàïóñòèòü çàäàíèå ôîíîâûì ïðîöåññîì", îäíàêî òàêîé âàðèàíò çàïóñêà íå ïðåäïîëàãàåò ïîñòîáðàáîòêè âûâîäà*. Àëãîðèòì ïîäãîòîâêè ïåðåìåííûõ äëÿ ïàêåòíûõ çàäàíèé, ïðåäïîëàãàþùèõ ôîíîâóþ ðàáîòó, èñïîëíÿåòñÿ íåïîñðåäñòâåííî ïåðåä ñòàðòîì ïàêåòíîãî çàäàíèÿ.


Ñïðàâî÷íèê íå ÿâëÿåòñÿ ñàìîñòîÿòåëüíûì, è ïîä÷èí¸í ñïðàâî÷íèêó "Òèïû ÑÓÁÄ" è äîñòóïåí äëÿ îòêðûòèÿ èç ôîðìû ýëåìåíòà ýòîãî ñïðàâî÷íèêà. Òàêàÿ ëîãèêà ïðîäèêòîâàíà ñïåöèôè÷íîñòüþ àëãîðèòìîâ äëÿ îïðåäåëåííîãî ñåðâåðà ÑÓÁÄ. Ïàêåòíûå ôàéëû äëÿ MS-SQL áóäóò ìàëî ïîëåçíû äëÿ Postgre SQL. 


Àëãîðèòìó ïîäãîòîâêè ïåðåìåííûõ, è ïîñòîáðàáîòêå äîñòóïåí ÷åðåç ñòðóêòóðó "Ïàðàìåòðû.Îáúåêò" òåêóùèé îòêðûòûé ýëåìåíò ñïðàâî÷íèêà "Èíôîðìàöèîííûå áàçû" ñ òèïîì Ñïðàâî÷íèêÎáúåêò.ÈíôîðìàöèîííûåÁàçû, òî÷íåå ÄàííûåÔîðìûÑòðóêòóðà, ïîâòîðÿþùåãî ðåêâèçèòû ñïðàâî÷íèêà "Èíôîðìàöèîííûå áàçû"


 ñòðóêòóðå Ïàðàìåòðû äëÿ àëãîðèòìà ïîäãîòîâêè ïåðåìåííûõ ñîäåðæèòñÿ ñîîòâåòñòâèå "Ïåðåìåííûå" â êîòîðîå íåîáõîäèìî çàïîëíèòü âñå ïåðåìåííûå îáúÿâëåííûå â øàáëîíå ïàêåòíîãî çàäàíèÿ, êîòîðûå íå îïèñàíû â ñïðàâî÷íèêå "Àëãîðèòìû îïðåäåëåíèÿ ïåðåìåííûõ". 


Âàæíî! Åñëè îïðåäåëèòü çíà÷åíèå ïåðåìåííîé â àëãîðèòìå ïîäãîòîâêå ïåðåìåííûõ, äëÿ êîòîðîé ñóùåñòâóåò àëãîðèòì ïîëó÷åíèÿ â ñïðàâî÷íèêå "Àëãîðèòìû îïðåäåëåíèÿ ïåðåìåííûõ" òî àëãîðèòì â ñïðàâî÷íèêå "Àëãîðèòìû îïðåäåëåíèÿ ïåðåìåííûõ" èãíîðèðóåòñÿ.


Äëÿ àëãîðèòìà ïîñòîáðàáîòêè â ñòðóêòóðå "Ïàðàìåòðû" ïðèñóòñòâóåò ðåêâèçèò "Âûâîä", ñîäåðæàùèé âûâîä òåêñòà ïàêåòíîãî çàäàíèÿ, êîòîðûé ìîæåò áûòü îáðàáîòàí àëãîðèòìîì, è â ïåðåäàííîì îáúåêòå ìîæåò áûòü óñòàíîâëåíà äîïîëíèòåëüíàÿ ïåðåìåííàÿ îïèñûâàþùàÿ îáúåêò ÈÁ, èñïîëüçóÿ ýêñïîðòíûé ìåòîä Ñïðàâî÷íèêè.GLI_ÈíôîðìàöèîííûåÁàçû.ÓñòàíîâèòüÇíà÷åíèåÏåðåìåííîé**, íàïðèìåð:

Ñïðàâî÷íèêè.GLI_ÈíôîðìàöèîííûåÁàçû.ÓñòàíîâèòüÇíà÷åíèåÏåðåìåííîé(Îáúåêò , "SourceLogicalDBLogName", Äàííîå.Ïîëå2);

ãäå Îáúåêò - Ñïðàâî÷íèêÎáúåêò.ÈíôîðìàöèîííûåÁàçû, âòîðîé ïàðàìåòð èìÿ äîïîëíèòåëüíîé ïåðåìåííîé, òðåòèé ïàðàìåòð - óñòàíàâëèâàåìîå çíà÷åíèå

èëè ðåêâèçèò òåêóùåãî ýëåìåíòà ñïðàâî÷íèêà "Èíôîðìàöèîííûå áàçû"


Äëÿ êîíâåðòàöèè âûâîäà èç òàáëèöû â âèäå òåêñòà ñ ðàçäåëèòåëÿìè ñóùåñòâóåò ýêñïîðòíûé ìåòîä â ïðîãðàììíîì èíòåðôåéñå:

GLI_ÐàáîòàÑÏàêåòíûìèÔàéëàìè.Ïîëó÷èòüÒàáëèöóÈçÒåêñòàÑÐàçäåëèòåëåì(ÒåêñòÑÒàáëèöåé,ÐàçäåëèòåëüÊîëîíîê), 

âîçâðàùàåìîå çíà÷åíèå: ÒàáëèöàÇíà÷åíèé ñ êîëîíêàìè Ïîëå1,Ïîëå2...ÏîëåN

Âàæíî! Ïðîöåäóðà íå îæèäàåò çàãîëîâêîâ â òàáëèöå, åñëè â âûâîäå îòêëþ÷èòü çàãîëîâêè íåâîçìîæíî, òî îíè áóäóò â ïåðâîé ñòðîêå ïîëó÷åííîé òàáëèöû çíà÷åíèé.

Âàæíî! È àëãîðèòì ïîäãîòîâêè ïåðåìåííûõ, è àëãîðèòì îáðàáîòêè äàííûõ èñïîëíÿþòñÿ â áåçîïàñíîì ðåæèìå.

- Âûâîä ïàêåòíîãî çàäàíèÿ, âûïîëíÿþùåãîñÿ â ôîíå, íå äîëæåí ñîäåðæàòü ñïåöñèìâîëîâ, íàïðèìåð BS (çàáîé). 

- Èíñòðóêöèè ïåðåíàïðàâëåíèÿ âûâîäà òîæå áóäóò ïðîèãíîðèðîâàíû ïðè ëþáîì ðåæèìå èñïîëíåíèÿ, òàê êàê îáðàáîò÷èê ïàêåòíîãî ôàéëà äëÿ ïåðåõâàòà âûâîäà ñàì âñòàâëÿåò ïåðåíàïðàâëåíèå åãî â ôàéë ëîãà.

_____________________

* Òåêóùåå îãðàíè÷åíèå, â áóäóùèõ âåðñèÿõ ïëàíèðóåòñÿ ýòî îãðàíè÷åíèå ñíÿòü.
** Ìåòîä ñîçäàí äëÿ óïðîùåíèÿ ðàáîòû ñ òàáëè÷íîé ÷àñòüþ "Äîïîëíèòåëüíûå ïåðåìåííûå", êîíå÷íî æå ìîæíî óñòàíîâèòü ïåðåìåííûå íåïîñðåäñòâåííî ÷åðåç ïàðàìåòðû.Îáúåêò.ÄîïîëíèòåëüíûåÏåðåìåííûå. Ìåòîä çàìåùàåò ñóùåñòâóþùåå çíà÷åíèå â òàáëè÷íîé ÷àñòè áåçóñëîâíî, èëè ñîçäà¸ò åñëè åãî íåò.



Ñïðàâî÷íèê Àëãîðèòìû îïðåäåëåíèÿ ïåðåìåííûõ

Ñïðàâî÷íèê ïðåäíàçíà÷åí äëÿ õðàíåíèÿ àëãîðèòìîâ (ïðàâèë) îïðåäåëåíèÿ ïåðåìåííûõ. 

Ïåðåìåííûå ìîãóò áûòü îïðåäåëåíû â ïàêåòíûõ ôàéëàõ îáñëóæèâàíèÿ ñåðâåðà ÑÓÁÄ - ñïðàâî÷íèê "Òèïû ÑÓÁÄ" è â YAML ôðàãìåíòàõ ñïðàâî÷íèêà "Ñáîðî÷íûå ëèíèè"

Ïåðåìåííàÿ ïðåäñòàâëÿåò ñîáîé ëèòåðàë, íà÷èíàþùèéñÿ íà ~! è çàêàí÷èâàþùèéñÿ ïåðåä ñèìâîëîì, îòëè÷íûì îò ñèìâîëîâ ëàòèíñêîãî è ðóññêîãî àëôàâèòîâ, öèôð è çíàêà ïîä÷åðêèâàíèÿ. Íà ÿçûêå ðåãóëÿðíûõ âûðàæåíèé ìîæíî îïèñàòü ëèòåðàëû êàê [A-Za-zÀ-ßà-ÿ0-9_]+. ëèòåðàëû âûäåëåíû æèðíûì øðèôòîì:

copy ~!ÈìÿÔàéëàÁàçû_1.txt ~!ÏóòüÊîïèðîâàíèÿÔàéëà\

delete ~!DbName_2.mdf

 ñïðàâî÷íèêå ïîëå "Èìÿ ïåðåìåííîé" ñîäåðæèò ëèòåðàë, íàïðèìåð äëÿ ïðèâåäåííûõ âûøå ïðèìåðîâ èìåíà ïåðåìåííûõ áóäóò:

ÈìÿÔàéëàÁàçû_1

ÏóòüÊîïèðîâàíèÿÔàéëà

DbName_2

Ïîëå "Ýòàï" ñîäåðæèò èìÿ ýòàïà äëÿ ñïðàâî÷íèêà "Ñáîðî÷íûå ëèíèè" åñëè çàïîëíåíî, òî ïðàâèëî ïîëó÷åíèÿ áóäåò èìåòü ïðèîðèòåò íàä îäíîèìåííûìè ïåðåìåííûìè â äðóãèõ ýòàïàõ. Äëÿ ñêðèïòîâ ñïðàâî÷íèêà "Òèïû ÑÓÁÄ" áóäåò ïðåäïðèíÿòà ïîïûòêà èñïîëüçîâàòü àëãîðèòì òîëüêî â ñëó÷àå, åñëè îòñóòñòâóþò àëãîðèòìû ïîëó÷åíèÿ áåç ýòàïà. Íàïðèìåð, åñëè åñòü äâå îäíîèìåííûõ ïåðåìåííûõ äëÿ ðàçíûõ ýòàïîâ ñ ðàçíûìè àëãîðèòìàìè ïîëó÷åíèÿ çíà÷åíèÿ ïåðåìåííûõ, òî äëÿ êàæäîãî ýòàïà (stage) áóäåò ïðèìåíåí ñâîé àëãîðèòì.  ñëó÷àå íåîäíîçíà÷íîñòè, íàïðèìåð îïðåäåëåíû îäíîèìåííûå ïåðåìåííûå äëÿ ðàçíûõ ýòàïîâ, è òåêóùèé ýòàï íå ñîâïàäàåò íè ñ îäíèì èç íèõ áóäåò âûáðàíà ïîñëåäíÿÿ äîáàâëåííàÿ â ñïðàâî÷íèê ïåðåìåííàÿ, îøèáêè âûïîëíåíèÿ ñãåíåðèðîâàíî íå áóäåò. 

Ïîëå "Àëãîðèòì ïîëó÷åíèÿ" ïðåäñòàâëÿåò ñîáîé âûðàæåíèå äëÿ ïðèñâàèâàíèÿ íà âñòðîåííîì ÿçûêå 1Ñ:Ïðåäïðèÿòèÿ, êîòîðîå äîëæíî âîçâðàùàòü ñòðîêîâîå çíà÷åíèå, ëèáî çíà÷åíèå äîïóñêàþùåå íåÿâíîå ïðåîáðàçîâàíèå â ñòðîêó. Ïðè âû÷èñëåíèè âûðàæåíèÿ äîñòóïíà ñòðóêòóðà èç òð¸õ ñâîéñòâ:
ÈÁ - ññûëêà íà ýëåìåíò ñïðàâî÷íèêà "Èíôîðìàöèîííûå áàçû", "Ýòàï" èìÿ ýòàïà, åñëè äîïóñòèìî, â ïðîòèâíîì ñëó÷àå çíà÷åíèå ïîëÿ áóäåò ïóñòàÿ ñòðîêà, "Ñáîðî÷íàÿËèíèÿ" - ññûëêà íà ýëåìåíò ñïðàâî÷íèêà "Ñáîðî÷íûå ëèíèè", åñëè ïðèìåíèìî, Íåîïðåäåëåíî â ïðîòèâíîì ñëó÷àå.
Âàæíî! Âûðàæåíèå èñïîëíÿåòñÿ â áåçîïàñíîì ðåæèìå. 

Ôëàã "Äëÿ îáùåãî çàäàíèÿ". Ïðè ãåíåðàöèè ñêðèïòà íà ÿçûêå YAML ñáîðî÷íîé ëèíèè ïðîèçâîäèòñÿ îïòèìèçàöèÿ ïîëó÷àåìûõ çàäàíèé. Çíà÷åíèÿ ïåðåìåííûõ êàæäîãî ýòàïà âû÷èñëÿþòñÿ äëÿ êàæäîé èíôîðìàöèîííîé áàçû, òðåáóþùåé ñáîðêè è îáúåäèíÿþòñÿ â ïóë ïåðåìåííûõ è èõ çíà÷åíèé. Åñëè çíà÷åíèÿ ïåðåìåííûõ ïîëó÷àåìûõ â çàäàíèè äëÿ êàæäîé ñîáèðàåìîé èëè òåñòèðóåìîé èíôîðìàöèîííîé áàçû ïîëó÷àòñÿ îäèíàêîâûìè, òî âìåñòî îòäåëüíîãî çàäàíèÿ ïîä êàæäóþ èíôîðìàöèîííóþ áàçó áóäåò ñãåíåðèðîâàíî îäíî îáùåå çàäàíèå, â êîòîðîì áóäóò ïåðå÷èñëåíû âñå ññûëêè (refs Git) èñïîëüçóåìûå â îãðàíè÷åíèè çàäàíèé only: refs:. Åñëè îäíà ïåðåìåííàÿ èìååò íåñêîëüêî àëãîðèòìîâ, è îäèí èç íèõ ìàðêèðîâàí êàê "Äëÿ îáùåãî çàäàíèÿ" òî òàêàÿ ïåðåìåííàÿ èç ïóëà ïåðåìåííûõ äëÿ ïðèíÿòèÿ ðåøåíèÿ î ñïîñîáå ãåíåðàöèè çàäàíèé áóäåò èñêëþ÷åíà. Áîëåå òîãî, äëÿ ïîëó÷åíèÿ çíà÷åíèÿ òàêîé ïåðåìåííîé â îáùåì çàäàíèè áóäåò èñïîëüçîâàí èìåííî ýòîò àëãîðèòì.  ïðîòèâíîì ñëó÷àå äëÿ êàæäîãî çàäàíèÿ íà ñâîþ âåòêó áóäåò ïðåäïðèíÿòà ïîïûòêà âû÷èñëåíèÿ àëãîðèòìà áåç ôëàãà "Äëÿ îáùåãî çàäàíèÿ". Öåëü äàííîãî ìåõàíèçìà óìåíüøèòü êîëè÷åñòâî çàäàíèé â ðåçóëüòèðóþùåì ñêðèïòå íà ÿçûêå YAML äëÿ ýòàïîâ êîíâåéåðà, êîòîðûå äëÿ âñåõ èíôîðìàöèîííûõ áàç áóäóò èñïîëíÿòüñÿ îäèíàêîâûì îáðàçîì. 

 äåìîíñòðàöèîííîé áàçå åñòü ïåðåìåííàÿ JobSuffix, èñïîëüçóåìàÿ äëÿ ôîðìèðîâàíèÿ èìåíè çàäàíèé. Äëÿ íå¸ îïðåäåëåíû äâà àëãîðèòìà ïîëó÷åíèÿ çíà÷åíèÿ:

Äëÿ îáùåãî çàäàíèÿ

Àëãîðèòì ïîëó÷åíèÿ

[  ]

ÑòðÇàìåíèòü(Ïàðàìåòðû.ÈÁ.Íàèìåíîâàíèå,"/",".")

[V]

"United"


 ýòîì ñëó÷àå åñëè â øàáëîíå çàäàíèÿ èëè ñàìîì çàäàíèè íå áóäåò îïðåäåëåíî äðóãèõ ïåðåìåííûõ, ïîëó÷àþùèõ çíà÷åíèå ïàðàìåòðîâ èíôîðìàöèîííûõ áàç äëÿ ñáîðêè è ñâÿçàííûõ ñ íèìè âåòîê, òî áóäåò ïîëó÷åíî çíà÷åíèå "United":

Äîïóñòèì, â ïîâòîðÿåìîé ÷àñòè øàáëîíà çàäàíèÿ îïðåäåëåíà ïåðåìåííàÿ Stub, ó êîòîðîé àëãîðèòì ïîëó÷åíèÿ "JustOneLine":

ConvertEDT_XML_~!JobSuffix: 

    <<: *convertation_job

    stage: ~!Stage

    dependencies: []

    variables:

        STUB: '~!Stub'

    only:

        refs:

        - ~!Ref

        changes:

        - TEST-CONF/src/**/*

Ðåçóëüòèðóþùåå çàäàíèå:

ConvertEDT_XML_United: 
    <<: *convertation_job
    stage: Convertation
    dependencies: []

    variables:

        STUB: 'JustOneLine'

    only:
        refs:
       
 - master
        - TP/00-00000256
        - Tst/102
        changes:
        - TEST-CONF/src/**/*

Åñëè çàìåíèòü àëãîðèòì ïîëó÷åíèÿ ïåðåìåííîé Stub íà: Ñòðîêà(Íîâûé ÓíèêàëüíûéÈäåíòèôèêàòîð()), òî ðåçóëüòèðóþùèå çàäàíèÿ ïîëó÷àòñÿ òàêèå:

ConvertEDT_XML_CI_YML_TEST: 

    <<: *convertation_job

    stage: Convertation

    variables:

        STUB: '0a09ca20-8f4a-48f7-8110-e6f2a8303a93'

    dependencies: []

    only:

        refs:

        - master

        changes:

        - cpm/src/**/*

ConvertEDT_XML_CYT.TP.00-00000256: 

    <<: *convertation_job

    stage: Convertation

    variables:

        STUB: 'c2000413-49d1-4b7f-a954-534421cad798'

    dependencies: []

    only:

        refs:

        - TP/00-00000256

        changes:

        - cpm/src/**/*

ConvertEDT_XML_CYT.Tst.102: 

    <<: *convertation_job

    stage: Convertation

    variables:

        STUB: '86418d3c-9e00-4229-bdb0-a7e2fe9bcb4c'

    dependencies: []

    only:

        refs:

        - Tst/102

        changes:

        - cpm/src/**/*

Îäíàêî, åñëè äëÿ ïåðåìåííîé Stub äîáàâèòü 2é àëãîðèòì ïîëó÷åíèÿ ñ ïðèçíàêîì "Äëÿ îáùåãî çàäàíèÿ", íàïðèìåð "Ôåäîò äà íå òîò" òî ðåçóëüòàò ñòàíåò òàêèì:

ConvertEDT_XML_United: 
    <<: *convertation_job
    stage: Convertation
    dependencies: []

    variables:

        STUB: 'Ôåäîò äà íå òîò'

    only:
        refs:
        
- master
        - TP/00-00000256
        - Tst/102
        changes:
        - TEST-CONF/src/**/*

Îò÷åò Ïîäãîòîâêà îïèñàíèÿ âåðñèè ïî òåõïðîåêòàì è îøèáêàì

Îò÷åò ïðåäíàçíà÷åí äëÿ ïîäãîòîâêè îïèñàíèÿ ðåëèçà. Óðîâåíü äåòàëèçàöèè ðàññ÷èòàí òàêèì îáðàçîì, ÷òîáû îïèñàíèå îáíîâëåíèÿ, âûâîäèìîå ñðåäñòâàìè ÁÑÏ íå äåëàòü âðó÷íóþ, à ïðîñòî ñêîïèðîâàòü èç ñôîðìèðîâàííîãî îò÷åòà:

Îò÷åò îïèðàåòñÿ íà íîìåðà ñáîðîê â èñïðàâëåíèÿõ îøèáîê è òåõíè÷åñêèõ ïðîåêòàõ, êîòîðûå â ñâîþ î÷åðåäü çàïîëíÿþòñÿ íîìåðàìè ñáîðîê â ïðîöåññå îïîâåùåíèÿ î óñïåøíîé ñáîðêå ëèíèè êîíâåéåðà äëÿ òîé èëè èíîé âåòêè. Íîìåð ñáîðêè ïîñëåäíåãî ðåëèçà óêàçûâàåòñÿ âðó÷íóþ â ïîëå "Íà÷àëüíûé íîìåð ñáîðêè (áîëüøå):". Äëÿ òåõíè÷åñêèõ ïðîåêòîâ ó÷èòûâàåòñÿ íîìåð ñáîðêè:

 

íà çàêëàäêå "Îñíîâíîå", äëÿ îøèáîê èñïðàâëÿåìûõ â ðàçíûõ âåòêàõ ó÷èòûâàåòñÿ íîìåð ñáîðêè, óêàçûâàåìûé â òàáëè÷íîé ÷àñòè "Èñïðàâëåíèÿ â âåòêàõ":

Äëÿ îñòàëüíûõ îøèáîê ïîëå âíèçó:

Êðîìå ýòîãî, ó÷èòûâàåòñÿ:

Äëÿ îøèáîê, èñïðàâëÿåìûõ â ðàìêàõ òåõíè÷åñêèõ ïðîåêòîâ, äîïîëíèòåëüíî âûâîäèòñÿ íîìåð òåõíè÷åñêîãî ïðîåêòà.

Äëÿ îøèáîê, ó êîòîðûõ çàïîëíåíà ññûëêà íà ïåðâîíà÷àëüíûé èñòî÷íèê (ïðåäïîëàãàåòñÿ ãèïåðññûëêà) âûâîäèòñÿ îòäåëüíàÿ ñåêöèÿ èñòî÷íèê.

Äëÿ èäåé, åñëè åñòü âíåøíèé èñòî÷íèê, òî îí äîëæåí áûòü óêàçàí â êîììåíòàðèè ê èäåå, â ýòîì ñëó÷àå îí òàê æå âûâîäèòñÿ â îòäåëüíîé ñåêöèè.


Äëÿ îøèáîê, ðàçäåëÿÿñü ïóñòîé ñòðîêîé, âûâîäÿòñÿ ñåêöèè "Ïóáëèêóåìîå îïèñàíèå", çàêëàäêà "Ïðèçíàíèå" è "Îïèñàíèå" çàêëàäêà "Èñïðàâëåíèå"

Äëÿ ðåàëèçîâàííûõ èäåé âûâîäèòñÿ îïèñàíèå ðåàëèçàöèè èäåè â òåõíè÷åñêîì ïðîåêòå êîëîíêà "Îïèñàíèå ðåàëèçàöèè èäåè, èñïðàâëåíèÿ îøèáêè" çàêëàäêè "Èäåè è îøèáêè"


Ðàñøèðåíèå îáúåêòîâ îñíîâíîé êîíôèãóðàöèè

Ñïðàâî÷íèê Îøèáêè


Èçìåíåíû ëîãèêà ôîðìû ñïèñêà è ôîðìû ýëåìåíòà. Óëó÷øåíà ýðãîíîìèêà ðàáîòû ñ èñïðàâëåíèåì îøèáîê â âàðèàíòå "Â ðàçíûõ âåòêàõ", ò.ê. ðàçíûå ñîñòîÿíèÿ èñïðàâëåíèÿ â âåòêàõ ïðèâîäèëè ê íåðàçáåðèõå è íå ñîîòâåòñòâèþ îáùåìó ñòàòóñó îøèáêè. Äëÿ ýòîãî áûëè ðàñøèðåíû è äîïîëíåíû ñîñòîÿíèÿ èñïðàâëåíèÿ îøèáîê â âåòêå è ñòàòóñîâ îøèáêè, òàê ÷òîáû îíè ñîîòâåòñòâîâàëè äðóã äðóãó:

Ñòàòóñ îøèáêè

Ñîñòîÿíèå èñïðàâëåíèÿ îøèáîê

Ïðèçíàíà

Òðåáóåòñÿ èñïðàâëåíèå

Èñïðàâëåíà

Èñïðàâëåíà

Ïðîâåðåíà è èñïðàâëåíà

Èñïðàâëåíà è ïðîâåðåíà*

Íå çàðåãèñòðèðîâàíà

-**

Çàðåãèñòðèðîâàíà

Íå ðàññìîòðåíà*

Íå ïðèçíàíà

Èñïðàâëåíèå íå ïëàíèðóåòñÿ

Îòîçâàíà

-***

Íå ïëàíèðóåòñÿ èñïðàâëÿòü

Èñïðàâëåíèå íå ïëàíèðóåòñÿ

 * Äîáàâëåííûå ñîñòîÿíèÿ èñïðàâëåíèÿ â âåòêàõ

** Ïðè ïåðâîé æå çàïèñè îøèáêà ïåðåõîäèò â ñòàòóñ "Çàðåãèñòðèðîâàíà" à äëÿ âñåõ âåòîê âåðñèé âûñòàâëÿåòñÿ ñîñòîÿíèå "Íå ðàññìîòðåíà", â ñëó÷àå åñëè îøèáêà âîçâðàùàåòñÿ â ñòàòóñ "Íå çàðåãèñòðèðîâàíà"  (êíîïêîé "Âåðíóòü íà ðåãèñòðàöèþ") â ýòîì ñòàòóñå ñîñòîÿíèå èñïðàâëåíèÿ îøèáîê èãíîðèðóåòñÿ, è îáùèé ñòàòóñ îøèáêè âñåãäà "Íå çàðåãèñòðèðîâàíà"

*** Ñòàòóñ îòîçâàíà äîïóñêàåòñÿ òîëüêî êîãäà â âåòêàõ èñïðàâëåíèÿ îøèáêó èñïðàâëÿòü íå ïëàíèðóåòñÿ.


 ôîðìå ñïèñêà:

 ôîðìå ýëåìåíòà:

Ñïðàâî÷íèê Òåõíè÷åñêèå ïðîåêòû

 ôîðìó òåõíè÷åñêîãî ïðîåêòà äîáàâëåíû ýëåìåíòû "Ñáîðêà" - íîìåð ñáîðêè , çàïîëíÿåòñÿ ïîñëå óñïåøíîé ñáîðêè òåõíè÷åñêîãî ïðîåêòà. Ðåêâèçèò î÷èùàåòñÿ àâòîìàòè÷åñêè, ïðè ïåðåäà÷å çàäà÷ ïðîöåññà, ñâÿçàííûõ ñ òåõíè÷åñêèì ïðîåêòîì íà ïðîâåðêó.

Фигура4 Âàæíî! Íåîáõîäèìî äî íà÷àëà ñáîðêè èëè â ïðîöåññå å¸ ïåðåäàòü çàäà÷ó ïðîöåññà, ñâÿçàííóþ ñ òåõíè÷åñêèì ïðîåêòîì "Íà ïðîâåðêó", â ïðîòèâíîì ñëó÷àå, åñëè ñáîðêà óæå çàêîí÷èëàñü, ðåêâèçèò íå áóäåò îáíîâë¸í, áîëåå òîãî, îí áóäåò î÷èùåí ïðè ïåðåäà÷å íà ïðîâåðêó.  ýòîì ñëó÷àå, â îò÷åò "Ïîäãîòîâêà îïèñàíèÿ âåðñèè ïî òåõïðîåêòàì è îøèáêàì" òåõíè÷åñêèé ïðîåêò âêëþ÷åí íå áóäåò.

Íà çàêëàäêå "Äîïîëíèòåëüíî" äîáàâëåíà êíîïêà ñîçäàíèÿ çàïðîñà íà ñëèÿíèå   â âåòêó âåðñèè. 

Òàê æå, íà çàêëàäêå "Äîïîëíèòåëüíî" âîçðàù¸í ðåêâèçèò "Èìÿ áàçîâîé âåòêè". Ïðè óêàçàíèè ôèêñàöèè â ýòîì ïîëå ôàéë îòëè÷èé (diff) áóäåò ïðîèçâîäèòüñÿ ìåæäó âåòêîé òåõïðîåêòà è óêàçàííîé ôèêñàöèåé, òàêîé ñïîñîá óêàçàíèÿ ïîìîãàåò êîððåêòíî çàãðóçèòü èçìåíåíèÿ â ñëó÷àå, êîãäà ïåðåä ñëèÿíèåì â âåòêó âåðñèè âåòêà òåõïðîåêòà îáíîâëÿëàñü äî òåêóùåãî ñîñòîÿíèÿ âåòêè âåðñèè (ýòî äåëàåòñÿ î÷åíü ÷àñòî, ÷òîáû èñêëþ÷èòü êîíôëèêòû ñëèÿíèÿ ïðè ïîìåùåíèè âåòêè òåõïðîåêòà â âåòêó âåðñèè). 

 ýòîì ñëó÷àå, â ïîëå íóæíî âðó÷íóþ óêàçàòü ôèêñàöèþ ñëèÿíèÿ, ñ êîòîðîãî ïðîèçâîäèëàñü àêòóàëèçàöèÿ âåòêè òåõíè÷åñêîãî ïðîåêòà:



Ñïðàâî÷íèê Âåòêè

 ôîðìå ýëåìåíòà ñïðàâî÷íèêà äîáàâëåíû ïîëÿ è ýëåìåíòû óïðàâëåíèÿ:


 àêòèâíîé ôàçå ïðîåêòà ìîæåò áûòü çàðåãèñòðèðîâàíî ìíîãî îøèáîê, òðåáóþùèõ ïîäòâåðæäåíèå èñïðàâëåíèÿ. Ðåêîìåíäóåòñÿ â òàêèõ ôàçàõ íå èñïðàâëÿòü îøèáêè â âåòêå âåðñèè ïðîåêòà, ëèáî â îäíîé âåòêå èñïðàâëåíèÿ îøèáîê, à ïîä êàæäóþ çàâîäèòü îòäåëüíóþ îò âåòêè èñïðàâëåíèÿ îøèáîê, ïðè îòìåòêå "Èñïðàâëåíî" â ýëåìåíòå ñïðàâî÷íèêà "Îøèáêè" áóäåò àâòîìàòè÷åñêè ñôîðìèðîâàí è ïðèíÿò (åñëè íåò êîíôëèêòîâ) çàïðîñ íà ñëèÿíèå â âåòêó òåñòèðîâàíèÿ, êîòîðóþ ðåêîìåíäóåòñÿ ïåðåñîçäàâàòü ïîñëå âûïóñêà êàæäîãî ðåëèçà. Ïðè ïîäòâåðæäåíèè òåñòèðîâùèêîì èëè àâòîðîì îøèáêè èñïðàâëåíèÿ áóäåò ñôîðìèðîâàí àâòîìàòè÷åñêè çàïðîñ íà ñëèÿíèå â âåòêó âåðñèè. Òàêèì îáðàçîì â âåòêå âåðñèè áóäóò òîëüêî ïîäòâåðæäåííûé ôóíêöèîíàë. Ïî ñîáûòèþ "detached pipe" ìîãóò áûòü çàïóùåíû ðåãðåññèâíûå òåñòû ñëèâàåìîé â âåòêó âåðñèè âåòêè èñïðàâëåíèÿ îøèáêè. Àâòîìàòè÷åñêîãî ïðèíÿòèÿ çàïðîñîâ íà ñëèÿíèå â âåòêó âåðñèè íå ïðåäóñìîòðåíî. Îòâåòñòâåííûé çà ñáîðêó ðåëèçà ñàì äîëæåí ïðîâåðèòü è ïðèíÿòü âñå èñïðàâëåíèÿ â âåòêó âåðñèè. Ïðè íàæàòèè íà êíîïêó "Ïåðåñîçäàòü â Git" âåòêà òåñòèðîâàíèÿ óäàëÿåòñÿ â õðàíèëèùå è ñîçäà¸òñÿ çàíîâî îò óêàçàòåëÿ âåòêè âåðñèè, ïîñëå ÷åãî îïðåäåëÿþòñÿ óäîâëåòâîð¸ííûå çàïðîñû íà ñëèÿíèå â âåòêó òåñòèðîâàíèÿ, êîòîðûõ íå áûëî â âåòêå âåðñèè (ïî ó÷åòíûì äàííûì ÑÏÏÐ), ÑÏÏÐ çàíîâî ôîðìèðóåò çàïðîñû èç âåòîê èñïðàâëåíèÿ îøèáîê â âåòêó òåñòèðîâàíèÿ. 

Ïîä÷èíåííûé ñïðàâî÷íèê Ñáîðêè âåðñèè


Ýëåìåíòû ñïðàâî÷íèêà äîáàâëÿþòñÿ àâòîìàòè÷åñêè ïðè êàæäîé ñáîðêå, ïîñëåäíèé ñòàòóñ ñáîðî÷íîé ëèíèè:

çàïèñûâàåòñÿ â äîáàâëåííûé ðåêâèçèò îáúåêòà, êîòîðûé âûâåäåí â ôîðìó ýëåìåíòà. 


 ïðîöåññå çàïèñè ñòàòóñà ïðîèçâîäèòñÿ ïîïûòêà îïðåäåëèòü òèï âåðñèè. Åñëè â íàèìåíîâàíèè ôèêñàöèè ñîäåðæàòñÿ òåêñòîâûå ñòðîêè RDef, îïèñàíèå âåðñèè, îïèñàíèå ðåëèçà, òî ñáîðêå ïðèñâàèâàåòñÿ ñòàòóñ "Ôèíàëüíàÿ" è âûñòàâëÿåòñÿ ôëàã ïóáëèêàöèè. 


Äàòà è âðåìÿ ñáîðêè îïðåäåëÿþòñÿ ïî äàííûì ñåðâåðà ÑÏÏÐ.


Îáðàáîòêà Íàñòðîéêà óâåäîìëåíèé î ñáîðêàõ è ïîäêëþ÷åíèå ê GitLab API

Îáðàáîòêà ïðåäíàçíà÷åíà äëÿ íàñòðîåê áîòà óâåäîìëåíèé ñèñòåìû âçàèìîäåéñòâèÿ (ÑÂ), óêàçàíèÿ ñâÿçåé id ïðîåêòà â Gitlab, ïðèâàòíîãî êëþ÷à ïîëüçîâàòåëÿ ÑÏÏÐ â Gitlab  íàñòðîåê óâåäîìëåíèé äëÿ àäìèíèñòðàòîðîâ ñáîðîê.


Íàñòðîéêè áîòà

Áîò åäèíûé äëÿ âñåõ ïðîåêòîâ. Ïîñëå ïåðâîíà÷àëüíîãî ñîçäàíèÿ áîòà, âìåñòî êíîïêè "Ñîçäàòü áîòà" áóäåò ïðèñóòñòâîâàòü êíîïêà "Îáíîâèòü áîòà"

Фигура5 Âàæíî! Èçîáðàæåíèå áîòà õðàíèòñÿ â ÑÂ, òàê ÷òî çàìåíà èçîáðàæåíèÿ â êîïèÿõ ÈÁ, íå îòâÿçàííûõ îò ÑÁ ïðèâåä¸ò ê èçìåíåíèþ èçîáðàæåíèÿ â îñíîâíîé áàçå.

 ïîëå "Ïîëüçîâàòåëü ÎÑ" íåîáõîäèìî óêàçàòü ïîëüçîâàòåëÿ, êîòîðûì áóäóò îëèöåòâîðåíû âñå çàïðîñû îò âåá ñåðâåðà ê ÑÏÏÐ, ýòîò ïîëüçîâàòåëü áóäåò àññîöèèðîâàí ñ ïîëüçîâàòåëåì áîòà â ÷àñòè àóòåíòèôèêàöèè îïåðàöèîííîé ñèñòåìîé. Åñëè èñïîëüçóåòñÿ âåá ñåðâåð Apache, íå ïîääåðæèâàþùèé àíîíèìíóþ àóòåíòèôèêàöèþ òîãäà ñëåäóåò çàäàòü îòäåëüíî ïîëüçîâàòåëþ - áîòó ïàðîëü è èñïîëüçîâàòü äðóãîé ñïîñîá àóòåíòèôèêàöèè.

Ñì. íèæå ïðèìåð íàñòðîéêè ïîëüçîâàòåëÿ â IIS


Фигура6 Âàæíî! Åñëè áàçà ÑÏÏÐ îïóáëèêîâàíà íà âåá ñåðâåðå â âèäå òîíêîãî êëèåíòà, òî äëÿ HTTP ñåðâèñîâ ïîòðåáóåòñÿ îòäåëüíàÿ ïóáëèêàöèÿ ñ èñïîëüçîâàíèåì àíîíèìíîé àóòåíòèôèêàöèè, â êîòîðîé äîëæåí áûòü óêàçàí òîò æå ïîëüçîâàòåëü ñèñòåìû, ÷òî è â ýòîì ïîëå. Íàïðèìåð, îñíîâíàÿ ïóáëèêàöèÿ ÑÏÏÐ ñäåëàíà êàê sppr è äîñòóï ê íåé îñóùåñòâëÿåòñÿ ïî ññûëêå https://my_server.ru/sppr òî äëÿ http ñåðâèñîâ êîìïîíåíòû íóæíî ñäåëàòü âòîðóþ ïóáëèêàöèþ - òîëüêî http ñåðâèñû, íàïðèìåð sppr_api è óêàçûâàòü ññûëêó https://my_server.ru/sppr_api. Àóòåíòèôèêàöèÿ äîëæíà áûòü íàñòðîåíà òàêèì îáðàçîì, ÷òîáû ëþáîå îáðàùåíèå ê API ïðèâîäèëî ê àâòîðèçàöèè ïîëüçîâàòåëÿ áîòà, ïðàâà êîòîðîãî â ÑÏÏÐ ìèíèìàëüíû (ïðàâà (Âíåøíåå ñîåäèíåíèå, HTTP REST ñåðâèñû) íàñòðàèâàþòñÿ àâòîìàòè÷åñêè ïðè ñîçäàíèè ïîëüçîâàòåëÿ). íå ðåêîìåíäóåòñÿ äàâàòü ýòîìó ïîëüçîâàòåëþ ïðàâ áîëåå, ÷åì óñòàíàâëèâàåòñÿ àâòîìàòè÷åñêè. 

Ñîîòâåòñòâåííî ññûëêà, êîòîðóþ íóæíî áóäåò óêàçàòü â ðàçäåëå Gitlab WebHooks: https://my_server.ru/sppr_api/hs/BS/file.json

Îòêðîéòå ïðîåêò â Gitlab è â ðàçäåëå Settings/Webhooks. Óêàæèòå ïîëó÷åííûé URL http-ñåðâèñà BS ÑÏÏÐ. Îòìåòüòå ñîáûòèÿ Push events, Merge request events, Pipeline events. Óñòàíîâèòå èëè ñíèìèòå ôëàã SSL âåðèôèêàöèè â çàâèñèìîñòè îò òèïà ïóáëèêàöèè. Íàæìèòå êíîïêó Add webhook.

Ïðîâåäèòå òåñòèðîâàíèå, íàæàâ íà êíîïêó Test/Push events. Gitlab îòïðàâèò ñîáûòèå push ñ SHA íà êîòîðûé óêàçûâàåò origin/master â êà÷åñòâå òåñòà. Îòêðîéòå ðåãèñòð ñâåäåíèé JSON, åñëè ïîÿâèëàñü çàïèñü, ñîîòâåòñòâóþùàÿ ïî âðåìåíè îòïðàâêå è ïî êîììåíòàðèþ ñîîòâåòñòâóþùàÿ ôèêñàöèè óêàçàòåëÿ origin/master â ïðîåêòå - çíà÷èò íàñòðîéêà API ÑÏÏÐ ïðîâåäåíà âåðíî. Ìîæíî åù¸ îòêðûòü, íàæàâ íà êíîïêó Edit, îòïðàâëåííûå âåá õóêè, è, îòêðûâ ïîñëåäíèé, ïðîñìîòðåòü äåòàëè - ñîîáùåíèå JSON. Ýòî æå ñîîáùåíèå äîëæíî áûòü â ðåãèñòðå ñâåäåíèé JSON â ïîëå "Çàïðîñ". Âàæíî! Ïðîöåäóð î÷èñòêè ðåãèñòðà ñâåäåíèé JSON íå ïðåäóñìîòðåíî, î÷èùàéòå åãî ñàìîñòîÿòåëüíî âî èçáåæàíèå ðàçðàñòàíèÿ ÈÁ ÑÏÏÐ.

Ññûëêà äëÿ ïîëó÷åíèÿ ôàéëà êîíâåéåðà áóäåò âûãëÿäåòü êàê https://my_server.ru/sppr_api/hs/GetPipeline/PipelineOfMyProject/ci-module.yml, ãäå PipelineOfMyProject - èìÿ ýëåìåíòà ñïðàâî÷íèêà "Ñáîðî÷íûå ëèíèè"


 ñåêöèè Íàñòðîéêà óâåäîìëåíèé, íåîáõîäèìî äîáàâèòü àäìèíèñòðàòîðîâ ñáîðîê, ÷òîáû îíè èìåëè âîçìîæíîñòü ïîëó÷àòü ñîîáùåíèÿ íå òîëüêî îá óñïåøíûõ ñáîðêàõ, íî è â òåõ ñëó÷àÿõ, êîãäà â ñáîðêà çàâåðøåíà íåóñïåøíî. Îñîáåííî ýòî ïîëåçíî, êîãäà â GitLAB íå íàñòðîåíû óâåäîìëåíèÿ íà ýëåêòðîííóþ ïî÷òó.

 ñåêöèè Íàñòðîéêè gitlab API äëÿ êàæäîãî ïðîåêòà óêàçàòü ñëåäóþùèå íàñòðîéêè:

Âàðèàíòû è îñîáåííîñòè ñöåíàðèåâ ó÷åòà èñïðàâëåíèÿ îøèáîê â ÑÏÏÐ ïðè èñïîëüçîâàíèè ðàñøèðåíèÿ «Óïðàâëåíèå ñáîðêîé GLI»

 ðàñøèðåíèè ïîääåðæèâàþòñÿ íåñêîëüêî ñöåíàðèåâ ó÷åòà èñïðàâëåíèé îøèáîê. Âíå çàâèñèìîñòè îò âàðèàíòà ïðè íàñòóïëåíèè ñîáûòèÿ ñáîðêè ÑÏÏÐ, äëÿ óâåäîìëåíèé îðèåíòèðóåòñÿ ïî ñëåäóþùèì êðèòåðèÿì:

  1. Ñ òî÷êè çðåíèÿ Git ñáîðêà ïðîèñõîäèò âåòêè. Git íå çíàåò ÷òî îí ñîáèðàåò, ïî ýòîìó âñÿ èíôîðìàöèÿ êîãî óâåäîìëÿòü ïîëó÷àåòñÿ èç ÑÏÏÐ.

  2. Îáúåêòîì ñáîðêè ñ÷èòàåòñÿ ëþáîé îáúåêò, ññûëàþùèéñÿ íà âåòêó ñáîðêè (ýëåìåíò ñïðàâî÷íèêà «Îøèáêè» â ïîëå «Âåòêà èñïðàâëåíèÿ» øàïêè èëè â ïîëå «Âåòêà èñïðàâëåíèÿ» â Ò× «Èñïðàâëåíèÿ â âåòêàõ» èëè â ïîëå «Âåòêà ðàçðàáîòêè» ñïðàâî÷íèêà «Òåõíè÷åñêèå ïðîåêòû»), ó êîòîðîãî íå çàïîëíåí ðåêâèçèò «Ñáîðêà» è ñòàòóñ ëèáî «Èñïðàâëåíà», ëèáî «Èñïðàâëåíà è ïðîâåðåíà». Ó ñïðàâî÷íèêà «Îøèáêè» ðåêâèçèò «Ñáîðêà» â çàâèñèìîñòè îò ñïîñîáà èñïðàâëåíèÿ îøèáêè (â ðàçíûõ âåòêàõ èëè â îäíîé) ìîæåò áûòü ëèáî âíèçó, íàä êíîïêàìè:

    ëèáî, åñëè èñïðàâëåíèå âåòêè âåä¸òñÿ â ðàçíûõ âåòêàõ, â òàáëè÷íîé ÷àñòè «Èñïðàâëåíèÿ â âåòêàõ»:

    Òåõíè÷åñêèé ïðîåêò:

    Çíà÷åíèå ïîëÿ î÷èùàåòñÿ:

    1. Ïðè çàïèñè ýëåìåíòà ñïðàâî÷íèêà «Îøèáêè» ñî ñòàòóñîì «Èñïðàâëåíî» èëè «Èñïðàâëåíà è ïðîâåðåíà», ëèáî â øàïêå, ëèáî â òàáëè÷íîé ÷àñòè «Âåòêè»

    2.  øàïêå òåõíè÷åñêîãî ïðîåêòà, ïðè íàïðàâëåíèè íà ïðîâåðêó çàäà÷è ïðîöåññà òåõíè÷åñêîãî ïðîåêòà.

    3. Äëÿ ïðî÷èõ âíåøòàòíûõ ñèòóàöèé ïîëå äîñòóïíî ïîëüçîâàòåëÿì ñ ðîëÿìè «Àäìèíèñòðàòîð» è «Àäìèíèñòðàòîð ñáîðîê» äëÿ èçìåíåíèÿ.

  3. Åñëè ïîëå «Ñáîðêà» íå çàïîëíåíà, òî îáúåêò âêëþ÷àåòñÿ â óâåäîìëåíèÿ ïðè ñáîðêå âåòêè ñâÿçàííîé ñ îáúåêòîì ñáîðêè, ïîëüçîâàòåëè äëÿ óâåäîìëåíèÿ èçâëåêàþòñÿ èç îáúåêòà ñáîðêè, åñëè íåò íè îäíîãî îáúåêòà ñáîðêè îæèäàþùåãî ñáîðêè, ñâÿçàííîãî ñ ñîáèðàåìîé / òåñòèðóåìîé âåòêîé òî ïîëüçîâàòåëè äëÿ óâåäîìëåíèÿ âûáèðàþòñÿ èç âåòêè, äëÿ âåòîê âåðñèé, òåñòèðîâàíèÿ ýòîò ñïèñîê äîñòóïåí äëÿ çàïîëíåíèÿ.


 âåòêå ñ òèïîì «Âåòêà äëÿ èñïðàâëåíèÿ îøèáîê»:

Áåç èíäèâèäóàëüíîé ÈÁ, äëÿ ïðîâåðêè èñïðàâëåíèÿ èñïîëüçóåòñÿ îáùàÿ âåòêà òåñòèðîâàíèÿ âåòêè âåðñèè.

Ñ âûäåëåííîé, ïðèâÿçàííîé ê îáúåêòó ñáîðêè (îøèáêå èëè âåòêå) ÈÁ.

 âåòêå âåðñèè:

ÈÁ ïðèâÿçàíà ê âåòêå âåðñèè.

Ïîðÿäîê óâåäîìëåíèé î ñîáðàííûõ èñïðàâëåíèé îøèáîê òàêîé æå, êàê è äëÿ ÈÁ, ïðèâÿçàííîé ê âåòêå èñïðàâëåíèÿ îøèáîê. Òàêîé âàðèàíò óäîáåí ïðè íà÷àëüíîì ôîðìèðîâàíèè âåòêè âåðñèè, íàïðèìåð, ñðàçó ïîñëå òîãî, êàê â íîâóþ âåòêó âåðñèè ïîìåñòèëè îáíîâëåííóþ îò ïîñòàâùèêà êîíôèãóðàöèþ ïðîåêòà, êàê ïðàâèëî åù¸ ñûðóþ è òðåáóþùóþ ðåôàêòîðèíãà.  ýòèõ ñëó÷àÿõ, ðåëèçà åù¸ íå áûëî è ôèêñàöèè óäîáíî äåëàòü ïðÿìî â âåòêó âåðñèè. Äàëåå, ïîñëå ïóáëèêàöèè ïåðâîãî ðåëèçà (èëè ïîëó÷åíèÿ ïåðâîé ðàáîòîñïîñîáíîé áàçû, îáû÷íî ýòî ïðîèñõîäèò îäíîâðåìåííî) ïðåäïîëàãàåòñÿ ââåñòè çàïðåò îò íåïîñðåäñòâåííûõ ôèêñàöèé â âåòêó âåðñèè (ïî êðàéíåé ìåðå çàïðåòèòü äåëàòü ôèêñàöèè äëÿ ó÷àñòíèêîâ ïðîåêòà ñ óðîâíåì äîñòóïà «Ðàçðàáîò÷èê», îñòàâèòü òîëüêî äëÿ àäìèíèñòðàòîðîâ ïðîåêòà).

 âåòêå òåõíè÷åñêîãî ïðîåêòà

ÈÁ ïðèâÿçàíà ê òåõíè÷åñêîìó ïðîåêòó.

 âåòêàõ òåõíè÷åñêèõ ïðîåêòîâ ðåãèñòðèðóþò îñîáûé ñîðò îøèáîê, êîòîðûå êàê ïðàâèëî åù¸ íå äîøëè äî ðåëèçà. ×èñòî òåõíè÷åñêè óâåäîìëåíèÿ íè÷åì íå îòëè÷àþòñÿ îò âàðèàíòà èñïðàâëåíèÿ îøèáêè «Ñ âûäåëåííîé, ïðèâÿçàííîé ê îáúåêòó ñáîðêè (îøèáêå èëè âåòêå) ÈÁ.» Îøèáêè ïîäîáíîãî ðîäà âûÿâëÿþòñÿ ïðè âíóòðåííåì òåñòèðîâàíèè â ÈÁ, ñâÿçàííîé ñ âåòêîé òåõíè÷åñêîãî ïðîåêòà. Åñëè òåõíè÷åñêèé ïðîåêò åù¸ àêòèâåí, êàê ïðàâèëî îøèáêó äîáàâëÿþò â ýòîò æå òåõíè÷åñêèé ïðîåêò, ãäå îíà ïðîïèñûâàåòñÿ íà çàêëàäêå «Èäåè è îøèáêè» â îñòàëüíîì ðàáîòà ñ îøèáêîé íå îòëè÷àåòñÿ îò îáû÷íîé îøèáêè, èñïðàâëÿåìîé â âåòêå èñïðàâëåíèÿ îøèáêè. Òàê æå, â ðàìêàõ òåõíè÷åñêèõ ïðîåêòîâ èñïðàâëÿþòñÿ îøèáêè, íàéäåííûå â âûïóùåííûõ ðåëèçàõ è èñïðàâëåíèå òàêèõ îøèáîê, ìîæåò ïðèâåñòè ê èçìåíåíèþ êîäà áóäóùåãî ôóíêöèîíàëà, êîòîðûé â íàñòîÿùèé ìîìåíò äîðàáàòûâàåòñÿ. Ïîäðîáíåå î òàêèõ îøèáêàõ ìîæíî ïðî÷èòàòü çäåñü: 9.6. Ðàáîòà ñ îøèáêàìè, òðåáóþùèìè ïðîåêòèðîâàíèÿ :: 1Ñ:Ïðåäïðèÿòèå 8. Êîíôèãóðàöèÿ «Ñèñòåìà ïðîåêòèðîâàíèÿ ïðèêëàäíûõ ðåøåíèé». Ðåäàêöèÿ 2.0. Ðóêîâîäñòâî ïîëüçîâàòåëÿ (1c.ru). Ïðè ñáîðêå âåòêè åñëè â òåõíè÷åñêîì ïðîåêòå íîâîãî ôóíêöèîíàëà íå ðåàëèçîâàëè (çàäà÷ ïðîöåññîâ íà ïðîâåðêó íå áûëî ïåðåäàíî) – íîìåð ñáîðêè â ÒÏ îñòà¸òñÿ ïðåæíèì, à íîìåð ñáîðêè ïðîïèñûâàåòñÿ òîëüêî â îøèáêå. Âàæíûì ïëþñîì ÿâëÿåòñÿ âîçìîæíîñòü íå îïèñûâàòü ïîäðîáíî èçìåíåíèÿ â ìåòàäàííûõ îøèáêè, òàê êàê âñå èçìåíåíèÿ âåòêè òåõíè÷åñêîãî ïðîåêòà áóäóò çàãðóæåíû â òàáëèöó ÎÌÄ âìåñòå ñ äàííûìè òåõíè÷åñêîãî ïðîåêòà. Ñëåäóåò îòìåòèòü, ÷òî ãðàôà «Îïèñàíèå ðåàëèçàöèè èäåè, èñïðàâëåíèÿ îøèáêè» íå èñïîëüçóåòñÿ â ÷àñòè îøèáêè ïðè ôîðìèðîâàíèè îò÷¸òà: «Îò÷åò Ïîäãîòîâêà îïèñàíèÿ âåðñèè ïî òåõïðîåêòàì è îøèáêàì» äëÿ âûâîäà èñïðàâëåíèé èñïîëüçóåòñÿ òåêñò ñ ñîîòâåòñòâóþùåé çàêëàäêè îøèáêè «Èñïðàâëåíèå».

Ñöåíàðèè ñîçäàíèÿ âåòîê â Git è âçàèìîñâÿçü âåòîê Git ñ îäíîèìåííûì ñïðàâî÷íèêîì «Âåòêè» â ÑÏÏÐ.

Ðàçðàáîò÷èê, ïðè âûïîëíåíèè äîðàáîòîê äîëæåí ñâÿçàòü îáúåêò äîðàáîòêè â ÑÏÏÐ è óêàçàòü ÑÏÏÐ â êàêîé âåòêå ïðîèçâîäèëàñü äîðàáîòêà èëè èñïðàâëåíèå îøèáêè. Óêàçàíèå âåòîê â îáúåêòàõ ñáîðêè ïîçâîëÿåò àâòîìàòèçèðîâàòü îïåðàöèè – àâòîìàòè÷åñêîå ôîðìèðîâàíèå çàïðîñîâ íà ñëèÿíèå ïðè ïåðåäà÷å â òåñòèðîâàíèå è ïîëó÷åíèå ìåòàäàííûõ äîðàáîòîê èç Git, ïðè ðàçðàáîòêå â òåõíè÷åñêîì ïðîåêòå. Äåëàòü ýòî ìîæíî äâóìÿ ñïîñîáàìè, îïèñàííûìè íèæå.

Ñîçäàíèå âåòîê èç ÑÏÏÐ

Óòèëèòà ðàñøèðÿåò âîçìîæíîñòè òèïîâîãî ôóíêöèîíàëà äëÿ ðàáîòû ñ âåòêàìè Git. Îñíîâíàÿ âåòêà ïðîåêòà - master ââîäèòñÿ àâòîìàòè÷åñêè ïðè ñîçäàíèè íîâîãî ïðîåêòà â ÑÏÏÐ.  Git íà ñîçäà¸òñÿ ïî óìîë÷àíèþ ïðè ñîçäàíèè ïåðâîé ôèêñàöèè â õðàíèëèùå. Âñå îñòàëüíûå âåòêè ìîæíî ñîçäàâàòü â ÑÏÏÐ ÷åðåç íàæàòèå êíîïêè ñ ïèêòîãðàììîé: . Ïðè íàæàòèè íà êíîïêó â óäàë¸ííîì Git áóäåò ïðåäïðèíÿòà ïîïûòêà ñîçäàíèÿ âåòêè, åñëè ïîïûòêà óñïåøíà – áóäåò âûäàíî ñîîòâåòñòâóþùåå ñîîáùåíèå, ïðè íåóäà÷íîì ñîçäàíèè áóäåò âûäàíî äèàãíîñòè÷åñêîå ñîîáùåíèå. Äëÿ ïîëó÷åíèÿ âåòêè â ëîêàëüíûé êëîí õðàíèëèùà ðàçðàáîò÷èêó íåîáõîäèìî âûïîëíèòü îïåðàöèþ Ïîëó÷èòü èç óäàëåííîãî õðàíèëèùà (Fetch).

Ñîçäàíèå âåòîê â ÑÏÏÐ ïðè ïåðâè÷íîì ïîìåùåíèè âåòêè â óäàëåííîå õðàíèëèùå

Âíåøíå ýòî ìîæåò âûãëÿäåòü ïî-ðàçíîìó, îäíàêî òåõíè÷åñêè ïðè ïîÿâëåíèè â óäàëåííîì õðàíèëèùå ôèêñàöèè ñ íîâîé âåòêîé ïðîèçâîäèòñÿ ïîïûòêà ñâÿçàòü ýòó âåòêó ñ ñîîòâåòñòâóþùèì ýëåìåíòîì ñïðàâî÷íèêà «Âåòêè», íàéòè ñîîòâåòñòâóþùèé îáúåêò ñáîðêè, è ïîäñòàâèòü ýëåìåíò ñïðàâî÷íèêà «Âåòêè» â íåãî, òåì ñàìûì óêàçàâ âåòêó ðàçðàáîòêè èëè èñïðàâëåíèÿ îøèáêè â îáúåêòå ñáîðêè. Åñëè òàêîãî ýëåìåíò â ñïðàâî÷íèêå âåòêè îòñóòñòâóåò, ïðåäïðèíèìàåòñÿ ïîïûòêà îïðåäåëèòü ðîäèòåëüñêóþ âåòêó âåðñèè, è ïðè îòñóòñòâèè íåîïðåäåëåííîñòåé ýëåìåíò ñïðàâî÷íèêà «Âåòêè» áóäåò ñîçäàí â ÑÏÏÐ, î ÷åì ïîëüçîâàòåëü ïîëó÷èò óâåäîìëåíèå â ñèñòåìå:


Òåõíè÷åñêèå ìîìåíòû è ñïîñîá ïîèñêà áàçîâîé (èñõîäíîé) âåòêè îïèñàí çäåñü. Àíàëîãè÷íîå ïîâåäåíèå áóäåò ïðåäïðèíÿòî ïðè ñîçäàíèè âåòêè â âåá èíòåðôåéñå Gitlab.



1Îïèñàíèå ñîîòâåòñòâóåò âåðñèè 1.0.2.6, äîïîëíåíî èçìåíåíèÿìè âåðñèè 1.0.2.15, îñòàëüíûå èçìåíåíèÿ è èñïðàâëåíèÿ îøèáîê ïî ññûëêå Îïèñàíèå îáíîâëåíèé