Ðóêîâîäñòâî ïîëüçîâàòåëÿ Ðàñøèðåíèå 1Ñ:ÑÏÏÐ: «Óïðàâëåíèå ñáîðêîé GLI». 1
Ïîðÿäîê ïîäêëþ÷åíèÿ è íà÷àëà èñïîëüçîâàíèÿ: 2
Ïîä÷èíåííûé ñïðàâî÷íèê Ðàçìåùåíèÿ áàç íà ÑÓÁÄ 5
Ñïðàâî÷íèê Èíôîðìàöèîííûå áàçû 5
Ïîä÷èíåííûé ñïðàâî÷íèê Ïàêåòíûå çàäàíèÿ 14
Ñïðàâî÷íèê Àëãîðèòìû îïðåäåëåíèÿ ïåðåìåííûõ 15
Îò÷åò Ïîäãîòîâêà îïèñàíèÿ âåðñèè ïî òåõïðîåêòàì è îøèáêàì 17
Ðàñøèðåíèå îáúåêòîâ îñíîâíîé êîíôèãóðàöèè 19
Ñïðàâî÷íèê Òåõíè÷åñêèå ïðîåêòû 21
Ïîä÷èíåííûé ñïðàâî÷íèê Ñáîðêè âåðñèè 22
Îáðàáîòêà Íàñòðîéêà óâåäîìëåíèé î ñáîðêàõ è ïîäêëþ÷åíèå ê GitLab API 23
 âåòêå ñ òèïîì «Âåòêà äëÿ èñïðàâëåíèÿ îøèáîê»: 25
 âåòêå òåõíè÷åñêîãî ïðîåêòà 28
Ñöåíàðèè ñîçäàíèÿ âåòîê â Git è âçàèìîñâÿçü âåòîê Git ñ îäíîèìåííûì ñïðàâî÷íèêîì «Âåòêè» â ÑÏÏÐ. 28
Ñîçäàíèå âåòîê â ÑÏÏÐ ïðè ïåðâè÷íîì ïîìåùåíèè âåòêè â óäàëåííîå õðàíèëèùå 28
Ïîäñèñòåìà ïðåäíàçíà÷åíà äëÿ óïðîùåíèÿ ðóòèííûõ îïåðàöèé â ÷àñòè âûïóñêà íîâûõ ðåëèçîâ ñèñòåìû è ïîääåðæêè ñáîðî÷íûõ ëèíèé Gitlab CI/CD â àêòóàëüíîì ñîñòîÿíèè. Ïîäñèñòåìà ðàññ÷èòàíà èñêëþ÷èòåëüíî íà êëèåíò - ñåðâåðíóþ àðõèòåêòóðó òåñòîâûõ ÈÁ. Èñïîëüçóåò ñèñòåìó âçàèìîäåéñòâèÿ äëÿ îïîâåùåíèÿ ïîëüçîâàòåëåé î ðåçóëüòàòàõ ñáîðîê, ñîçäàíèè âåòîê èñïðàâëåíèÿ îøèáîê è òåõíè÷åñêèõ ïðîåêòîâ â Git, óâåäîìëåíèÿ î ïðîáëåìàõ ïðèíÿòèÿ çàïðîñîâ íà ñëèÿíèå. Áåç ñèñòåìû âçàèìîäåéñòâèÿ ôóíêöèîíàëüíîñòü áóäåò ñèëüíî îãðàíè÷åíà. Îäíàêî ñóùåñòâóåò âîçìîæíîñòü èñïîëüçîâàíèÿ ñèñòåìû â ðåæèìå, êîòîðûé èñïîëüçóåòñÿ ïî óìîë÷àíèþ â ñèñòåìå êàê ðåçåðâíûé — ïîñðåäñòâîì îòïðàâêè óâåäîìëåíèé íà ýëåêòðîííóþ ïî÷òó ïîëüçîâàòåëåé. Ïîäñèñòåìà àâòîìàòè÷åñêè ïåðåêëþ÷àåòñÿ â ðåçåðâíûé ðåæèì ïðè îòñóòñòâèè âîçìîæíîñòè îòîñëàòü óâåäîìëåíèå ÷åðåç ñèñòåìó âçàèìîäåéñòâèÿ (âêëþ÷àÿ è âàðèàíò, êîãäà ñèñòåìà âçàèìîäåéñòâèÿ îòêëþ÷åíà) è âîññòàíàâëèâàåò ðàññûëêó ÷åðåç ÑÂ, ïðè âîññòàíîâëåíèè ñîåäèíåíèÿ ñ ñåðâåðîì âçàèìîäåéñòâèÿ.
Âåñòè ñïèñîê èíôîðìàöèîííûõ áàç (ÈÁ) â íåñêîëüêèõ êëàñòåðàõ è ÑÓÁÄ. Ñïðàâî÷íèê "Èíôîðìàöèîííûå áàçû"
Äëÿ êàæäîé ÈÁ äîïóñòèìî óêàçàíèå èìåíè ïîëüçîâàòåëÿ è ïàðîëÿ, ñîõðàíÿåìûå â íàñòðîéêàõ ïîëüçîâàòåëÿ.
Èíôîðìàöèîííûå áàçû ïðåäñòàâëåíû â âèäå èåðàðõè÷åñêîãî ñïèñêà, ãäå íå ïåðâîì óðîâíå ýòî èñõîäíûå (ýòàëîííûå) ÈÁ, à îñòàëüíûå óðîâíè — ýòî êëîíû ýòàëîííûõ áàç äëÿ òåñòèðîâàíèÿ ôóíêöèîíàëà ðàçðàáàòûâàåìîé ñèñòåìû.
Äëÿ êàæäîé ÈÁ âîçìîæíî èñïîëíåíèå ðàçëè÷íûõ êîìàíäíûõ ôàéëîâ, èç êîòîðûõ ÷åòûðå ïðåäîïðåäåëåíû (êîïèðîâàíèå èç ðîäèòåëÿ, óäàëåíèå, ïîëó÷åíèå ïàðàìåòðîâ è ïîëó÷åíèè ñïèñêà ÈÁ). Îñòàëüíûå ìîãóò äîáàâëÿòüñÿ ïî óñìîòðåíèþ. Êîìàíäíûå ôàéëû õðàíÿòñÿ â âèäå øàáëîíîâ, äëÿ êàæäîãî øàáëîíà ïðåäóñìîòðåíû àëãîðèòìû ïîäãîòîâêè (çàïîëíåíèÿ) ïåðåìåííûõ øàáëîíà è àëãîðèòìû îáðàáîòêè ðåçóëüòàò íà âñòðîåííîì ÿçûêå.
Êàæäàÿ èíôîðìàöèîííàÿ áàçà ìîæåò áûòü ñâÿçàíà ñ íåêîòîðûì îáúåêòîì ðàçðàáîòêè:
Âåòêè âåðñèé, îñíîâíàÿ âåòêà ïðîåêòà
Òåõíè÷åñêèå ïðîåêòû
Îøèáêè
Âåñòè ñïðàâî÷íèê "Ñáîðî÷íûõ ëèíèé", ïðåäñòàâëÿþùèõ ñîáîé äèíàìè÷åñêè ôîðìèðóåìûé øàáëîí ñáîðî÷íîé ëèíèè ïðîåêòà, ïîäêëþ÷àåìûé â êîíâåéåðå Gitlab îäíîé ñòðîêîé è íå òðåáóþùèõ ìîäèôèêàöèè êîðíåâîãî ôàéëà ïðîåêòà .gitlab-ci.yml. Ïðèìåð øàáëîíà.
Ïîääåðæèâàòü êîíñèñòåíòíîñòü âåòêè âåðñèè, â êîòîðîé ñîäåðæèòñÿ òîëüêî ïðîâåðåííûé êîä, è ïîçâîëÿþùèé âûïóñòèòü ðåëèç â ëþáîé ìîìåíò ñîãëàñíî òðåáîâàíèÿì Ðàçðàáîòêà ïëàíîâîé âåðñèè ï. 3.2 çà ñ÷åò èñïîëüçîâàíèÿ âåòêè òåñòèðîâàíèÿ (ïîäðîáíåå Åù¸/? Ñïðàâêà (GLI)*)
À
âòîìàòè÷åñêè
ôîðìèðîâàòü çàïðîñû íà ñëèÿíèå â âåòêó òåñòèðîâàíèÿ îøèáîê,
èñïðàâëÿåìûõ â âûäåëåííûõ âåòêàõ, íå èìåþùèõ ñâÿçè ñ ÈÁ è
îòìå÷åííûõ êàê "Èñïðàâëåíî". (Ïîäðîáíåå ñì. äîïîëíåíèå ê
ñïðàâêå ïî ñïðàâî÷íèêó "Îøèáêè")
Àâòîìàòè÷åñêè ôîðìèðîâàòü çàïðîñû íà ñëèÿíèå â âåòêó âåðñèè ïîäòâåðæäåííûõ îøèáîê
Ìàêñèìàëüíî àâòîìàòè÷åñêè ïîäãîòàâëèâàòü îïèñàíèå ðåëèçà.
Àâòîìàòè÷åñêè ñîçäàâàòü ýëåìåíòû â ñïðàâî÷íèêå âåòêè, ñîçäàííûå ïðè ïîìåùåíèè â ãèò èç ëîêàëüíîãî ðåïîçèòîðèÿ ãèò äëÿ òåõíè÷åñêèõ ïðîåêòîâ è èñïðàâëÿåìûõ îøèáîê. (×àñòè÷íî òðåáóåòñÿ ÑÂ, â ñëó÷àÿõ, êîãäà ïîëüçîâàòåëü íà÷àë ðåäàêòèðîâàòü îáúåêò è â ýòîò ìîìåíò ðàçðàáîò÷èêè ïîìåñòèë íîâóþ âåòêó â óäàëåííîå õðàíèëèùå) (Ïîäðîáíåå ñì. äîïîëíåíèå ê ñïðàâêå â ñïðàâî÷íèêå "Îøèáêè")
Óâåäîìëÿòü ïîëüçîâàòåëåé îá îêîí÷àíèè ñáîðî÷íîãî êîíâåéåðà è ôóíêöèîíàëå, âêëþ÷åííîì â íåãî ÷åðåç ñèñòåìó âçàèìîäåéñòâèÿ. (Òðåáóåòñÿ ÑÂ***)
Óâåäîìëÿòü àäìèíèñòðàòîðîâ ñáîðîê îáî âñåõ ñîáûòèÿõ ñáîðî÷íîãî êîíâåéåðà, íå òîëüêî îá óñïåøíûõ. (Òðåáóåòñÿ ÑÂ)
Óâåäîìëÿòü ðàçðàáîò÷èêà î ïðîáëåìàõ ïðè ïðèíÿòèè çàïðîñà íà ñëèÿíèå åãî êîäà â âåòêó òåñòèðîâàíèÿ (Òðåáóåòñÿ ÑÂ)
Ïðåäïîëàãàåòñÿ, ÷òî èìÿ áàçû â êëàñòåðå è ñåðâåðå ÑÓÁÄ ñîâïàäàåò.
Íå äîïóñêàåòñÿ îäíîâðåìåííàÿ ðàáîòà ñ äâóìÿ è áîëåå êëîíàìè Gitlab õðàíèëèù, íî äîïóñêàåòñÿ áûñòðîå ïåðåêëþ÷åíèå ìåæäó íèìè èçìåíåíèåì íàñòðîåê. Íàïðèìåð, êîãäà â ïóáëè÷íîå õðàíèëèùå ðåçóëüòàòû ðàáîòû ìîãóò âûêëàäûâàòüñÿ íå ñðàçó, à îòëàäêà íåêîòîðîãî ôóíêöèîíàëà ïðîâîäèòñÿ â çàùèù¸ííîì òåñòîâîì êîíòóðå, îáîñîáëåííûì îò ïóáëè÷íîãî.  ýòîì ñëó÷àå áóäóò êîððåêòíî îáðàáàòûâàòüñÿ âõîäÿùèå çàïðîñû ÷åðåç API, ýòîãî áóäåò äîñòàòî÷íî äëÿ îáðàáîòêè ñîáûòèé pipeline, push, merge-request, íî, ÷òîáû, çàðàáîòàëà èñõîäÿùàÿ èíòåãðàöèÿ, íåîáõîäèìî â ïðîåêòå óêàçàòü íîâóþ ñòðîêó ïîäêëþ÷åíèÿ ê õðàíèëèùó Git.
Íå ïîääåðæèâàåòñÿ èíòåãðàöèÿ ïî issue Gitlab
Åñëè ñ ñåðâåðà ÑÏÏÐ äîñòóïà ê ÑÓÁÄ íåò, ñêîðåå âñåãî èñïîëüçîâàòü ôóíêöèîíàë íå ïîëó÷èòñÿ, ëèáî áóäóò îãðàíè÷åíû îïåðàöèè ñ êîïèðîâàíèåì ýòàëîííûõ áàç. Äëÿ ýëåìåíòà ñïðàâî÷íèêà ÑÓÁÄ, ê êîòîðûì äîñòóïà ñ ñåðâåðà ÑÏÏÐ íåò íóæíî âêëþ÷èòü ôëàã "Íå îïðàøèâàòü äîñòóïíîñòü ÑÓÁÄ" Ïîäðîáíåå çäåñü.
Ïðåäîïðåäåëåííûå è ïðîèçâîëüíûå ïàêåòíûå çàäàíèÿ äîñòóïíû òîëüêî ïîëüçîâàòåëþ, èìåþùåìó "Ïîëíûå ïðàâà", ëèáî "Àäìèíèñòðàòîðó ñáîðîê" â áóäóùåì ïëàíèðóåòñÿ ñíÿòü ýòî îãðàíè÷åíèå, ðàçðåøèâ ðàçðàáîò÷èêàì â íåêîòîðûõ ñëó÷àÿõ èñïîëíÿòü íåêîòîðûå ïàêåòíûå çàäàíèÿ.
Ïîäêëþ÷åíèå è íàñòðîéêà
Äëÿ ïîäêëþ÷åíèÿ íåîáõîäèìî èíèöèàëèçèðîâàòü ñèñòåìó âçàèìîäåéñòâèÿ 1Ñ â ÈÁ ÑÏÏÐ, åñëè îíà åù¸ íå èñïîëüçóåòñÿ, èíñòðóêöèè ïî àêòèâèðîâàíèþ 1Ñ:Ñèñòåìà âçàèìîäåéñòâèÿ
Îïóáëèêîâàòü, îáîñîáëåííî îò îñíîâíîé ïóáëèêàöèè ÈÁ ÑÏÏÐ, íà âåá ñåðâåðå http ñåðâèñû ðàñøèðåíèÿ BS è GetPipeline. Ïîäðîáíåå çäåñü.
Íàñòðîèòü gitlab-runners äëÿ ýòàïîâ ñáîðêè è îáíîâëåíèÿ ÈÁ. Ó gitlab-runners íå äîëæíî áûòü îãðàíè÷åíèé ïî äîñòóïó ê ñåðâåðó ÑÓÁÄ è êëàñòåðàì 1Ñ, âêëþ÷àÿ è ïðèëåãàþùèé ê òåñòîâîìó ïðîäóêòèâíîìó êîíòóðó.  ïðîòèâíîì ñëó÷àå, âîçìîæíîñòü ñáîðêè ÈÁ âåòêè âåðñèè ñ îäíîâðåìåííûì îáíîâëåíèåì òåñòîâûõ äàííûõ èç ïðîäóêòèâíîãî êîíòóðà áóäåò íåâîçìîæíà.
Íàñòðîèòü âåá õóêè. Ïîäðîáíåå çäåñü.
Ïðåäîñòàâèòü ñëóæáå ñåðâåðà ÑÏÏÐ äîñòóï â òåñòîâûé êîíòóð: îòêðûòü ïîðòû ÑÓÁÄ, 1Ñ, îðãàíèçîâàòü ïîñòîÿííîå ñåòåâîå ïîäêëþ÷åíèå ê òåñòîâîìó êîíòóðó ñåðâåðà, íà êîòîðîì ðàáîòàåò ÑÏÏÐ.
Ñîçäàòü â Gitlab ïîëüçîâàòåëÿ ÑÏÏÐ, äîáàâèòü
åãî â ïðîåêò êàê maintainer.
Ñãåíåðèðîâàòü äëÿ ïîëüçîâàòåëÿ ïðèâàòíûé êëþ÷ è óêàçàòü
èäåíòèôèêàòîð ïðîåêòà è ïðèâàòíûé êëþ÷ â
íàñòðîéêàõ, òàì æå ñîçäàòü
ñëóæåáíîãî ïîëüçîâàòåëÿ â ÑÏÏÐ, î ëèöà êîòîðîãî áóäåò ðàáîòàòü
èíòåãðàöèÿ è ðàññûëàòüñÿ óâåäîìëåíèÿ â ÑÂ.
Âàæíî! Ïðè ñîçäàíèè ïîëüçîâàòåëÿ – áîòà ïðîôèëü «HTTP
Ñåðâèñ» ñîçäà¸òñÿ àâòîìàòè÷åñêè, â í¸ì èñïîëüçóþòñÿ äâå ðîëè:
Òèïîâàÿ «Çàïóñê âíåøíåãî ñîåäèíåíèÿ» è ðîëü ðàñøèðåíèÿ
«×òåíèå èíòåãðàöèÿ Gitlab». Ðîëü ðàñøèðåíèÿ èñïîëüçóåò
âèä äîñòóïà «Ïðîåêòû», ïî óìîë÷àíèþ â ñîçäàííîì ïðîôèëå
ñåðâèñó äîñòóïíû âñå ïðîåêòû, äàæå åñëè îãðàíè÷åíèå äîñòóïà íà
óðîâíå çàïèñåé âûêëþ÷åíî. Åñëè Âàì íóæíî îãðàíè÷èòü äîñòóï ê
êàêèì-ëèáî ïðîåêòàì, óñòàíîâèòå íàñòðîéêè ïðîôèëÿ è ñêîððåêòèðóéòå
ãðóïïó äîñòóïà, â êîòîðóþ áóäåò âêëþ÷åí áîò, ñîîòâåòñòâóþùèì
îáðàçîì. Ðîëü «×òåíèå èíòåãðàöèÿ GitLab»
íåîáõîäèìà ïîòîìó, ÷òî íåñìîòðÿ íà òî, ÷òî êîä HTTP
ñåðâèñf, îòäàþùèé òåñò ñáîðî÷íîé ëèíèè
èñïîëíÿåòñÿ â ïðèâèëåãèðîâàííîì ðåæèìå, îïðåäåëåíèå ïåðåìåííûõ
ïðîèçâîäèòñÿ èñïîëíåíèåì êîäà â áåçîïàñíîì ðåæèìå, äëÿ ýòîãî ðîëü
ñîäåðæèò ñ ó÷¸òîì RLS ïðàâà íà ÷òåíèå âñåõ
ñïðàâî÷íèêîâ ðàñøèðåíèÿ, à òàê æå ñïðàâî÷íèêîâ òåõíè÷åñêèå ïðîåêòû,
îøèáêè, âåòêè, âåðñèè ïðîåêòîâ, ñáîðêè âåðñèé, ïîëüçîâàòåëè. Ýòèõ
äîñòóïîâ äîñòàòî÷íî äëÿ ðàáîòû ñáîðî÷íîé ëèíèè â äåìîíñòðàöèîííîé
áàçå. Åñëè âû â àëãîðèòìàõ îïðåäåëåíèÿ ïåðåìåííûõ çàäóìàåòå
èñïîëüçîâàòü åù¸ êàêèå-òî äðóãèå ñïðàâî÷íèêè òî ñîîòâåòñòâóþùèå
ðîëè, ðàçðåøàþùèå äîñòóï íà ÷òåíèå íóæíî áóäåò äîáàâèòü â ïðîôèëü
«HTTP Ñåðâèñ».
Îïèñàòü òåñòîâûå êîíòóð è ïðèëåãàþùèå ê íåìó ýëåìåíòû ïðîäóêòèâíîãî â ñïðàâî÷íèêàõ "ÑÓÁÄ" è "Êëàñòåðû"
Èíèöèàëèçàöèÿ ðàçðàáîòêè ïåðâîé âåðñèè ñèñòåìû
Ñîçäàòü ïåðâóþ âåðñèþ â ñïðàâî÷íèêå «Âåðñèè ïðîåêòà» ñâÿçàòü å¸ ñ âåòêîé âåðñèè
Äîáàâèòü ñáîðî÷íóþ ëèíèþ, ïî àíàëîãèè êàê ýòî ðåàëèçîâàíî â äåìîíñòðàöèîííîé áàçå, ñ ó÷åòîì îñîáåííîñòåé òåñòîâîãî êîíòóðà.
Äîáàâèòü ýòàëîííûå áàçû â êëàñòåð(û) è íà ÑÓÁÄ òåñòîâîãî êîíòóðà, çàðåãèñòðèðîâàòü ñîîòâåòñòâóþùèå êîðíåâûå ýëåìåíòû â ñïðàâî÷íèêå "Èíôîðìàöèîííûå áàçû", ñâÿçàòü èç ñ îáúåêòîì ñáîðêè îñíîâíîé âåòêè ðàçðàáîòêè. Îáåñïå÷èòü ñðåäñòâàìè ÑÓÁÄ ñîõðàííîñòü ÈÁ â ðåæèìå FULL.
Ñîçäàòü âåòêó(è) òåñòèðîâàíèÿ äëÿ âåòêè âåðñèè ïðîåêòà. Ïîäðîáíåå ñì. îïèñàíèå ñïðàâî÷íèêà "Âåòêè" è ñïðàâî÷íèêà "Îøèáêè"
Ñîçäàòü ïîä÷èíåííûå ÈÁ äëÿ âåòêè âåðñèè îò ýòàëîííûõ áàç, è ïðèâÿçàòü ýòè ÈÁ ê âåòêàì âåðñèè, çàïîëíèòü ïîëüçîâàòåëåé, ïîëó÷àòåëåé óâåäîìëåíèÿ â âåòêå âåðñèè. Ê êàæäîìó îáúåêòó òåñòèðîâàíèÿ ìîæåò áûòü ïðèêðåïëåíî ðàçëè÷íîå, íåîáõîäèìîå êîëè÷åñòâî ñîáèðàåìûõ ÈÁ, èìåþùèå ðàçíóþ íàïîëíÿåìîñòü òåñòîâûìè äàííûìè.
Ñîçäàòü ïîä÷èíåííûå ÈÁ îò âåòîê âåðñèè ÈÁ âåòêè òåñòèðîâàíèÿ è ñâÿçàòü èõ ñ âåòêàìè òåñòèðîâàíèÿ.
Çàïóñòèòü ñáîðî÷íûé êîíâåéåð äëÿ âåòêè âåðñèè óáåäèòüñÿ, ÷òîá ñáîðêà è óâåäîìëåíèÿ ðàáîòàþò.
Ñèñòåìà ãîòîâà ê ðàáîòå.
Îïèñàíèå ïðîöåññà ðàáîòû ñ ïîäñèñòåìîé
Ïðîöåññ ñîçäàíèÿ èëè ìîäèôèêàöèè ñóùåñòâóþùåé ñèñòåìû ïðåäñòàâëÿåò ñîáîé ïîñëåäîâàòåëüíîñòü îäíîòèïíûõ ïðîöåññîâ, êîòîðûå ìîæíî ðàçäåëèòü íà äâà îñíîâíûõ ïðîöåññà:
Ðåàëèçàöèÿ äîðàáîòîê ñèñòåìû ñ èñïîëüçîâàíèåì ñïðàâî÷íèêà «Òåõíè÷åñêèå ïðîåêòû» íà îñíîâàíèè ×ÒÇ** â ñïðàâî÷íèêå «Èäåè» â ÑÏÏÐ
Èñïðàâëåíèå îøèáîê â ñèñòåìå, îáíàðóæåííûõ â ðàçíûõ òåñòîâûõ áàçàõ, ïðåèìóùåñòâåííî â îñíîâíîé ýòàëîííîé áàçå ìîäåëèðîâàíèÿ.
Ïðîöåññû ðàáîòû îøèáêàìè è òåõíè÷åñêèìè ïðîåêòàìè îïèñàíû â ðóêîâîäñòâå ïîëüçîâàòåëÿ ÑÏÏÐ
Ïîìèìî äâóõ îñíîâíûõ ïðîöåññîâ ñóùåñòâóþò ïðîöåññû:
Èíèöèàëèçàöèè ðàçðàáîòêè ïåðâîé âåðñèè ñèñòåìû (îïèñàíî âûøå)
Îáíîâëåíèå ñèñòåìû íîâûì ôóíêöèîíàëîì îò ïîñòàâùèêà, âñòðàèâàíèå è îáíîâëåíèå áèáëèîòåê
Çàìîðîçèòü ðàçðàáîòêó íîâîãî ôóíêöèîíàëà â ñòàðîé âåðñèè, ëèáî, ïðè âîçìîæíîñòè (êîãäà íå òðåáóþòñÿ äîðàáîòêè èç òåêóùåé âåðñèè, èëè èõ ÷àñòè÷íî ìîæíî ïåðåíåñòè èç âåòêè òåêóùåé âåðñèè, íå ïðèáåãàþ ê ìàñøòàáíîìó ðåôàêòîðèíãó), âåñòè åãî ðàçðàáîòêó îò âåòêè ñòàíäàðòíîãî ðåëèçà, íà êîòîðûé ïëàíèðóåòñÿ îáíîâëåíèå ñèñòåìû.
Ñîçäàòü íîâóþ âåðñèþ â ñïðàâî÷íèêå «Âåðñèè ïðîåêòà» è äîáàâèòü âåòêó âåðñèè äëÿ íîâîé âåðñèè è âåòêó òåñòèðîâàíèÿ
Ñîçäàòü êîïèè ýòàëîííûõ áàç äëÿ âåòêè âåðñèè è âåòêè òåñòèðîâàíèÿ, îòêëþ÷èòü àâòîìàòè÷åñêîå êîïèðîâàíèå â ñïðàâî÷íèêå «Èíôîðìàöèîííûå áàçû»
Ïðè íåîáõîäèìîñòè äîáàâèòü ýòàïû äëÿ âåòêè âåðñèè è âåòêè òåñòèðîâàíèÿ â ñáîðî÷íîì êîíâåéåðå
Íîâûå, íå êðèòè÷íûå îøèáêè (êðèòè÷íûìè ïðèçíàþò îøèáêè, áëîêèðóþùèå ðàáîòó ïîëüçîâàòåëåé, è íå èìåþùèå ñïîñîáîâ îáõîäà ïðîáëåìû) íàéäåííûå â òåêóùåé âåðñèè îòêëàäûâàòü äî ïîëó÷åíèÿ íîâîé âåðñèè
Êðèòè÷íûå èñïðàâëÿòü, ëèáî îò âåòêè ñòàðîé âåðñèè, ëèáî îò âåòêè îñíîâíîãî ïðîåêòà, íî ïîñëå âñåãäà èçìåíåíèÿ ñëèâàòü â âåòêó âåðñèè
Ïðîâåñòè îáíîâëåíèå è ïðîòåñòèðîâàòü èçìåíåíèÿ â âåòêå íîâîé âåðñèè
Çàìîðîçèòü ðåãèñòðàöèþ è èñïðàâëåíèå îøèáîê, à òàêæå ðàçðàáîòêó ôóíêöèîíàëà
Ïåðåíåñòè èñïðàâëåíèÿ êðèòè÷íûõ îøèáîê â íîâóþ âåðñèþ êóìóëÿòèâíî èç âåòêè òåêóùåé âåðñèè
Ïðîòåñòèðîâàòü ðàáîòîñïîñîáíîñòü êðèòè÷íûõ èñïðàâëåíèé â âåòêå íîâîé âåðñèè
Ñëèòü íîâóþ âåðñèþ â îñíîâíóþ âåòêó ïðîåêòà
Ñáîðêà î÷åðåäíîãî ðåëèçà ñèñòåìû
Ïðîâåñòè ðåâèçèþ ïîäòâåðæäåííûõ èñïðàâëåíèé è òåõíè÷åñêèõ ïðîåêòîâ, ïîäëåæàùèõ çàêðûòèþ(çàäà÷è êîòîðûõ ëèáî âûïîëíåíû, ëèáî îòìåíåíû).
Ïðèíÿòü çàïðîñû íà ñëèÿíèå â âåòêó âåðñèè, óñòðàíèòü êîíôëèêòû ïðè íåîáõîäèìîñòè
Ñôîðìèðîâàòü îò÷åò ïî ïîäòâåðæäåííûì èñïðàâëåíèÿì è íîâîìó ôóíêöèîíàëó, âñòðîèòü åãî â îïèñàíèå ïîäñèñòåìû è çàôèêñèðîâàòü èçìåíåíèÿ âåòêîé ñ ìàðêåðîì RDef â íàèìåíîâàíèè, ñëèòü âåòêó RDef â âåòêó âåðñèè è ñîáðàòü íîâûé ðåëèç â âåòêå âåðñèè
Ñëèòü âåòêó âåðñèè â îñíîâíóþ âåòêó ïðîåêòà, äîáàâèòü òåã â Gitlab è ññûëêè àðòåôàêòû ñáîðêè CF/CFU íîâîãî ðåëèçà èç êîíâåéåðà âñòàâèòü âî âëîæåíèÿ íîâîãî ðåëèçà
* Àíàëîãè÷íûå ïóíêòû ïðèñóòñòâóþò â àäàïòèðîâàííûõ ôîðìàõ ýëåìåíòîâ ñïðàâî÷íèêîâ:
Âåòêè (Ôîðìà ñïèñêà è ýëåìåíòà)
Ñáîðêè âåðñèè (Ôîðìà ýëåìåíòà)
Òåõíè÷åñêèå ïðîåêòû (Ôîðìà ýëåìåíòà)
Îøèáêè (Ôîðìà ñïèñêà è ýëåìåíòà)
** ×àñòíîå òåõíè÷åñêîå çàäàíèå
*** Ïðè
íåäîñòóïíîñòè ñèñòåìû âçàèìîäåéñòâèÿ, âêëþ÷àÿ å¸ ïîëíîå îòêëþ÷åíèå
èñïîëüçóåòñÿ àâòîìàòè÷åñêè ðåçåðâíûé ðåæèì ðàññûëêè óâåäîìëåíèé íà
ýëåêòðîííóþ ïî÷òó, óêàçàííóþ â íàñòðîéêàõ ïîëüçîâàòåëåé ÑÏÏÐ.
Ñîîáùåíèÿ íà ýëåêòðîííóþ ïî÷òó ïîëíîñòüþ ôóíêöèîíàëüíû, è ïîçâîëÿþò
òàê æå îòêðûâàòü ïî ññûëêàì îáúåêòû ÑÏÏÐ,
èñïîëüçóÿ
â êà÷åñòâå ññûëîê âíåøíèå íàâèãàöèîííûå ññûëêè íà îáúåêòû ÑÏÏÐ. Äëÿ
îòêðûòèÿ òàêèõ ññûëîê èç ïèñåì èç
ïî÷òîâûõ
ïðîãðàìì â 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Ñ, íà êîòîðûõ ðàçìåùàþòñÿ èíôîðìàöèîííûå áàçû.
Èìÿ êëàñòåðà íåîáõîäèìî ââîäèòü â ëèáî ôîðìàòå 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.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
îïðåäåëÿþùèå ñîñòàâ ýòàïîâ ñáîðî÷íîãî êîíâååðà, ñïèñîê íà çàêëàäêå ýòàïîâ áóäåò ïîäñòàâëåí âìåñòî ýòîãî øàáëîíà, íàïðèìåð, åñëè åñòü ñïèñîê ýòàïîâ:
|
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Ñ
MSSQLServer - Microsoft SQL Server;
PostgreSQL - PostgreSQL;
IBMDB2 - IBM DB2;
OracleDatabase - Oracle Database.
Âíóòðè êàæäîãî ýëåìåíòà äëÿ ïîëüçîâàòåëåé ñ ïîëíûìè ïðàâàìè è àäìèíèñòðàòîðîâ ñáîðîê* äîñòóïíû äëÿ ðåäàêòèðîâàíèÿ ýëåìåíòû ñïðàâî÷íèêà "Ïàêåòíûå çàäàíèÿ", òðè èç íèõ ïðåäîïðåäåëåíû**:
Êîïèðîâàíèå èç ðîäèòåëÿ - èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ êëîíà ÈÁ äëÿ äðóãîãî îáúåêòà ñáîðêè
Ïàðàìåòðû ÈÁ - äëÿ çàïîëíåíèÿ äîïîëíèòåëüíûõ ïàðàìåòðîâ èíôîðìàöèîííîé áàçû, êîòîðûå ìîãóò áûòü ïîëó÷åíû èç ÑÓÁÄ ïî èìåíè áàçû, íàïðèìåð ôèçè÷åñêîå ìåñòîðàñïîëîæåíèå.
Ñïèñîê ÈÁ - äëÿ îïðåäåëåíèÿ äîñòóïíîñòè íà ñåðâåðå ÑÓÁÄ ÈÁ, çàïèñàííîé â ýëåìåíòå ñïðàâî÷íèêà "Èíôîðìàöèîííûå áàçû"
Îñòàëüíûå ìîãóò äîïîëíÿòüñÿ ïî óñìîòðåíèþ, ïîäðîáíåå ñì. ñïðàâî÷íèê "Ïàêåòíûå çàäàíèÿ"
Ðàçäåëèòåëü êîëîíîê çàïðîñîâ - èñïîëüçóåòñÿ â ïðåäîïðåäåëåííîì àëãîðèòìå "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/**/*
Îò÷åò ïðåäíàçíà÷åí äëÿ ïîäãîòîâêè îïèñàíèÿ
ðåëèçà. Óðîâåíü äåòàëèçàöèè ðàññ÷èòàí òàêèì îáðàçîì, ÷òîáû îïèñàíèå
îáíîâëåíèÿ, âûâîäèìîå ñðåäñòâàìè ÁÑÏ íå äåëàòü âðó÷íóþ, à ïðîñòî
ñêîïèðîâàòü èç ñôîðìèðîâàííîãî îò÷åòà:
Îò÷åò îïèðàåòñÿ íà íîìåðà ñáîðîê â èñïðàâëåíèÿõ îøèáîê è òåõíè÷åñêèõ ïðîåêòàõ, êîòîðûå â ñâîþ î÷åðåäü çàïîëíÿþòñÿ íîìåðàìè ñáîðîê â ïðîöåññå îïîâåùåíèÿ î óñïåøíîé ñáîðêå ëèíèè êîíâåéåðà äëÿ òîé èëè èíîé âåòêè. Íîìåð ñáîðêè ïîñëåäíåãî ðåëèçà óêàçûâàåòñÿ âðó÷íóþ â ïîëå "Íà÷àëüíûé íîìåð ñáîðêè (áîëüøå):". Äëÿ òåõíè÷åñêèõ ïðîåêòîâ ó÷èòûâàåòñÿ íîìåð ñáîðêè:
íà çàêëàäêå "Îñíîâíîå", äëÿ îøèáîê
èñïðàâëÿåìûõ â ðàçíûõ âåòêàõ ó÷èòûâàåòñÿ íîìåð ñáîðêè, óêàçûâàåìûé â
òàáëè÷íîé ÷àñòè "Èñïðàâëåíèÿ â
âåòêàõ":
Äëÿ îñòàëüíûõ îøèáîê ïîëå âíèçó:
Êðîìå ýòîãî, ó÷èòûâàåòñÿ:
Äëÿ èäåé, ðåàëèçîâàííûõ â ðàìêàõ òåõíè÷åñêèõ ïðîåêòîâ, âûâîäÿùèõñÿ â ñåêöèè "Ðåàëèçàöèÿ ôóíêöèîíàëà"
Èäåÿ äîëæíà áûòü â ñòàòóñå "Ðåàëèçîâàíà"
Âåòêà òåõíè÷åñêîãî ïðîåêòà äîëæíà áûòü ïîìåùåíà â âåòêó âåðñèè - ñòàòóñ "Ïîìåùåíà"
Âñå çàäà÷è ïðîöåññîâ, ñâÿçàííûå ñ òåõíè÷åñêèì ïðîåêòîâ, äîëæíû áûòü â ñòàòóñå ëèáî "Îòìåíåíà", ëèáî "Âûïîëíåíà", è îíà õîòÿ áû îäíà äîëæíà áûòü. Ðåêîìåíäóåòñÿ íà êàæäóþ èäåþ, çàâîäèòü çàäà÷ó ïðîöåññà, äëÿ îòñëåæèâàíèÿ ïðîöåññà ðåàëèçàöèè èäåè.
Äëÿ ëþáûõ îøèáîê:
Ñòàòóñ îøèáêè äîëæåí áûòü "Ïðîâåðåíà, èñïðàâëåíà", äëÿ îøèáîê, èñïðàâëÿåìûõ â ðàçíûõ âåòêàõ ñîñòîÿíèå èñïðàâëåíèÿ â âåòêå íóæíîé âåðñèè äîëæíî áûòü "Èñïðàâëåíà è ïðîâåðåíà", â ýòîì ñëó÷àå îøèáêà âûâîäèòñÿ â ñåêöèè "Èñïðàâëåíèå îøèáîê"
Ñòàòóñ îøèáêè äîëæåí áûòü "Îòîçâàíà", äëÿ îøèáîê, èñïðàâëÿåìûõ â ðàçíûõ âåòêàõ ñîñòîÿíèå èñïðàâëåíèÿ â âåòêå íóæíîé âåðñèè äîëæíî áûòü "Íå ïëàíèðóåòñÿ èñïðàâëÿòü", â ýòîì ñëó÷àå îøèáêà âûâîäèòñÿ â ñåêöèè "Íå ÿâëÿåòñÿ îøèáêîé (îòîçâàíî)"
Îøèáêà äîëæíà áûòü ïóáëèêóåìîé (çàêëàäêà "Ïðèçíàíèå", "Ñòàòóñ ïóáëèêàöèè")
Äëÿ îøèáîê, èñïðàâëÿåìûõ â ðàìêàõ òåõíè÷åñêèõ ïðîåêòîâ, äîïîëíèòåëüíî âûâîäèòñÿ íîìåð òåõíè÷åñêîãî ïðîåêòà.
Äëÿ îøèáîê, ó êîòîðûõ çàïîëíåíà ññûëêà íà ïåðâîíà÷àëüíûé èñòî÷íèê (ïðåäïîëàãàåòñÿ ãèïåðññûëêà) âûâîäèòñÿ îòäåëüíàÿ ñåêöèÿ èñòî÷íèê.
Äëÿ èäåé, åñëè åñòü âíåøíèé èñòî÷íèê, òî îí äîëæåí áûòü óêàçàí â êîììåíòàðèè ê èäåå, â ýòîì ñëó÷àå îí òàê æå âûâîäèòñÿ â îòäåëüíîé ñåêöèè.
Äëÿ îøèáîê, ðàçäåëÿÿñü ïóñòîé ñòðîêîé, âûâîäÿòñÿ ñåêöèè "Ïóáëèêóåìîå îïèñàíèå", çàêëàäêà "Ïðèçíàíèå" è "Îïèñàíèå" çàêëàäêà "Èñïðàâëåíèå"
Äëÿ ðåàëèçîâàííûõ èäåé âûâîäèòñÿ îïèñàíèå ðåàëèçàöèè èäåè â òåõíè÷åñêîì ïðîåêòå êîëîíêà "Îïèñàíèå ðåàëèçàöèè èäåè, èñïðàâëåíèÿ îøèáêè" çàêëàäêè "Èäåè è îøèáêè"
Èçìåíåíû ëîãèêà ôîðìû ñïèñêà è ôîðìû
ýëåìåíòà. Óëó÷øåíà ýðãîíîìèêà ðàáîòû ñ èñïðàâëåíèåì îøèáîê â âàðèàíòå
"Â ðàçíûõ âåòêàõ", ò.ê. ðàçíûå ñîñòîÿíèÿ èñïðàâëåíèÿ â
âåòêàõ ïðèâîäèëè ê íåðàçáåðèõå è íå ñîîòâåòñòâèþ îáùåìó ñòàòóñó
îøèáêè. Äëÿ ýòîãî áûëè ðàñøèðåíû è äîïîëíåíû ñîñòîÿíèÿ èñïðàâëåíèÿ
îøèáîê â âåòêå è ñòàòóñîâ îøèáêè, òàê ÷òîáû îíè ñîîòâåòñòâîâàëè äðóã
äðóãó:
Ñòàòóñ îøèáêè |
Ñîñòîÿíèå èñïðàâëåíèÿ îøèáîê |
Ïðèçíàíà |
Òðåáóåòñÿ èñïðàâëåíèå |
Èñïðàâëåíà |
Èñïðàâëåíà |
Ïðîâåðåíà è èñïðàâëåíà |
Èñïðàâëåíà è ïðîâåðåíà* |
Íå çàðåãèñòðèðîâàíà |
-** |
Çàðåãèñòðèðîâàíà |
Íå ðàññìîòðåíà* |
Íå ïðèçíàíà |
Èñïðàâëåíèå íå ïëàíèðóåòñÿ |
Îòîçâàíà |
-*** |
Íå ïëàíèðóåòñÿ èñïðàâëÿòü |
Èñïðàâëåíèå íå ïëàíèðóåòñÿ |
* Äîáàâëåííûå ñîñòîÿíèÿ èñïðàâëåíèÿ â âåòêàõ
** Ïðè ïåðâîé æå çàïèñè îøèáêà ïåðåõîäèò â ñòàòóñ "Çàðåãèñòðèðîâàíà" à äëÿ âñåõ âåòîê âåðñèé âûñòàâëÿåòñÿ ñîñòîÿíèå "Íå ðàññìîòðåíà", â ñëó÷àå åñëè îøèáêà âîçâðàùàåòñÿ â ñòàòóñ "Íå çàðåãèñòðèðîâàíà" (êíîïêîé "Âåðíóòü íà ðåãèñòðàöèþ") â ýòîì ñòàòóñå ñîñòîÿíèå èñïðàâëåíèÿ îøèáîê èãíîðèðóåòñÿ, è îáùèé ñòàòóñ îøèáêè âñåãäà "Íå çàðåãèñòðèðîâàíà"
*** Ñòàòóñ îòîçâàíà äîïóñêàåòñÿ òîëüêî êîãäà â âåòêàõ èñïðàâëåíèÿ îøèáêó èñïðàâëÿòü íå ïëàíèðóåòñÿ.
 ôîðìå ñïèñêà:
Îñíîâíàÿ ôîðìà ñïèñêà ñäåëàíà â äâóõ ðåæèìàõ, óïðàâëÿþùèõñÿ êíîïêîé "Îòîáðàæàòü èñïðàâëåíèÿ â âåòêàõ ïîñòðî÷íî" â îáû÷íîì ðåæèìå, ïî óìîë÷àíèþ, ïîñòðî÷íûé ðåæèì âûêëþ÷åí. Ïðè íàæàòèè íà êíîïêó, îøèáêè, â âàðèàíòå èñïðàâëåíèÿ " ðàçíûõ âåòêàõ" áóäóò îòîáðàæåíû â ñïèñêå ñòîëüêî ðàç, ñêîëüêî ñòðîê íà çàêëàäêå "Èñïðàâëåíèå â âåòêàõ", ïðè ýòîì, â êàæäîé ñòðîêå âûâîäèòñÿ ñòàòóñ, è âåòêà èñïðàâëåíèÿ îòîáðàæàþò òî, ÷òî çàïèñàíî â ñòðîêàõ òàáëè÷íîé ÷àñòè. Ïðè ýòîì ñòàòóñ âûâîäèòñÿ ïî ñîîòâåòñòâèþ ñîñòîÿíèÿ èñïðàâëåíèÿ îøèáêè.
Ïèêòîãðàììà îêîëî ñîñòîÿíèÿ óìûøëåíî îòîáðàæàåò íåêèé îáùèé ñòàòóñ îøèáêè, êîòîðûé îïðåäåëÿåòñÿ ïî ñëåäóþùèì êðèòåðèÿì:
Äî òåõ ïîð, ïîêà õîòü â îäíîé âåòêå åñòü ñîñòîÿíèå "Íå ðàññìîòðåíà" îáùèé ñòàòóñ âñåãäà "Çàðåãèñòðèðîâàíà"
Äî òåõ ïîð, ïîêà õîòü â îäíîé âåòêå óêàçàíî "Òðåáóåòñÿ èñïðàâëåíèå" îáùèé ñòàòóñ "Ïðèçíàíà", ïðè ýòîì â íåêîòîðûõ âåòêàõ ìîæåò áûòü îøèáêà óæå èñïðàâëåíà è ïîäòâåðæäåíà, à â íåêîòîðûõ â ñîñòîÿíèè "Èñïðàâëåíèå íå ïëàíèðóåòñÿ", ÷òî ñîîòâåòñòâóåò ñòàòóñó "íå ïðèçíàíà"
Êàê òîëüêî íè â îäíîé ñòðîêå èñïðàâëåíèé â âåòêàõ íå îñòàíåòñÿ "Òðåáóåòñÿ èñïðàâëåíèå" è "Íå ðàññìîòðåíà" îáùèé ñòàòóñ áóäåò çàâèñèò î òîãî, ïðîâîäèëîñü èñïðàâëåíèå õîòü â îäíîé âåòêå âåðñèè â ýòîì ñëó÷àå îáùèé ñòàòóñ áóäåò "Èñïðàâëåíî". Åñëè íè â îäíîé âåòêå èñïðàâëåíèå íå ïðîâîäèëîñü è îòìå÷åíî êàê "Èñïðàâëåíèå íå ïëàíèðóåòñÿ" â ýòîì ñëó÷àå è âñå âåòêè ðàññìîòðåíû, òî ñòàíîâèòñÿ äîñòóïíûì âàðèàíò "Îòîçâàòü" îøèáêó â ôîðìå ïîìîùíèêà ðåãèñòðàöèè îøèáêè, à îáùèé ñòàòóñ áóäåò "Íå ïðèçíàíà". Åñëè â òàêîì ñîñòîÿíèè îòîçâàòü èç ëþáîé ñòðîêè îøèáêó, òî îáùèé ñòàòóñ ñòàíåò "Îòîçâàíà"
Åñëè âñå âåòêè ïðîâåðåíû è èñïðàâëåíû, çà èñêëþ÷åíèåì òåõ, â êîòîðûõ èñïðàâëåíèå íå ïëàíèðîâàëîñü, òî îáùèé ñòàòóñ áóäåò "Ïðîâåðåíà è èñïðàâëåíà"
Îáùèé ñòàòóñ ìîæíî îòîáðàçèòü â ñïèñêå ÷åðåç "Èçìåíèòü ôîðìó" äîáàâèâ ïîëå Ññûëêà.Ñòàòóñ.
 ôîðìå ýëåìåíòà:
Äëÿ âàðèàíòà "Èñïðàâëÿåòñÿ" = " ðàçíûõ âåòêàõ" êîìáèíàöèÿ êíîïîê "Ïðèçíàòü", "Íå ïðèçíàâàòü", "Èñïðàâëåíèå íå ïëàíèðóåòñÿ", "Îòìåòèòü èñïðàâëåíèå". "Ïîäòâåðäèòü èñïðàâëåíèå" òåïåðü çàâèñèò îò òîãî, â êàêîé ñòðîêå òàáëè÷íîé ÷àñòè "Èñïðàâëåíèå â âåòêàõ" óñòàíîâëåí êóðñîð. Åñëè íè îäíà ñòðîêà íå âûáðàíà òåõíè÷åñêè, ñ÷èòàåòñÿ ÷òî äëÿ ïåðâîé. Ñîîòâåòñòâåííî ìîæíî âûáèðàòü ñîñòîÿíèå èñïðàâëåíèÿ êàê ñ ïîìîùüþ êíîïîê, òàê è ñ ïîìîùüþ óñòàíîâêè ñîñòîÿíèÿ èñïðàâëåíèÿ. Òàê æå òàáëè÷íàÿ ÷àñòü äîïîëíåíà ãðàôàìè "Ðàññìîòðåíà" ñ äàòîé ðàññìîòðåíèÿ îøèáêè "Òðåáóåòñÿ èñïðàâëåíèå/ Èñïðàâëåíèå íå ïëàíèðóåòñÿ", è "Ïîäòâåðæäåíà", êîòîðàÿ çàïîëíÿåòñÿ ïðè ïîäòâåðæäåíèè èñïðàâëåíèÿ â âåòêå.
Ïðè ðåãèñòðàöèè íîâîé îøèáêè âàðèàíò èñïðàâëåíèÿ "Òîëüêî â âåòêå îáíàðóæåíèÿ"
Ïðè âûáîðå âàðèàíòà îáíàðóæåíèÿ " ñáîðêå" äîñòóïåí âûáîð ñáîðêè èç ñïèñêà, ãäå âñåãäà ïðèñóòñòâóþò ïîñëåäíèå îïóáëèêîâàííûå ñáîðêè êàæäîé âåðñèè.  ïðîåêòíîé äåÿòåëüíîñòè, êàê ïðàâèëî âñåãäà èñïîëüçóþòñÿ ñàìûå ïîñëåäíèå ñáîðêè âåðñèé â òåñòîâîì êîíòóðå. Íàëè÷èå êîðîòêîãî ñïèñêà óïðîùàåò âûáîð ïðàâèëüíîé ñáîðêè.
Íà çàêëàäêå ðåãèñòðàöèè äîáàâëåí ðåêâèçèò Ñáîðêà, ýòîò ðåêâèçèò çàïîëíÿåòñÿ àâòîìàòè÷åñêè, êàæäûé ðàç, êîãäà îòìå÷åííàÿ, êàê "Èñïðàâëåíî" èëè "Èñïðàâëåíî è ïðîâåðåíî" îøèáêà ïðîõîäèò óñïåøíóþ ñáîðêó â âåòêå òåñòèðîâàíèÿ/ñîáñòâåííîé âåòêå èëè âåòêå âåðñèè ñîîòâåòñòâåííî. Ðåêâèçèò Ñáîðêà î÷èùàåòñÿ âñÿêèé ðàç, êîãäà îøèáêó âîçâðàùàþò íà èñïðàâëåíèå. Àíàëîãè÷íûé ðåêâèçèò, äëÿ âàðèàíòà èñïðàâëåíèÿ îøèáîê "Èñïðàâëÿåòñÿ â ðàçíûõ âåòêàõ", ïðèñóòñòâóåò â òàáëè÷íîé ÷àñòè "Èñïðàâëåíèå â âåòêàõ", ïðè ýòîì ðåêâèçèò Ñáîðêà íà çàêëàäêå íå èñïîëüçóåòñÿ.
Åñëè èñïðàâëåíèå îøèáêè âåä¸òñÿ â âåòêå èñïðàâëåíèÿ îøèáêè, ñ êîòîðîé íå ñâÿçàíà èíôîðìàöèîííàÿ áàçà, òî ïðè îòìåòêå èñïðàâëåíèÿ áóäåò ñîçäàí çàïðîñ íà ñëèÿíèå â õðàíèëèùå Git â âåòêó òåñòèðîâàíèÿ (ñì. ïîäðîáíåå ïðî âåòêó òåñòèðîâàíèÿ â äîïîëíåíèè ê îïèñàíèþ ïî ñïðàâî÷íèêó "Âåòêè"), ïðè îòñóòñòâèè êîíôëèêòîâ çàïðîñ íà ñëèÿíèå áóäåò àâòîìàòè÷åñêè ïðèíÿò. Ïðè î÷åðåäíîé ñáîðêå âåòêè òåñòèðîâàíèÿ (ìîìåíò çàâèñèò îò íàñòðîéêè äëÿ âåòêè ñáîðî÷íîé ëèíèè, ïî óìîë÷àíèþ, ñðàçó æå ïîñëå óäîâëåòâîðåíèÿ çàïðîñà íà ñëèÿíèå) àâòîð è èñïðàâèâøèé ïîëó÷àò óâåäîìëåíèÿ îá óñïåøíîì çàâåðøåíèè ñáîðî÷íîé ëèíèè âåòêè òåñòèðîâàíèÿ â êîíòåêñòíîì îáñóæäåíèè îøèáêè, òàì æå áóäåò ññûëêà íà îòêðûòèå ÈÁ, êîòîðàÿ áûëà îáíîâëåíà íîâûì ñîñòîÿíèåì õðàíèëèùà â âåòêå òåñòèðîâàíèÿ. Ïðîâåðÿþùèé (àâòîð) ïðîâåðÿåò èñïðàâëåíèå â áàçå è îòìå÷àåò íàæàòèåì êíîïêè "Ïîäòâåðäèòü èñïðàâëåíèå" (ëèáî âûñòàâëÿåò ñòàòóñ â ñòðîêå òàáëèöû "Èñïðàâëåíèå â âåòêàõ" ñîîòâåòñòâóþùåãî ñîñòîÿíèÿ èñïðàâëåíèÿ äëÿ âàðèàíòà èñïðàâëÿåòñÿ â ðàçíûõ âåòêàõ).  ìîìåíò çàïèñè "Îøèáêè" àâòîìàòè÷åñêè ôîðìèðóåòñÿ çàïðîñ íà ñëèÿíèå â îñíîâíóþ âåòêó âåðñèè.
Íà çàêëàäêå äîïîëíèòåëüíî ôëàã "íå äåëàòü çàïðîñ íà ñëèÿíèå â òåñòèðîâàíèå" ïðè âûáîðå ýòîãî ôëàãà íå áóäåò ñôîðìèðîâàíî çàïðîñà íà ñëèÿíèå â âåòêó òåñòèðîâàíèå.
Äëÿ âàðèàíòà "Èñïðàâëÿåòñÿ" = " ðàçíûõ âåòêàõ" êíîïêà "Ñîçäàòü âåòêè äëÿ èñïðàâëåíèÿ" çàìåíåíà íà "Ñîçäàòü âåòêó äëÿ èñïðàâëåíèÿ" ñîîòâåòñòâåííî, â îòëè÷èå îò òèïîâîãî âàðèàíòà ñîçäà¸òñÿ âåòêà òîëüêî äëÿ âûáðàííîé ñòðîêè.
Ñîçäàâàòü âåòêó èñïðàâëåíèÿ îøèáêè, à òàê æå çàïîëíÿòü â ðåêâèçèòå îáúåêòà "Îøèáêà" íå îáÿçàòåëüíî, ïðè ñîçäàíèè âåòêè â óäàë¸ííîì ðåïîçèòîðèè Git, èëè ïðè ïîìåùåíèè èçìåíåíèé íîâîé âåòêè èñïðàâëåíèÿ îøèáîê àâòîìàòè÷åñêè ïðåäïðèíèìàåòñÿ ïîïûòêà íàéòè, ïðè íåîáõîäèìîñòè ñîçäàòü íîâóþ âåòêó è çàïîëíèòü å¸ â ñîîòâåòñòâóþùåì ðåêâèçèòå. Àâòîìàòè÷åñêîå çàïîëíåíèå âåòêè èñïðàâëåíèÿ äîñòóïíî äëÿ âàðèàíòîâ èñïðàâëåíèÿ "Òîëüêî â âåòêå îáíàðóæåíèÿ" è " ðàçíûõ âåòêàõ". Ïîðÿäîê îïðåäåëåíèÿ ðîäèòåëüñêîé âåòêè (ó÷èòûâàþòñÿ òîëüêî âåòêè âåðñèè è îñíîâíàÿ âåòêà ïðîåêòà) ñëåäóþùèé:
Ïðåäïðèíèìàåòñÿ ïîïûòêà íàéòè âåòêó âåðñèè â òîé æå ôèêñàöèè, ãäå çàïèñàí óêàçàòåëü íîâîé âåòêè èñïðàâëåíèÿ îøèáêè (ñîïîñòàâëåíèå èìåíè âåòêè ïðîèçâîäèòñÿ ñ êîäîì îøèáêè) ïðè íåóäà÷å îòðàáàòûâàåò âòîðîé âàðèàíò ïîèñêà.
Åñëè âåòêà óæå óøëà îò ðîäèòåëüñêîé íà íåñêîëüêî ôèêñàöèé.  ýòîì ñëó÷àå îïðåäåëåíèå ðîäèòåëüñêîé âåòêè ïðîèçâîäèòñÿ ïî ñàìîé êîðîòêîé öåïî÷êå ôèêñàöèé îò merge-base ñ âåòêàìè âåðñèé.  ñëó÷àå íåîäíîçíà÷íîñòè, âåòêà íå ñîçäà¸òñÿ, ïîëüçîâàòåëþ â ÑÏÏÐ, ñîîòâåòñòâóþùåìó ïîëüçîâàòåëþ Git âûäàåòñÿ ñîîáùåíèå î íåâîçìîæíîñòè àâòîìàòè÷åñêîãî ñîçäàíèÿ âåòêè èñïðàâëåíèÿ. Ñîïîñòàâëåíèå ïîëüçîâàòåëÿ ÑÏÏÐ è ïîëüçîâàòåëÿ Git ïðîèçâîäèòñÿ ïî àäðåñó ýë. ïî÷òû, åñëè ó ïîëüçîâàòåëÿ Git îí ïóáëè÷íûé. Åñëè ýëåêòðîííàÿ ïî÷òà íå ïóáëè÷íàÿ, òî ïðîèçâîäèòñÿ ïîïûòêà ñîïîñòàâèòü àäðåñ ïî÷òû â ÑÏÏÐ è èìÿ ðåãèñòðàöèè íà ñåðâåðå Git. Åñëè ïîëüçîâàòåëü íå íàéäåí, òî ñîîáùåíèå î ñîçäàíèè âåòêè è çàïîëíåíèè å¸ â èñïðàâëåíèè îøèáêè âûäà¸òñÿ Èñïðàâèâøåìó èëè, ïðè åãî îòñóòñòâèè, Àâòîðó. Åñëè êàêîé-ëèáî ïîëüçîâàòåëü íà÷àë ðåäàêòèðîâàòü îøèáêó â ÑÏÏÐ, òî çàïîëíåíèå ïîëÿ âåòêè èñïðàâëåíèÿ îøèáêè ïðîèçâîäèòñÿ ÷åðåç îïîâåùåíèå Ñ íà êëèåíòå. Òàêèì îáðàçîì äàííûå, ââåäåííûå ïîëüçîâàòåëåì, íå áóäóò ïîòåðÿíû.
Â
ôîðìó òåõíè÷åñêîãî ïðîåêòà äîáàâëåíû ýëåìåíòû "Ñáîðêà" -
íîìåð ñáîðêè
,
çàïîëíÿåòñÿ ïîñëå óñïåøíîé ñáîðêè òåõíè÷åñêîãî ïðîåêòà. Ðåêâèçèò
î÷èùàåòñÿ àâòîìàòè÷åñêè, ïðè ïåðåäà÷å çàäà÷ ïðîöåññà, ñâÿçàííûõ ñ
òåõíè÷åñêèì ïðîåêòîì íà ïðîâåðêó.
Âàæíî! Íåîáõîäèìî
äî íà÷àëà ñáîðêè èëè â ïðîöåññå å¸ ïåðåäàòü çàäà÷ó ïðîöåññà,
ñâÿçàííóþ ñ òåõíè÷åñêèì ïðîåêòîì "Íà
ïðîâåðêó", â ïðîòèâíîì ñëó÷àå,
åñëè ñáîðêà óæå çàêîí÷èëàñü, ðåêâèçèò íå áóäåò îáíîâë¸í, áîëåå òîãî,
îí áóäåò î÷èùåí ïðè ïåðåäà÷å íà ïðîâåðêó.  ýòîì ñëó÷àå, â îò÷åò
"Ïîäãîòîâêà
îïèñàíèÿ âåðñèè ïî òåõïðîåêòàì è îøèáêàì"
òåõíè÷åñêèé ïðîåêò âêëþ÷åí íå áóäåò.
Íà çàêëàäêå "Äîïîëíèòåëüíî" äîáàâëåíà
êíîïêà ñîçäàíèÿ çàïðîñà íà ñëèÿíèå
â
âåòêó âåðñèè.
Òàê æå, íà çàêëàäêå "Äîïîëíèòåëüíî" âîçðàù¸í ðåêâèçèò "Èìÿ áàçîâîé âåòêè". Ïðè óêàçàíèè ôèêñàöèè â ýòîì ïîëå ôàéë îòëè÷èé (diff) áóäåò ïðîèçâîäèòüñÿ ìåæäó âåòêîé òåõïðîåêòà è óêàçàííîé ôèêñàöèåé, òàêîé ñïîñîá óêàçàíèÿ ïîìîãàåò êîððåêòíî çàãðóçèòü èçìåíåíèÿ â ñëó÷àå, êîãäà ïåðåä ñëèÿíèåì â âåòêó âåðñèè âåòêà òåõïðîåêòà îáíîâëÿëàñü äî òåêóùåãî ñîñòîÿíèÿ âåòêè âåðñèè (ýòî äåëàåòñÿ î÷åíü ÷àñòî, ÷òîáû èñêëþ÷èòü êîíôëèêòû ñëèÿíèÿ ïðè ïîìåùåíèè âåòêè òåõïðîåêòà â âåòêó âåðñèè).
 ýòîì ñëó÷àå, â ïîëå íóæíî âðó÷íóþ óêàçàòü ôèêñàöèþ ñëèÿíèÿ, ñ êîòîðîãî ïðîèçâîäèëàñü àêòóàëèçàöèÿ âåòêè òåõíè÷åñêîãî ïðîåêòà:
 ôîðìå ýëåìåíòà ñïðàâî÷íèêà äîáàâëåíû ïîëÿ è ýëåìåíòû óïðàâëåíèÿ:
Êíîïêà
"Ñîçäàòü
âåòêó â git" - ñîçäà¸ò âåòêó â õðàíèëèùå Git, ññûëêà íà êîòîðûé
óêàçàíà â ýëåìåíòå ñïðàâî÷íèêà "Ïðîåêòû", íà çàêëàäêå
ðàçðàáîòêà. Ñîçäàíèå âåòêè ïðîèçâîäèòñÿ ïîñðåäñòâîì äîñòóïà ê API
Gitlab íàñòðîåííûì â îáðàáîòêå "Íàñòðîéêà
óâåäîìëåíèé î ñáîðêàõ è ïîäêëþ÷åíèå ê GitLab API"
Êíîïêà
«Ñîçäàòü çàïðîñ íà ñëèÿíèå» - ñîçäà¸ò çàïðîñ íà ñëèÿíèå
â âåòêó ñëåâà îò êíîïêè
Ïîëå "Âåòêà òåñòèðîâàíèÿ" è êíîïêà îêîëî íåãî "Ïåðåñîçäàòü â Git":
Â
àêòèâíîé ôàçå ïðîåêòà ìîæåò áûòü çàðåãèñòðèðîâàíî ìíîãî îøèáîê,
òðåáóþùèõ ïîäòâåðæäåíèå èñïðàâëåíèÿ. Ðåêîìåíäóåòñÿ â òàêèõ ôàçàõ íå
èñïðàâëÿòü îøèáêè â âåòêå âåðñèè ïðîåêòà, ëèáî â îäíîé âåòêå
èñïðàâëåíèÿ îøèáîê, à ïîä êàæäóþ çàâîäèòü îòäåëüíóþ îò âåòêè
èñïðàâëåíèÿ îøèáîê, ïðè îòìåòêå "Èñïðàâëåíî" â ýëåìåíòå
ñïðàâî÷íèêà "Îøèáêè" áóäåò àâòîìàòè÷åñêè ñôîðìèðîâàí è
ïðèíÿò (åñëè íåò êîíôëèêòîâ) çàïðîñ íà ñëèÿíèå â âåòêó òåñòèðîâàíèÿ,
êîòîðóþ ðåêîìåíäóåòñÿ ïåðåñîçäàâàòü ïîñëå âûïóñêà êàæäîãî ðåëèçà. Ïðè
ïîäòâåðæäåíèè òåñòèðîâùèêîì èëè àâòîðîì îøèáêè èñïðàâëåíèÿ áóäåò
ñôîðìèðîâàí àâòîìàòè÷åñêè çàïðîñ íà ñëèÿíèå â âåòêó âåðñèè. Òàêèì
îáðàçîì â âåòêå âåðñèè áóäóò òîëüêî ïîäòâåðæäåííûé ôóíêöèîíàë. Ïî
ñîáûòèþ "detached pipe" ìîãóò áûòü çàïóùåíû ðåãðåññèâíûå
òåñòû ñëèâàåìîé â âåòêó âåðñèè âåòêè èñïðàâëåíèÿ îøèáêè.
Àâòîìàòè÷åñêîãî ïðèíÿòèÿ çàïðîñîâ íà ñëèÿíèå â âåòêó âåðñèè íå
ïðåäóñìîòðåíî. Îòâåòñòâåííûé çà ñáîðêó ðåëèçà ñàì äîëæåí ïðîâåðèòü è
ïðèíÿòü âñå èñïðàâëåíèÿ â âåòêó âåðñèè. Ïðè íàæàòèè íà êíîïêó
"Ïåðåñîçäàòü â Git" âåòêà òåñòèðîâàíèÿ óäàëÿåòñÿ â
õðàíèëèùå è ñîçäà¸òñÿ çàíîâî îò óêàçàòåëÿ âåòêè âåðñèè, ïîñëå ÷åãî
îïðåäåëÿþòñÿ óäîâëåòâîð¸ííûå çàïðîñû íà ñëèÿíèå â âåòêó òåñòèðîâàíèÿ,
êîòîðûõ íå áûëî â âåòêå âåðñèè (ïî ó÷åòíûì äàííûì ÑÏÏÐ), ÑÏÏÐ çàíîâî
ôîðìèðóåò çàïðîñû èç âåòîê èñïðàâëåíèÿ îøèáîê â âåòêó òåñòèðîâàíèÿ.
Ñåêöèÿ "Èíôîðìàöèÿ î ñáîðêå" - âåðñèÿ, ñáîðêà çàïîëíÿþòñÿ àâòîìàòè÷åñêè. Âåðñèÿ, àíàëîãè÷íî òèïîâîìó ôóíêöèîíàëó, îïðåäåëÿåòñÿ èç ññûëêè ýëåìåíòà ñïðàâî÷íèêà "Âåðñèÿ ïðîåêòà", ñáîðêà ïðîïèñûâàåòñÿ àâòîìàòè÷åñêè êàæäûé ðàç ïðè íà÷àëå è îêîí÷àíèè ñáîðêè â GitLab è ñîîòâåòñòâóåò íîìåðó ñáîðî÷íîé ëèíèè.
Ñåêöèÿ GLI óâåäîìëåíèÿ, èíôîðìàöèÿ. Äîáàâëÿþòñÿ ïîëüçîâàòåëè - êóðàòîðû âåòêè, ýòè ïîëüçîâàòåëè áóäóò ïîëó÷àòü óâåäîìëåíèÿ î ñáîðêàõ âåòêè âíå çàâèñèìîñòè îò îáúåêòîâ ñáîðêè (Îøèáêè, òåõïðîåêòû). Åñëè ýòîò ñïèñîê ïóñò, è ïðè ñáîðêå âåòêè (íàïðèìåð, çàïóùåííîé ïî ðàñïèñàíèþ èëè âðó÷íóþ) íîâûõ îáúåêòîâ ñáîðêè, ïî äàííûì ÑÏÏÐ, íå äîáàâèòñÿ - óâåäîìëåíèÿ íå ïðèä¸ò íèêîìó.
Ýëåìåíòû ñïðàâî÷íèêà äîáàâëÿþòñÿ
àâòîìàòè÷åñêè ïðè êàæäîé ñáîðêå, ïîñëåäíèé ñòàòóñ ñáîðî÷íîé ëèíèè:
pending (îæèäàíèå)
running (çàïóùåíà)
canceled(îòìåíåíà)
failed(çàâåðøèëîñü ñ îøèáêîé)
success(çàâåðøèëîñü ñ óñïåõîì)
çàïèñûâàåòñÿ â äîáàâëåííûé ðåêâèçèò îáúåêòà, êîòîðûé âûâåäåí â ôîðìó ýëåìåíòà.
 ïðîöåññå çàïèñè ñòàòóñà ïðîèçâîäèòñÿ ïîïûòêà îïðåäåëèòü òèï âåðñèè. Åñëè â íàèìåíîâàíèè ôèêñàöèè ñîäåðæàòñÿ òåêñòîâûå ñòðîêè RDef, îïèñàíèå âåðñèè, îïèñàíèå ðåëèçà, òî ñáîðêå ïðèñâàèâàåòñÿ ñòàòóñ "Ôèíàëüíàÿ" è âûñòàâëÿåòñÿ ôëàã ïóáëèêàöèè.
Äàòà è âðåìÿ ñáîðêè îïðåäåëÿþòñÿ ïî äàííûì ñåðâåðà ÑÏÏÐ.
Îáðàáîòêà ïðåäíàçíà÷åíà äëÿ íàñòðîåê áîòà óâåäîìëåíèé ñèñòåìû âçàèìîäåéñòâèÿ (ÑÂ), óêàçàíèÿ ñâÿçåé id ïðîåêòà â Gitlab, ïðèâàòíîãî êëþ÷à ïîëüçîâàòåëÿ ÑÏÏÐ â Gitlab íàñòðîåê óâåäîìëåíèé äëÿ àäìèíèñòðàòîðîâ ñáîðîê.
Íàñòðîéêè áîòà
Áîò åäèíûé äëÿ âñåõ ïðîåêòîâ. Ïîñëå ïåðâîíà÷àëüíîãî ñîçäàíèÿ áîòà, âìåñòî êíîïêè "Ñîçäàòü áîòà" áóäåò ïðèñóòñòâîâàòü êíîïêà "Îáíîâèòü áîòà"
Âàæíî! Èçîáðàæåíèå
áîòà õðàíèòñÿ â ÑÂ, òàê ÷òî çàìåíà èçîáðàæåíèÿ â êîïèÿõ ÈÁ, íå
îòâÿçàííûõ îò ÑÁ ïðèâåä¸ò ê èçìåíåíèþ èçîáðàæåíèÿ â îñíîâíîé áàçå.
 ïîëå "Ïîëüçîâàòåëü ÎÑ" íåîáõîäèìî óêàçàòü ïîëüçîâàòåëÿ, êîòîðûì áóäóò îëèöåòâîðåíû âñå çàïðîñû îò âåá ñåðâåðà ê ÑÏÏÐ, ýòîò ïîëüçîâàòåëü áóäåò àññîöèèðîâàí ñ ïîëüçîâàòåëåì áîòà â ÷àñòè àóòåíòèôèêàöèè îïåðàöèîííîé ñèñòåìîé. Åñëè èñïîëüçóåòñÿ âåá ñåðâåð Apache, íå ïîääåðæèâàþùèé àíîíèìíóþ àóòåíòèôèêàöèþ òîãäà ñëåäóåò çàäàòü îòäåëüíî ïîëüçîâàòåëþ - áîòó ïàðîëü è èñïîëüçîâàòü äðóãîé ñïîñîá àóòåíòèôèêàöèè.
Ñì. íèæå ïðèìåð íàñòðîéêè ïîëüçîâàòåëÿ â IIS
Âàæíî! Åñëè
áàçà ÑÏÏÐ îïóáëèêîâàíà íà âåá ñåðâåðå â âèäå òîíêîãî êëèåíòà, òî äëÿ
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 äëÿ êàæäîãî ïðîåêòà óêàçàòü ñëåäóþùèå íàñòðîéêè:
Èäåíòèôèêàòîð ïðîåêòà â Gitlab
×àñòíûé òîêåí ïîëüçîâàòåëÿ, îò ëèöà êîòîðîãî
ÑÏÏÐ áóäåò àâòîðèçîâàòüñÿ, íàïðèìåð "ÑÏÏÐ".
Âàæíî! Ó
ýòîãî ïîëüçîâàòåëÿ äîëæíî áûòü äîñòàòî÷íî ïðàâ äëÿ òîãî, ÷òîáû
ïðèíèìàòü çàïðîñû íà ñëèÿíèå â âåòêè òåñòèðîâàíèÿ è ñîçäàâàòü
çàïðîñû íà ñëèÿíèå â âåòêè âåðñèè, à òàêæå óäàëÿòü âåòêè.
Ïðåôèêñû âåòîê, åñëè íå óêàçûâàòü, òî áóäóò
èñïîëüçîâàòüñÿ ïðåôèêñû âåòîê óêàçàííûå â îáðàçöå çàïîëíåíèÿ. Â
òèïîâîì ðåëèçå ÑÏÏÐ íàèìåíîâàíèÿ âåòîê ïîëó÷àþòñÿ î÷åíü äëèííûìè, â
ðåçóëüòàòå èõ íå óäîáíî ïðîñìàòðèâàòü â èñòîðèè EDT, ïîýòîìó íå
ðåêîìåíäóåòñÿ äåëàòü ïðåôèêñû âåòîê äëèííûìè.
Âàæíî! ïðåôèêñû
ñî ñëåøåì "/" ôîðìèðóþò ïîäêàòàëîãè â ó÷¸òíîé ñèñòåìå Git,
Windows íå ðàçëè÷àåò âåðõíèé è íèæíèé ðåãèñòð ïðè ïîèñêå, ïîýòîìó
ïîñëå âûáîðà ïðåôèêñîâ ñ "/", êðàéíå íå ðåêîìåíäóåòñÿ
ìåíÿòü ó íèõ ðåãèñòð.
 ðàñøèðåíèè ïîääåðæèâàþòñÿ íåñêîëüêî ñöåíàðèåâ ó÷åòà èñïðàâëåíèé îøèáîê. Âíå çàâèñèìîñòè îò âàðèàíòà ïðè íàñòóïëåíèè ñîáûòèÿ ñáîðêè ÑÏÏÐ, äëÿ óâåäîìëåíèé îðèåíòèðóåòñÿ ïî ñëåäóþùèì êðèòåðèÿì:
Ñ òî÷êè çðåíèÿ Git ñáîðêà ïðîèñõîäèò âåòêè. Git íå çíàåò ÷òî îí ñîáèðàåò, ïî ýòîìó âñÿ èíôîðìàöèÿ êîãî óâåäîìëÿòü ïîëó÷àåòñÿ èç ÑÏÏÐ.
Îáúåêòîì
ñáîðêè ñ÷èòàåòñÿ ëþáîé îáúåêò, ññûëàþùèéñÿ íà âåòêó ñáîðêè (ýëåìåíò
ñïðàâî÷íèêà «Îøèáêè» â ïîëå «Âåòêà èñïðàâëåíèÿ»
øàïêè èëè â ïîëå «Âåòêà èñïðàâëåíèÿ» â Ò× «Èñïðàâëåíèÿ
â âåòêàõ» èëè â ïîëå «Âåòêà ðàçðàáîòêè»
ñïðàâî÷íèêà «Òåõíè÷åñêèå ïðîåêòû»), ó êîòîðîãî íå
çàïîëíåí ðåêâèçèò «Ñáîðêà» è ñòàòóñ ëèáî «Èñïðàâëåíà»,
ëèáî «Èñïðàâëåíà è ïðîâåðåíà». Ó ñïðàâî÷íèêà «Îøèáêè»
ðåêâèçèò «Ñáîðêà» â çàâèñèìîñòè îò ñïîñîáà èñïðàâëåíèÿ
îøèáêè (â ðàçíûõ âåòêàõ èëè â îäíîé) ìîæåò áûòü ëèáî âíèçó, íàä
êíîïêàìè:
ëèáî,
åñëè
èñïðàâëåíèå âåòêè âåä¸òñÿ â ðàçíûõ âåòêàõ, â
òàáëè÷íîé ÷àñòè «Èñïðàâëåíèÿ â âåòêàõ»:
Òåõíè÷åñêèé
ïðîåêò:
Çíà÷åíèå
ïîëÿ î÷èùàåòñÿ:
Ïðè çàïèñè ýëåìåíòà ñïðàâî÷íèêà «Îøèáêè» ñî ñòàòóñîì «Èñïðàâëåíî» èëè «Èñïðàâëåíà è ïðîâåðåíà», ëèáî â øàïêå, ëèáî â òàáëè÷íîé ÷àñòè «Âåòêè»
 øàïêå òåõíè÷åñêîãî ïðîåêòà, ïðè íàïðàâëåíèè íà ïðîâåðêó çàäà÷è ïðîöåññà òåõíè÷åñêîãî ïðîåêòà.
Äëÿ ïðî÷èõ âíåøòàòíûõ ñèòóàöèé ïîëå äîñòóïíî ïîëüçîâàòåëÿì ñ ðîëÿìè «Àäìèíèñòðàòîð» è «Àäìèíèñòðàòîð ñáîðîê» äëÿ èçìåíåíèÿ.
Åñëè ïîëå
«Ñáîðêà» íå çàïîëíåíà, òî îáúåêò âêëþ÷àåòñÿ â
óâåäîìëåíèÿ ïðè ñáîðêå âåòêè ñâÿçàííîé ñ îáúåêòîì ñáîðêè,
ïîëüçîâàòåëè äëÿ óâåäîìëåíèÿ èçâëåêàþòñÿ èç îáúåêòà ñáîðêè, åñëè íåò
íè îäíîãî îáúåêòà ñáîðêè îæèäàþùåãî ñáîðêè, ñâÿçàííîãî ñ ñîáèðàåìîé
/ òåñòèðóåìîé âåòêîé òî ïîëüçîâàòåëè äëÿ óâåäîìëåíèÿ âûáèðàþòñÿ èç
âåòêè, äëÿ âåòîê âåðñèé, òåñòèðîâàíèÿ ýòîò ñïèñîê äîñòóïåí äëÿ
çàïîëíåíèÿ.
Óâåäîìëåíèÿ
î ñáîðêå ïðèõîäÿò â êàæäûé îáúåêò îøèáêè è òîëüêî ïåðå÷èñëåííûì â
ïðîòîêîëå îøèáêè ïîëüçîâàòåëÿì, åñëè ñáîðêà áûëà òåñòîâîé âåòêè.
Åñëè ñáîðêà ïðîâîäèëàñü âåòêè âåðñèè, òî óâåäîìëåíèÿ ïî âñåì
ñîáðàííûì â íåé îøèáêàì ïðèõîäèò ê âåòêå âåðñèè,
îäíàêî
ñîñòàâ ïîëüçîâàòåëåé äëÿ îïîâåùåíèÿ èçâëåêàåòñÿ òàê æå èç ïðîòîêîëà
îøèáêè. Òàêîé ïîäõîä ïðîäèêòîâàí äëÿ ñíèæåíèÿ ðèñêà «ïîòåðÿòü»
óâåäîìëåíèå îò ÑÂ. Âåòêà âåðñèè ñîáèðàåòñÿ ðåæå, ÷åì âåòêà
òåñòèðîâàíèÿ, ïîýòîìó óâåäîìëåíèÿ ãðóïïàì ïîëüçîâàòåëåé «÷óæèõ»
îøèáîê íå ïðèõîäÿò. Ñáîðêà âåòêè âåðñèè ñîáûòèå áîëåå èíôîðìàòèâíîå,
÷òîáû ó àâòîðîâ ðåãèñòðàöèè îøèáîê áûëà èíôîðìàöèÿ ÷òî âîøëî â
î÷åðåäíóþ ñáîðêó.
Îáîñîáëåíî:
Ïîðÿäîê ó÷åòà èñïðàâëåíèÿ îøèáêè äëÿ òàêîãî âàðèàíòà áûë ïðèâåäåí ðàíåå. Òàêîé âàðèàíò ïðåäïî÷òèòåëåí â «ðàçãàð» ðàçðàáîòêè, êîãäà íåäîðàáîòîê è îøèáîê ìíîãî, íå âñå ïîäòâåðæäàþòñÿ ñðàçó, è íåîáõîäèìî íå äîïóñòèòü ïîïàäàíèå ëèøíèõ «íåäîäåëîê» â âåòêó âåðñèè, è ñîîòâåòñòâåííî â îñíîâíóþ âåòêó. Êðîìå ýòîãî, ýêîíîìèòñÿ ìåñòî íà äèñêå, ò.ê. ïîñëå ýòàïà ìèãðàöèè ýòàëîííàÿ ÈÁ. È ñîîòâåòñòâåííî âñå å¸ îïåðàòèâíûå êëîíû ìîãóò ðåçêî âûðàñòè.
Ïîä èñïðàâëåíèå êàæäîé îøèáêè ñîçäà¸òñÿ èíäèâèäóàëüíàÿ âåòêà.
Ñîâìåñòíî:
Ïîðÿäîê
ó÷¸òà èñïðàâëåíèé îøèáîê äëÿ òàêîãî âàðèàíòà àíàëîãè÷åí
ïðåäûäóùåìó, è ïî-ïðåæíåìó áóäåò âîçìîæíîñòü òåñòèðîâàòü
èñïðàâëåíèÿ â âåòêå òåñòèðîâàíèÿ. Ðàçíèöà â òîì, ÷òî çàâîäèòñÿ
îäíà âåòêà ñ íàèìåíîâàíèåì, íàïðèìåð, «BF/COMM-1»
èëè «BF/ClsMnth-11».
Äàëåå, èñïðàâëåíèå îøèáîê ïî î÷åðåäè ôèêñèðóþòñÿ â âåòêå, ïîñëå
êàæäîé îòìåòêè èñïðàâëåíèå ïðîèñõîäèò ñëèâ ôèêñàöèè â âåòêó
òåñòèðîâàíèÿ, à ïðè îòìåòêå ïîäòâåðæäåíî äåëàåòñÿ çàïðîñ â âåòêó
âåðñèè. Òàêîé âàðèàíò óäîáåí, êîãäà èñïðàâëÿåòñÿ ìíîãî ìåëêèõ
îøèáîê, îáúåäèíåííûõ ïî êàêîìó-ëèáî ïðèçíàêó, íàïðèìåð îøèáêè ïðè
çàêðûòèè ìåñÿöà. Èëè â òîì ñëó÷àå, êîãäà îáîñîáëåííûå èñïðàâëåíèÿ
çàðåãèñòðèðîâàííûõ îøèáîê íå èìåþò ñìûñëà.
Âàæíî! Ïðè
îòìåòêå èñïðàâëåíèÿ èëè ïîäòâåðæäåíèå ëþáîé èñïðàâëåííîé îøèáêè
âñÿ âåòêà áóäåò âëèòà ëèáî â âåòêó òåñòèðîâàíèÿ, ëèáî â âåòêó
âåðñèè.  òàêîì ñöåíàðèè òðóäíî áóäåò èñêëþ÷èòü íåïîäòâåðæäåííûé
êîä êàêîé-ëèáî îøèáêè èç îáùåé âåòêè, ïîìî÷ü â ýòîì ñìîæåò
îïåðàöèÿ èíòåðàêòèâíîãî ïåðåáàçèðîâàíèÿ, ïðè êîòîðîé ôèêñàöèè ñ
íåïîäòâåðæä¸ííûìè îøèáêàìè ìîæíî ïðîïóñòèòü, îäíàêî íóæíî èìåòü â
âèäó, ÷òî ïðè âîçíèêíîâåíèè êîíôëèêòà ñëèÿíèÿ âî âðåìÿ îïåðàöèè
ïåðåáàçèðîâàíèÿ, âîçìîæíîñòè EDT
ñèëüíî îãðàíè÷åíû òèïîâûì ôóíêöèîíàëîì Git
è ðàçðåøàòü êîíôëèêòû ïðèä¸òñÿ âðó÷íóþ.
Çàïðîñîâ íà
ñëèÿíèÿ â âåòêó òåñòèðîâàíèÿ íå ïðîèçâîäèòñÿ. Îäíàêî çàïðîñ íà
ñëèÿíèå â âåòêó âåðñèè áóäåò ñôîðìèðîâàí ïðè ïîäòâåðæäåíèè
èñïðàâëåíèÿ.  ýòîì âàðèàíòå ïðè ñáîðêå âûäà¸òñÿ çàãîëîâîê è
ñîîáùåíèå èç õðàíèëèùà Git ê ôèêñàöèè, äëÿ
êîòîðîé ïðîèçâîäèòñÿ ñáîðêà:
Ïðîïóùåííûå ôèêñàöèè, ïî êîòîðûì íå ïðîõîäèëà ñáîðêà íå
îòñëåæèâàþòñÿ. Ñì.
ïðèìåð èñïðàâëåíèå îøèáêè BF/00-00000004
íà äåìîíñòðàöèîííîì ñòåíäå.
Îáîñîáëåííî:
Ïðèâÿçêà ÈÁ ïðîèçâîäèòñÿ ê îáúåêòó ñáîðêè: ýëåìåíòó ñïðàâî÷íèêà «Îøèáêè».
Òàêîé âàðèàíò óäîáåí, êîãäà äëÿ èñïðàâëåíèÿ îøèáêè òðåáóþòñÿ îñîáûì îáðàçîì ïîäãîòîâëåííûå òåñòîâûå äàííûå, êîòîðûõ íåò â ýòàëîííûõ áàçàõ, ëèáî îøèáêà áóäåò óñòðàíÿòüñÿ â íåñêîëüêî ýòàïîâ.
Ñîâìåñòíî:
Òåñòîâàÿ ÈÁ â ýòîì ñëó÷àå ïðèâÿçûâàåòñÿ ê âåòêå, ò.å. â êà÷åñòâå îáúåêòà ñáîðêè âûñòóïàåò âåòêà èñïðàâëåíèÿ îøèáîê.
Òàê æå, êàê è áåç âûäåëåííîé ÈÁ êðèòåðèè – èñïðàâèòü íåñêîëüêî îøèáîê, ñãðóïïèðîâàííûõ ïî êàêîìó – ëèáî åäèíîìó ïðèçíàêó è ñðàçó âñå ïðîòåñòèðîâàòü è ïðèíÿòü, îïòîì.
Ïîðÿäîê óâåäîìëåíèé î ñîáðàííûõ èñïðàâëåíèé îøèáîê òàêîé æå, êàê è äëÿ ÈÁ, ïðèâÿçàííîé ê âåòêå èñïðàâëåíèÿ îøèáîê. Òàêîé âàðèàíò óäîáåí ïðè íà÷àëüíîì ôîðìèðîâàíèè âåòêè âåðñèè, íàïðèìåð, ñðàçó ïîñëå òîãî, êàê â íîâóþ âåòêó âåðñèè ïîìåñòèëè îáíîâëåííóþ îò ïîñòàâùèêà êîíôèãóðàöèþ ïðîåêòà, êàê ïðàâèëî åù¸ ñûðóþ è òðåáóþùóþ ðåôàêòîðèíãà.  ýòèõ ñëó÷àÿõ, ðåëèçà åù¸ íå áûëî è ôèêñàöèè óäîáíî äåëàòü ïðÿìî â âåòêó âåðñèè. Äàëåå, ïîñëå ïóáëèêàöèè ïåðâîãî ðåëèçà (èëè ïîëó÷åíèÿ ïåðâîé ðàáîòîñïîñîáíîé áàçû, îáû÷íî ýòî ïðîèñõîäèò îäíîâðåìåííî) ïðåäïîëàãàåòñÿ ââåñòè çàïðåò îò íåïîñðåäñòâåííûõ ôèêñàöèé â âåòêó âåðñèè (ïî êðàéíåé ìåðå çàïðåòèòü äåëàòü ôèêñàöèè äëÿ ó÷àñòíèêîâ ïðîåêòà ñ óðîâíåì äîñòóïà «Ðàçðàáîò÷èê», îñòàâèòü òîëüêî äëÿ àäìèíèñòðàòîðîâ ïðîåêòà).
 âåòêàõ òåõíè÷åñêèõ ïðîåêòîâ ðåãèñòðèðóþò îñîáûé ñîðò îøèáîê, êîòîðûå êàê ïðàâèëî åù¸ íå äîøëè äî ðåëèçà. ×èñòî òåõíè÷åñêè óâåäîìëåíèÿ íè÷åì íå îòëè÷àþòñÿ îò âàðèàíòà èñïðàâëåíèÿ îøèáêè «Ñ âûäåëåííîé, ïðèâÿçàííîé ê îáúåêòó ñáîðêè (îøèáêå èëè âåòêå) ÈÁ.» Îøèáêè ïîäîáíîãî ðîäà âûÿâëÿþòñÿ ïðè âíóòðåííåì òåñòèðîâàíèè â ÈÁ, ñâÿçàííîé ñ âåòêîé òåõíè÷åñêîãî ïðîåêòà. Åñëè òåõíè÷åñêèé ïðîåêò åù¸ àêòèâåí, êàê ïðàâèëî îøèáêó äîáàâëÿþò â ýòîò æå òåõíè÷åñêèé ïðîåêò, ãäå îíà ïðîïèñûâàåòñÿ íà çàêëàäêå «Èäåè è îøèáêè» â îñòàëüíîì ðàáîòà ñ îøèáêîé íå îòëè÷àåòñÿ îò îáû÷íîé îøèáêè, èñïðàâëÿåìîé â âåòêå èñïðàâëåíèÿ îøèáêè. Òàê æå, â ðàìêàõ òåõíè÷åñêèõ ïðîåêòîâ èñïðàâëÿþòñÿ îøèáêè, íàéäåííûå â âûïóùåííûõ ðåëèçàõ è èñïðàâëåíèå òàêèõ îøèáîê, ìîæåò ïðèâåñòè ê èçìåíåíèþ êîäà áóäóùåãî ôóíêöèîíàëà, êîòîðûé â íàñòîÿùèé ìîìåíò äîðàáàòûâàåòñÿ. Ïîäðîáíåå î òàêèõ îøèáêàõ ìîæíî ïðî÷èòàòü çäåñü: 9.6. Ðàáîòà ñ îøèáêàìè, òðåáóþùèìè ïðîåêòèðîâàíèÿ :: 1Ñ:Ïðåäïðèÿòèå 8. Êîíôèãóðàöèÿ «Ñèñòåìà ïðîåêòèðîâàíèÿ ïðèêëàäíûõ ðåøåíèé». Ðåäàêöèÿ 2.0. Ðóêîâîäñòâî ïîëüçîâàòåëÿ (1c.ru). Ïðè ñáîðêå âåòêè åñëè â òåõíè÷åñêîì ïðîåêòå íîâîãî ôóíêöèîíàëà íå ðåàëèçîâàëè (çàäà÷ ïðîöåññîâ íà ïðîâåðêó íå áûëî ïåðåäàíî) – íîìåð ñáîðêè â ÒÏ îñòà¸òñÿ ïðåæíèì, à íîìåð ñáîðêè ïðîïèñûâàåòñÿ òîëüêî â îøèáêå. Âàæíûì ïëþñîì ÿâëÿåòñÿ âîçìîæíîñòü íå îïèñûâàòü ïîäðîáíî èçìåíåíèÿ â ìåòàäàííûõ îøèáêè, òàê êàê âñå èçìåíåíèÿ âåòêè òåõíè÷åñêîãî ïðîåêòà áóäóò çàãðóæåíû â òàáëèöó ÎÌÄ âìåñòå ñ äàííûìè òåõíè÷åñêîãî ïðîåêòà. Ñëåäóåò îòìåòèòü, ÷òî ãðàôà «Îïèñàíèå ðåàëèçàöèè èäåè, èñïðàâëåíèÿ îøèáêè» íå èñïîëüçóåòñÿ â ÷àñòè îøèáêè ïðè ôîðìèðîâàíèè îò÷¸òà: «Îò÷åò Ïîäãîòîâêà îïèñàíèÿ âåðñèè ïî òåõïðîåêòàì è îøèáêàì» äëÿ âûâîäà èñïðàâëåíèé èñïîëüçóåòñÿ òåêñò ñ ñîîòâåòñòâóþùåé çàêëàäêè îøèáêè «Èñïðàâëåíèå».
Ðàçðàáîò÷èê, ïðè âûïîëíåíèè äîðàáîòîê äîëæåí ñâÿçàòü îáúåêò äîðàáîòêè â ÑÏÏÐ è óêàçàòü ÑÏÏÐ â êàêîé âåòêå ïðîèçâîäèëàñü äîðàáîòêà èëè èñïðàâëåíèå îøèáêè. Óêàçàíèå âåòîê â îáúåêòàõ ñáîðêè ïîçâîëÿåò àâòîìàòèçèðîâàòü îïåðàöèè – àâòîìàòè÷åñêîå ôîðìèðîâàíèå çàïðîñîâ íà ñëèÿíèå ïðè ïåðåäà÷å â òåñòèðîâàíèå è ïîëó÷åíèå ìåòàäàííûõ äîðàáîòîê èç Git, ïðè ðàçðàáîòêå â òåõíè÷åñêîì ïðîåêòå. Äåëàòü ýòî ìîæíî äâóìÿ ñïîñîáàìè, îïèñàííûìè íèæå.
Óòèëèòà
ðàñøèðÿåò âîçìîæíîñòè òèïîâîãî ôóíêöèîíàëà äëÿ ðàáîòû ñ âåòêàìè Git.
Îñíîâíàÿ âåòêà ïðîåêòà - master ââîäèòñÿ
àâòîìàòè÷åñêè ïðè ñîçäàíèè íîâîãî ïðîåêòà â ÑÏÏÐ.  Git
íà ñîçäà¸òñÿ ïî óìîë÷àíèþ ïðè ñîçäàíèè ïåðâîé ôèêñàöèè â õðàíèëèùå.
Âñå îñòàëüíûå âåòêè ìîæíî ñîçäàâàòü â ÑÏÏÐ ÷åðåç íàæàòèå êíîïêè ñ
ïèêòîãðàììîé:
.
Ïðè íàæàòèè íà êíîïêó â óäàë¸ííîì Git áóäåò
ïðåäïðèíÿòà ïîïûòêà ñîçäàíèÿ âåòêè, åñëè ïîïûòêà óñïåøíà –
áóäåò âûäàíî ñîîòâåòñòâóþùåå ñîîáùåíèå, ïðè íåóäà÷íîì ñîçäàíèè áóäåò
âûäàíî äèàãíîñòè÷åñêîå ñîîáùåíèå. Äëÿ ïîëó÷åíèÿ âåòêè â ëîêàëüíûé
êëîí õðàíèëèùà ðàçðàáîò÷èêó íåîáõîäèìî âûïîëíèòü îïåðàöèþ Ïîëó÷èòü èç
óäàëåííîãî õðàíèëèùà (Fetch).
Âíåøíå ýòî ìîæåò âûãëÿäåòü ïî-ðàçíîìó, îäíàêî òåõíè÷åñêè ïðè ïîÿâëåíèè â óäàëåííîì õðàíèëèùå ôèêñàöèè ñ íîâîé âåòêîé ïðîèçâîäèòñÿ ïîïûòêà ñâÿçàòü ýòó âåòêó ñ ñîîòâåòñòâóþùèì ýëåìåíòîì ñïðàâî÷íèêà «Âåòêè», íàéòè ñîîòâåòñòâóþùèé îáúåêò ñáîðêè, è ïîäñòàâèòü ýëåìåíò ñïðàâî÷íèêà «Âåòêè» â íåãî, òåì ñàìûì óêàçàâ âåòêó ðàçðàáîòêè èëè èñïðàâëåíèÿ îøèáêè â îáúåêòå ñáîðêè. Åñëè òàêîãî ýëåìåíò â ñïðàâî÷íèêå âåòêè îòñóòñòâóåò, ïðåäïðèíèìàåòñÿ ïîïûòêà îïðåäåëèòü ðîäèòåëüñêóþ âåòêó âåðñèè, è ïðè îòñóòñòâèè íåîïðåäåëåííîñòåé ýëåìåíò ñïðàâî÷íèêà «Âåòêè» áóäåò ñîçäàí â ÑÏÏÐ, î ÷åì ïîëüçîâàòåëü ïîëó÷èò óâåäîìëåíèå â ñèñòåìå:
Òåõíè÷åñêèå
ìîìåíòû è ñïîñîá ïîèñêà áàçîâîé (èñõîäíîé) âåòêè îïèñàí çäåñü.
Àíàëîãè÷íîå ïîâåäåíèå áóäåò ïðåäïðèíÿòî ïðè ñîçäàíèè âåòêè â âåá
èíòåðôåéñå Gitlab.
1Îïèñàíèå ñîîòâåòñòâóåò âåðñèè 1.0.2.6, äîïîëíåíî èçìåíåíèÿìè âåðñèè 1.0.2.15, îñòàëüíûå èçìåíåíèÿ è èñïðàâëåíèÿ îøèáîê ïî ññûëêå Îïèñàíèå îáíîâëåíèé