Содержание
Укрупнительная сборка узлов трубопроводов, монтаж компенсаторов
Перед подъемом отдельные готовые малогабаритные узлы и элементы должны быть укрупнены в блоки. Укрупнение отдельных элементов и узлов в блоки значительно сокращает объем наиболее трудоемких и опасных операций при подъеме трубопроводов на высоту. Блоки полностью сваривают или соединяют с помощью фланцев и поднимают за один прием. При укрупнении устанавливают арматуру. Габариты узлов и блоков выбирают в каждом отдельном случае, исходя из принятого проекта производства работ, местных условий (возможности прохода через проемы, между цеховыми металлоконструкциями, оборудованием, линиями других трубопроводов), а также с учетом сохранения необходимой жесткости и прочности, чтобы при подъеме и установке избежать поломок и деформаций. При укрупнении узлов следует добиваться минимального количества сварных и разъемных соединений, выполняемых по месту. Если укрупнительная сборка в блоки не предусмотрена проектом производства работ, то в отдельных случаях технические решения принимают непосредственно на монтажном участке.
Укрупнительную сборку блоков трубопроводов выполняют на жестких, хорошо выверенных стеллажах, а иногда непосредственно на площадке, поверхность которой забетонирована или утрамбована. Сборочные площадки обычно располагаются вблизи монтируемого объекта в зоне действия монтажного крана. Укрупнение в блоки вне зоны монтажного крана вызывает трудности, связанные с погрузкой и перевозкой блоков к месту монтажа, что часто приводит к необходимости уменьшать возможные их габариты и вес. Перед укрупнительной сборкой с деталей, элементов и узлов трубопроводов снимают временные заглушки и пробки, предохраняющие их концы от загрязнения в период хранения и транспортирования. Кроме того, при укрупнении тщательно проверяют, нет ли посторонних предметов внутри элементов и узлов; в отдельных случаях детали обезжиривают или продувают.
Сборку узлов в блоки производят после контрольных замеров готовых узлов и строительных размеров здания в местах установки блоков. При необходимости после этого на узлах и элементах отрезают припуски или, наоборот, вваривают патрубки. При сборке все фланцевые соединения должны быть полностью затянуты с установкой прокладки, а сварные стыки заварены до подъема блоков в проектное положение. При сборке должно быть зафиксировано правильное взаимное положение стыкуемых элементов.
После укрупнительной сборки блоков рекомендуется произвести их тепловую изоляцию на площадке или стеллаже.
П-образные компенсаторы устанавливают в горизонтальном положении и лишь в исключительных случаях, при отсутствии необходимой площади,— вертикально или наклонно. Вертикальное или наклонное расположение компенсаторов нежелательно, так как в нижних точках происходит скопление конденсата, для отбора которого требуется установка дренажных штуцеров. Во всех случаях элементы компенсатора должны располагаться в одной плоскости.
Рис. 130. Приспособление для растяжки компенсатора:
1 — плечо (петля) компенсатора (размер дан с учетом растяжки), 2 — хомут, 3 — винт,
4 — натяжная гайка, 5 — распорка
К установке допускаются компенсаторы, прошедшие после изготовления контрольную проверку.
Все компенсаторы перед их окончательным креплением к трубопроводу должны быть растянуты или сжаты на величину, указанную в проекте (от 50 до 100% теплового удлинения участка трубопровода). Растяжку применяют для «горячих» линий трубопровода, а сжатие для «холодных». Операция растяжки или сжатия называется холодным натягом трубопровода и производится для того, чтобы уменьшить напряжение в металле при тепловом удлинении трубопровода. Она может быть выполнена предварительно, до установки компенсатора на место или непосредственно на трубопроводе. Для предварительной растяжки применяют винтовое приспособление (рис. 130). Перед растяжкой замеряют длину компенсатора в свободном состоянии, а затем путем вращения гайки разводят его на необходимую величину.
До установки компенсатора трубопровод должен быть уложен на все опоры, а неподвижные опоры его должны быть окончательно затянуты. Компенсаторы необходимо устанавливать не менее чем на трех подвижных опорах. Предварительно растянутый компенсатор вместе с распорным приспособлением устанавливают в проектное положение, после чего его соединяют с линией трубопровода на фланцах или прихваткой сварных стыков. Окончательно сваривают стыки или затягивают фланцевые соединения после сборки и выверки всего участка трубопровода. Распорное приспособление снимают с помощью грузоподъемных средств по окончании всех работ, связанных с монтажом компенсатора.
На растяжку компенсаторов независимо от способа ее выполнения составляют акт, в котором указывают строительные длины компенсаторов до и после растяжки.
При групповом расположении П-образных компенсаторов нескольких параллельных трубопроводов (один внутри другого) их предварительно не растягивают. При установке нерастянутого компенсатора трубопровод собирают обычным способом, но в одном из стыков (сварном или фланцевом) оставляют зазор, равный величине растяжки компенсатора. Стык, у которого будет произведена растяжка компенсатора, указывают в проекте. Если указания нет, то во избежание перекоса для растяжки не следует использовать стык, непосредственно прилегающий к компенсатору. Для этой цели нужно оставлять зазор в соседнем стыке.
После установки компенсатора в проектное положение, сварки всех стыков (кроме одного) и закрепления трубопровода на всех неподвижных опорах по обе стороны компенсатора стык стягивают до требуемого зазора, а затем его сваривают. Стык на фланцевом соединении стягивают с помощью удлиненных (монтажных) болтов или шпилек, устанавливаемых во фланцах в шахматном порядке. Между монтажными болтами или шпильками оставляют отверстия для установки постоянных болтов. Диаметр и количество шпилек для холодного натяга трубопроводов указаны в проекте. После затяжки фланцевых соединений постоянными болтами удлиненные шпильки удаляют и на их место устанавливают постоянные болты или шпильки.
Сальниковые компенсаторы устанавливают строго соосно с трубопроводами и закрепляют на опорах. Несовпадение осей трубопровода и компенсатора может вызвать заедание подвижных частей и нарушение герметичности. Перед установкой компенсатор растягивают на величину, указанную в проекте и определяемую по расстоянию между рисками, нанесенными на его корпусе и стакане. При этом между упорными кольцами на патрубке и в корпусе компенсатора должен быть оставлен зазор на случай понижения температуры в сравнении с температурой воздуха в момент монтажа. Минимальная величина зазора при длине участка трубопровода 100 м должна составлять при температуре наружного воздуха в момент монтажа: ниже — 5° С —30 мм, от —5° до +20° С — 50 мм, свыше +20° С-60 мм.
При установке необходимо предусмотреть, чтобы в случае срыва неподвижных опор движущаяся часть трубы не вырвалась из корпуса компенсатора. В большинстве случаев для этого на скользящую часть трубы приваривают ободок так, чтобы он не мешал работе компенсатора. Перед установкой скользящие поверхности надо смазывать маслом. При установке чугунных сальников компенсаторов по обе стороны их необходимо ставить направляющие опоры; кроме того, должен быть обеспечен хороший дренаж.
Линзовые компенсаторы устанавливают после укладки трубопровода до его закрепления на неподвижных опорах. При этом следят за тем, чтобы направляющий стакан внутри компенсатора был вварен со стороны движения транспортируемой среды. Линзовые компенсаторы на горизонтальных паропроводах устанавливают дренажным штуцером вниз, а на водяных линиях — вверх. Подводку, к каждому дренажному штуцеру выполняют гнутым или крутоизогнутым отводом, чтобы обеспечить перемещение штуцера вместе с компенсатором на расстоянии не менее 10 мм на каждую линзу. Линзовые и волнистые компенсаторы присоединяют к трубопроводу с помощью фланцев или путем сварки. Перед присоединением компенсаторы растягивают или сжимают с помощью приспособления, которое состоит из двух стяжных хомутов, закрепляемых на трубопроводе по обе стороны от компенсатора, и стяжных шпилек. После растяжки или сжатия компенсатора на величину, указанную в проекте, трубопровод закрепляют на неподвижных опорах по обе стороны, от компенсатора и снимают с него хомуты.
Линзовые и волнистые компенсаторы на фланцах растягивают аналогично П-образным.
1. Для чего производят укрупнительную сборку узлов трубопроводов перед монтажом?
2. В какой последовательности осуществляют укрупнительную сборку узлов трубопроводов?
3. Для чего применяют предварительную растяжку компенсатора?
4. Расскажите о правилах установки П-образных компенсаторов.
5. Какие приспособления используют для предварительной растяжки компенсаторов?
6. Расскажите о правилах установки сальниковых и линзовых компенсаторов.
Все материалы раздела «Монтаж трубопроводов» :
● Такелажная оснастка и грузоподъемные механизмы
● Производство такелажных работ
● Монтажный инструмент, применяемый при изготовлении и монтаже трубопроводов
● Технология монтажа стальных трубопроводов
● Разбивка трассы трубопровода
● Установка опор, подвесок и опорных конструкций
● Укрупнительная сборка узлов трубопроводов, монтаж компенсаторов
● Установка арматуры, дренажей, воздушников и приборов контроля
● Врезка трубопроводов в действующие трубопроводы, промывка и продувка трубопровода
● Гидравлическое испытание трубопровода
● Пневматическое испытание трубопровода
● Сдача и приемка трубопроводов в эксплуатацию, организация труда
● Правила техники безопасности при монтаже трубопроводов
● Монтаж внутрицеховых трубопроводов
● Монтаж межцеховых трубопроводов
● Монтаж трубопроводов высокого давления
● Монтаж трубопроводов из легированных сталей, а также с внутренним покрытием
● Монтаж трубопроводов из цветных металлов и чугуна
● Монтаж неметаллических трубопроводов
Опознавательная окраска трубопроводов — ТАРГИС
Защитная окраска трубопроводов является основным способом предотвращения коррозии и агрессивных воздействий среды на материал трубы. Основная задача защитной окраски — предотвратить контакт трубопровода с окружающей средой во всём диапазоне рабочих параметров трубопровода.
Совершенно иную, но не менее важную функцию выполняет обязательный элемент маркировки трубопроводов — опознавательная окраска трубопроводов. Она предназначена для быстрой идентификации вещества, транспортируемого по трубопроводу и степени его опаcности.
Нормативная документация по опознавательной окраске трубопроводов
В каждой отрасли существует ряд нормативной документации, регламентирующей вопросы опознавательной окраски трубопроводов, однако все эти документы либо ссылаются, либо повторяют требования основного стандарта по идентификации трубопроводов в Российской Федерации — ГОСТ 14202.
Такая унификация маркировки позволяет однозначно определить содержимое трубопровода на любом объекте — от небольшой модульной котельной до атомной электростанции и нефтеперерабатывающего завода.
Исключениями, на которые не распространяются требования ГОСТ 14202, являются трубопроводы с медицинскими газами, судовые и авиационные трубопроводы.
Основные требования к опознавательной окраске трубопроводов
Опознавательная окраска трубопроводов предусматривает цветовую идентификацию в зависимости от транспортируемой среды, а также нанесение предупреждающих колец, которые определяют степень опасности содержимого трубопровода.
Существует десять укрупненных групп веществ, каждой из которых соответствует определенный цвет (таблица 1):
Таблица 1 — Цвета опознавательной окраски трубопроводов | ||
Транспортируемое вещество | Образцы и наименование цветов опознавательной окраски | |
Цифровое обозначение группы | Наименование | |
1 | Вода | Зеленый |
2 | Пар | Красный |
3 | Воздух | Синий |
4 5 | Газы горючие Газы негорючие | Желтый |
6 | Кислоты | Оранжевый |
7 | Щелочи | Фиолетовый |
8 9 | Жидкости горючие Жидкости негорючие | Коричневый |
10 | Прочие вещества | Серый |
Часто опознавательную и защитную окраску совмещают — наносят на трубопровод покрытие того цвета, который характеризует транспортируемую среду.
Однако, во многих случаях это не возможно, например:
- — необходимое в конкретных условиях защитное покрытие имеет цвет, отличный от требуемого по ГОСТ 14202;
- — на трубопровод монтируется теплоизоляционная конструкция;
- — трубопровод уже имеет заводское защитное покрытие;
- — трубопровод выполнен из цветного металла и его окраска не требуется.
В этих случаях стандарт позволяет выполнять защитную окраску не по всей длине трубопровода, а участками.
При таком способе намного эффективнее применение маркировочных лент различных цветов. Их проще и быстрее нанести на трубопровод, а долговечность и презентабельность такой маркировки значительно выше.
Ширина цветных участков для трубопроводов диаметром (включая тепловую изоляцию) до 300 мм должна быть не менее четырех диаметров, а для трубопроводов диаметром более 300 мм — не менее двух диаметров. На трубопроводах больших диаметров допускается окраску наносить в виде полос высотой не менее ¼ длины окружности трубопровода.
Интервалы нанесения опознавательной окраски трубопроводов должны быть не более 10 метров в помещениях, а также на наружных установках, и не более 60 метров на наружных магистральных трубопроводах.
Элементы опознавательной окраски должны быть нанесены у прохода трубопроводов через стены и перекрытия, в местах установки запорной арматуры, на вводах и выводах в зданиях и установках.
Подробнее с требованиями по опознавательной окраске трубопроводов можно ознакомиться в ГОСТ 14202.
Обязательным также является нанесение предупреждающих колец, несущих информацию о степени опасности среды, находящейся в трубопроводе. Цвет и количество колец приведены в таблицах 2-3, а схема нанесения на чертеже 1.
Таблица 2 — Цвета предупреждающих колец | ||
Образцы сигнальных цветов | Наименование сигнальных цветов | Свойство транспортируемого вещества |
Красный | Легковоспламеняемость, огнеопасность и взрывоопасность | |
Желтый | Опасность или вредность (ядовитость, токсичность, способность вызывать удушье, термические или химические ожоги, радиоактивность, высокое давление или глубокий вакуум и др. ) | |
Зеленый | Безопасность или нейтральность |
Таблица 3 — Количество предупреждающих колец | ||||
Группа | Количество предупреждающих колец | Транспортируемое вещество | Давление в кгс/см² | Температура в °С |
1 | Одно | Перегретый пар | До 22 | От 250 до 350 |
Горячая вода, насыщенный пар | От 16 до 80 | Св. 120 | ||
Перегретый и насыщенный пар, горячая вода | От 1 до 16 | От 120 до 250 | ||
Горючие (в том числе сжиженные и активные газы, легковоспламеняющиеся и горючие жидкости) | До 25 | От минус 70 до 250 | ||
Негорючие жидкости и пары, инертные газы | До 64 | От минус 70 до 350 | ||
2 | Два | Перегретый пар | До 39 | От 350 до 450 |
Горячая вода, насыщенный пар | От 80 до 184 | Св. 120 | ||
Продукты с токсическими свойствами (кроме сильнодействующих ядовитых веществ и дымящихся кислот) | До 16 | От минус 70 до 350 | ||
Горючие (в том числе сжиженные и активные газы, легковоспламеняющиеся и горючие жидкости) | От 25 до 64 | От 250 до 350 и от минус 70 до 0 | ||
Негорючие жидкости и пары, инертные газы | От 64 до 100 | От 340 до 450 и от минус 70 до 0 | ||
3 | Три | Перегретый пар | Независимо от давления | От 450 до 660 |
Горячая вода, насыщенный пар | Св. 184 | Св. 120 | ||
Сильнодействующие ядовитые вещества (СДЯВ) и дымящиеся кислоты | Независимо от давления | От минус 70 до 700 | ||
Прочие продукты с токсическими свойствами | Св. 16 | От минус 70 до 700 | ||
Горючие (в том числе сжиженные и активные газы, легковоспламеняющиеся и горючие жидкости) | Независимо от давления | От 350 до 750 | ||
Негорючие жидкости и пары, инертные газы | Независимо от давления | От 450 до 700 |
Черт. 1
При необходимости нанесения колец желтого цвета на трубы с газом (желтые) или с кислотами (оранжевые) их читаемость будет затруднена. Для этого случая ГОСТ 14202 предусматривает выполнение на предупреждающих кольцах каемки черного цвета шириной не менее 10 мм.
Аналогичное требование распространяется в случае нанесения колец зеленого цвета на трубопровод с водой (также зеленый) — по краям колец наносятся каемки белого цвета шириной не менее 10 мм.
Упростить работу по нанесению цветных предупреждающих колец на трубопроводы могут самоклеющиеся маркировочные ленты, которые при необходимости уже могут содержать каемки необходимого цвета.
Однако, ещё более эффективным является применение лент, которые одновременно имеют цвет фона, соответствующего группе транспортируемого вещества и необходимые предупреждающие кольца. В этом случае стоимость и скорость нанесения опознавательной окраски трубопроводов значительно снижается.
Пример маркировки трубопроводов самоклеющимися лентами
Обязательным элементом опознавательной окраски является размещение в доступных местах помещений или площадки предприятия схем и плакатов с указанием соответствующих требований ГОСТ 14202.
Для конкретизации веществ, транспортируемых по трубопроводам и их параметров, необходимо применение маркировочных надписей или щитков согласно требований ГОСТ 14202. Щитки должны содержать наименование вещества, направление его движения, а также соответствующие знаки опасности. Цвет, форма, размер и шрифт надписи должен соответствовать требованиям вышеупомянутого стандарта.
Ознакомиться с ассортиментом маркировочной продукции для трубопроводов.
Конвейерная архитектура | GitLab
- Основные конвейеры
- Конвейеры направленного ациклического графа
- Конвейеры «родитель-потомок»
Конвейеры — это фундаментальные строительные блоки для CI/CD в GitLab. Документы на этой странице
некоторые из важных понятий, связанных с ними.
Вы можете структурировать свои пайплайны разными способами, каждый со своими
собственные преимущества. При необходимости эти методы можно комбинировать и сочетать:
- Базовый: подходит для простых проектов, где вся конфигурация находится в одном легкодоступном месте.
- Направленный ациклический граф: подходит для больших и сложных проектов, требующих эффективного выполнения.
Родительско-дочерние конвейеры: подходит для монорепозиториев и проектов с большим количеством независимо определенных компонентов.
Для обзора см. демонстрацию функции Parent-Child Pipelines.Многопроектные конвейеры: подходит для более крупных продуктов, требующих межпроектных взаимозависимостей,
например, с микросервисной архитектурой.Например, вы можете развернуть свое веб-приложение из трех разных проектов GitLab.
С многопроектными конвейерами вы можете запускать конвейер в каждом проекте, где каждый
имеет собственный процесс сборки, тестирования и развертывания. Вы можете визуализировать подключенные трубопроводы
в одном месте, включая все межпроектные взаимозависимости.
Обзор см. в демонстрации многопроектных конвейеров.
Основные трубопроводы
Это самый простой пайплайн в GitLab. Он запускает все на этапе сборки одновременно,
и как только все они закончатся, он запускает все в тесте и на последующих этапах одинаково.
Это не самый эффективный способ, и если у вас много шагов, он может стать довольно сложным, но он
проще в обслуживании:
граф LR
этап развертывания подграфа
развернуть —> развернуть_а
развернуть —> развернуть_b
конец
этап тестирования подграфа
тест —> test_a
тест —> test_b
конец
этап построения подграфа
сборка —> сборка_а
сборка —> build_b
конец
build_a —> тест
build_b —> тест
test_a —> развернуть
test_b —> развернуть
Пример базовой конфигурации конвейера /.gitlab-ci.yml
, соответствующей схеме:
этапов: - строить - тестовое задание - развертывать изображение: альпийский построить: этап: сборка сценарий: - echo "Эта работа что-то строит." build_b: этап: сборка сценарий: - echo "Эта работа строит что-то еще." тест_а: этап: тест сценарий: - echo "Это задание что-то проверяет. Оно запустится, только когда все задания в" - эхо "стадия сборки завершена." тест_б: этап: тест сценарий: - echo "Это задание проверяет что-то еще. Оно будет выполняться только тогда, когда все задания в" - echo "Этап сборки также завершен. Он начнется примерно в то же время, что и test_a." развернуть_а: этап: развертывание сценарий: - echo "Это задание развертывает что-то. Оно будет выполняться только тогда, когда все задания в" - эхо "тестовый этап завершен." среда: производство развернуть_b: этап: развертывание сценарий: - echo "Это задание развертывает что-то еще. Оно будет выполняться только тогда, когда все задания в" - echo "Этап тестирования завершен. Он начнется примерно в то же время, что и deploy_a." среда: производство
Конвейеры направленного ациклического графа
Если для вас важна эффективность и вы хотите, чтобы все работало как можно быстрее,
вы можете использовать направленные ациклические графы (DAG). Использовать
необходимо ключевое слово
для определения отношений зависимости между
ваши рабочие места. Когда GitLab знает взаимосвязь между вашими заданиями, он может запускать все, что угодно.
как можно быстрее и даже пропускает последующие этапы, когда это возможно.
В приведенном ниже примере, если build_a
и test_a
намного быстрее, чем build_b
и
test_b
, GitLab запускает deploy_a
, даже если build_b
все еще работает.
граф LR
subgraph Pipeline с использованием DAG
build_a —> test_a —> deploy_a
build_b —> test_b —> deploy_b
end
Пример DAG /.gitlab-ci.yml
конфигурация соответствующая диаграмме:
этапы: - строить - тестовое задание - развертывать изображение: альпийский построить: этап: сборка сценарий: - echo "Эта работа строит что-то быстро." build_b: этап: сборка сценарий: - echo "Эта работа медленно строит что-то еще." тест_а: этап: тест потребности: [build_a] сценарий: - echo "Это тестовое задание начнется, как только завершится build_a. " - echo "Он не будет ждать завершения build_b или других заданий на этапе сборки." тест_б: этап: тест потребности: [build_b] сценарий: - echo "Это тестовое задание начнется, как только завершится build_b." - echo "Он не будет ждать завершения других заданий на этапе сборки." развернуть_а: этап: развертывание потребности: [test_a] сценарий: - echo "Поскольку build_a и test_a выполняются быстро, это задание по развертыванию может выполняться намного раньше." - echo "Не нужно ждать build_b или test_b." среда: производство развернуть_b: этап: развертывание потребности: [test_b] сценарий: - echo "Поскольку build_b и test_b работают медленно, это задание по развертыванию будет запущено намного позже." среда: производство
Родительско-дочерние конвейеры
По мере усложнения конвейеров начинают возникать несколько связанных проблем:
- Поэтапная структура, в которой все шаги на этапе должны быть завершены до первого
работа на следующем этапе начинается, вызывает ожидания, которые замедляют работу. - Конфигурация единого глобального конвейера становится
тяжело управлять. - Импорт с
включает
, увеличивает сложность конфигурации и может вызвать
коллизии пространств имен, когда задания непреднамеренно дублируются. - В Pipeline UX слишком много заданий и этапов для работы.
Кроме того, иногда поведение конвейера должно быть более динамичным. Способность
выбирать, запускать подконвейеры (или нет) — мощная способность, особенно если
YAML генерируется динамически.
В базовом конвейере и ориентированном ациклическом графе
В приведенных выше примерах есть два пакета, которые можно собрать независимо друг от друга.
Эти случаи идеально подходят для использования родительско-дочерних конвейеров.
Он разделяет конфигурацию на несколько файлов, что упрощает работу.
Вы можете комбинировать конвейеры родитель-потомок с:
- Ключевое слово
правил
: например, запускать только дочерние конвейеры
когда есть изменения в этой области. -
включают ключевое слово
: Привнести общее поведение, гарантируя
ты не повторяешься. - Конвейеры DAG внутри дочерних конвейеров, реализуя преимущества обоих.
граф LR
подграф Родительский конвейер
trigger_a —> build_a
trigger_b —> build_b
дочерний конвейер подграфа B
build_b —> test_b —> deploy_b
конец
дочерний конвейер подграфа A
build_a —> test_a —> deploy_a
конец
конец
Пример /.gitlab-ci.yml
конфигурация для родительского пайплайна, соответствующая схеме:
этапов: - триггеры триггер_а: стадия: триггеры курок: включают: a/.gitlab-ci.yml правила: - изменения: - а/* триггер_б: стадия: триггеры курок: включают: b/.gitlab-ci.yml правила: - изменения: - б/*
Пример дочернего элемента конфигурации конвейера
, расположенной в /a/.gitlab-ci.yml
, что делает
использование DAG требует
ключевое слово:
этапы: - строить - тестовое задание - развертывать изображение: альпийский построить: этап: сборка сценарий: - echo "Эта работа что-то строит. " тест_а: этап: тест потребности: [build_a] сценарий: - echo "Эта работа что-то проверяет." развернуть_а: этап: развертывание потребности: [test_a] сценарий: - echo "Это задание развертывает что-то." среда: производство
Пример дочерней конфигурации конвейера b
, расположенной в /b/.gitlab-ci.yml
, что делает
использование ДАГ нужно
ключевое слово:
этапов: - строить - тестовое задание - развертывать изображение: альпийский build_b: этап: сборка сценарий: - echo "Эта работа строит что-то еще." тест_б: этап: тест потребности: [build_b] сценарий: - echo "Эта работа проверяет что-то еще." развернуть_b: этап: развертывание потребности: [test_b] сценарий: - echo "Это задание развертывает что-то еще." среда: производство
Также можно настроить выполнение заданий до или после запуска дочерних конвейеров,
например, если у вас есть общие шаги настройки или унифицированное развертывание в конце.
конвейеры CI/CD | GitLab
- Типы конвейеров
- Настройка конвейера
- Справочные спецификации для бегунов
- Просмотр конвейеров
- Запустить конвейер вручную
- Переменные предварительного заполнения в ручных конвейерах
- Настройка списка выбираемых значений для предварительно заполненной переменной
- Переменные предварительного заполнения в ручных конвейерах
- Запуск конвейера с использованием строки запроса URL
- Добавьте ручное взаимодействие в конвейер
- Запустите несколько ручных действий на этапе
- Пропустить конвейер
- Удалить конвейер
- Безопасность конвейера на защищенных ветвях
- Запуск конвейера при перестроении вышестоящего проекта
- Как рассчитывается продолжительность конвейера
- Визуализация конвейеров
- Просмотр полного графика конвейера
- Просмотр зависимостей заданий на графике конвейера
- Мини-графики конвейера
- Диаграммы успеха и длительности конвейера
- Значки конвейера
- Pipelines API
примечание
Смотреть
«Освоение непрерывной разработки программного обеспечения»
веб-трансляцию, чтобы увидеть исчерпывающую демонстрацию конвейера GitLab CI/CD.
Конвейеры — это компонент верхнего уровня непрерывной интеграции, доставки и развертывания.
Конвейеры включают:
- Задания, которые определяют что делать . Например, задания, которые компилируют или тестируют код.
- Этапы, которые определяют , когда запускать задания. Например, этапы, на которых выполняются тесты, после этапов, на которых компилируется код.
Задания выполняются исполнителями. Несколько заданий на одном этапе выполняются параллельно,
если есть достаточно одновременных бегунов.
Если все заданий на этапе выполняются успешно, конвейер переходит к следующему этапу.
Если любое задание на этапе завершается с ошибкой, следующий этап (обычно) не выполняется, и конвейер завершается раньше.
Как правило, конвейеры выполняются автоматически и после создания не требуют вмешательства. Однако есть
также время, когда вы можете вручную взаимодействовать с конвейером.
Типичный конвейер может состоять из четырех этапов, выполняемых в следующем порядке:
- Этап
сборки
с заданием под названиемкомпиляция
. - Этап
test
с двумя заданиями, называемымиtest1
иtest2
. -
промежуточный этап
с заданием под названиемразвертывание на этапе
. - Рабочий этап
deploy-to-prod
.
примечание
Если у вас есть зеркальный репозиторий, из которого GitLab извлекает,
вам может потребоваться включить запуск конвейера в вашем проекте
Настройки > Репозиторий > Зеркалирование репозиториев > Инициировать конвейеры для зеркальных обновлений .
Типы трубопроводов
Конвейеры могут быть сконфигурированы разными способами:
- Базовые конвейеры запускают все на каждом этапе одновременно,
следует следующий этап. - Конвейеры направленного ациклического графа (DAG) основаны на отношениях
между заданиями и может работать быстрее, чем базовые конвейеры. - Конвейеры запросов на слияние запускаются для слияния
только запросы (а не для каждого коммита). - Объединенные конвейеры результатов
представляют собой конвейеры мерж-реквестов, которые действуют так, как будто изменения исходной ветки
уже объединены в целевую ветку. - Объединить поезда
используйте объединенные конвейеры результатов для очереди слияний одного за другим. - Родительско-дочерние конвейеры разбивают сложные конвейеры
в один родительский конвейер, который может запускать несколько дочерних подконвейеров, которые все
запускать в том же проекте и с тем же SHA. Эта конвейерная архитектура обычно используется для монорепозиториев. - Многопроектные пайплайны объединяют пайплайны для разных проектов вместе.
Настройка конвейера
Конвейеры, задания и этапы их компонентов определяются в файле конфигурации конвейера CI/CD для каждого проекта.
- Задания являются основным компонентом конфигурации.
- Этапы определяются с помощью ключевого слова
stage
.
Список параметров конфигурации в файле конвейера CI см. в GitLab CI/CD Pipeline Configuration Reference.
Вы также можете настроить определенные аспекты ваших конвейеров через пользовательский интерфейс GitLab. Например:
- Настройки пайплайна для каждого проекта.
- Графики трубопроводов.
- Пользовательские переменные CI/CD.
Артикул для направляющих
Когда исполнитель выбирает задание конвейера, GitLab предоставляет метаданные этого задания. Это включает спецификации Git refspecs,
которые указывают, какая ссылка (например, ветвь или тег) и фиксация (SHA1) извлечены из вашего
репозиторий проекта.
В этой таблице перечислены refspecs, введенные для каждого типа конвейера:
Тип трубопровода | Refspecs |
---|---|
конвейер для ответвлений | + и +refs/heads/ |
конвейер для тегов | + и +refs/tags/ |
конвейер запросов на слияние | + |
в вашей
репозиторий проекта. GitLab генерирует специальную ссылку refs/pipelines/
во время
запущенное задание конвейера. Эта ссылка может быть создана даже после того, как соответствующая ветвь или тег были
удален. Поэтому это полезно для некоторых функций, таких как автоматическая остановка среды,
и слить поезда
которые могут запускать конвейеры после удаления ветки.
Просмотр трубопроводов
Текущие и прошлые конвейеры можно найти в разделе вашего проекта.
CI/CD > Конвейеры стр. Вы также можете получить доступ к конвейерам для запроса на слияние, перейдя
на его вкладку Pipelines .
Выберите конвейер, чтобы открыть страницу сведений о конвейере и показать
задания, которые были запущены для этого конвейера. Отсюда вы можете отменить работающий конвейер,
повторите выполнение заданий на неисправном конвейере или удалите конвейер.
Начиная с GitLab 12.3, ссылка на
последний конвейер для последней фиксации данной ветки доступен по адресу /project/pipelines/[branch]/latest
.
Кроме того, /project/pipelines/latest
перенаправляет вас на последний конвейер для последней фиксации.
в ветке проекта по умолчанию.
Начиная с GitLab 13.0,
список пайплайнов можно отфильтровать по:
- Автору триггера
- Название ветки
- Статус (GitLab 13.1 и выше)
- Тег (GitLab 13.1 и выше)
- Исходный код (GitLab 14.3 и более поздние версии)
Начиная с GitLab 14.2, вы можете изменить
столбец конвейера для отображения идентификатора конвейера или IID конвейера.
Если вы используете VS Code для редактирования конфигурации GitLab CI/CD,
Расширение GitLab Workflow VS Code поможет вам
подтвердите свою конфигурацию
и просмотрите статус вашего конвейера.
Запуск конвейера вручную
Конвейеры могут выполняться вручную с предопределенными или заданными вручную переменными.
Вы можете сделать это, если результаты конвейера (например, сборка кода) требуются за пределами обычного
эксплуатации трубопровода.
Чтобы выполнить конвейер вручную:
- В верхней панели выберите Главное меню > Проекты и найдите свой проект.
- На левой боковой панели выберите CI/CD > Pipelines .
- Выберите Запустить конвейер .
- В поле Выполнить для имени ветви или тега выберите ветвь или тег, для которых нужно запустить конвейер.
- Введите любые переменные среды, необходимые для запуска конвейера.
Вы можете установить определенные переменные, чтобы их значения были предварительно заполнены в форме. - Выберите Запустить конвейер .
Теперь конвейер выполняет задания в соответствии с настройками.
Переменные предварительного заполнения в ручных конвейерах
Представлено в GitLab 13.7.
Вы можете использовать описание
и значение
ключевые слова для определения переменных конвейерного уровня (глобальных)
которые предварительно заполняются при запуске конвейера вручную. Используйте описание, чтобы объяснить
например, для чего используется переменная и каковы допустимые значения.
Переменные уровня задания не могут быть предварительно заполнены.
В конвейерах, запускаемых вручную, на странице Запуск конвейера отображаются все переменные уровня конвейера.
с описанием
, определенным в файле .gitlab-ci.yml . В описании отображается
ниже переменной.
Вы можете изменить предварительно заполненное значение, которое переопределяет значение для этого отдельного запуска конвейера.
Если вы не зададите значение
для переменной в файле конфигурации, переменная все равно будет отображаться,
но поле значения пустое.
Например:
переменные: ТЕСТИРОВАНИЕ: description: "Набор тестов, который будет запущен. Допустимые варианты: 'по умолчанию', 'короткий', 'полный'." значение: "по умолчанию" РАЗВЕРТЫВАНИЕ_СРЕДЫ: description: "Выберите цель развертывания. Допустимые варианты: "canary", "staging", "production" или стабильная ветвь по вашему выбору."
В этом примере:
-
TEST_SUITE
предварительно заполнен на странице Запустить конвейер спо умолчанию
,
и сообщение объясняет другие варианты. -
DEPLOY_ENVIRONMENT
указан на странице конвейера запуска , но для него не задано значение.
Ожидается, что пользователь будет определять значение каждый раз, когда конвейер запускается вручную.
Настройка списка выбираемых значений для предварительно заполненной переменной
История версий
- Представлен в GitLab 15.5 с флагом
run_pipeline_graphql
. Отключено по умолчанию. - Ключевое слово
options
появилось в GitLab 15.7. - Обычно доступно в GitLab 15.7. Флаг функции
run_pipeline_graphql
удален.
Можно определить массив значений переменных CI/CD, из которых пользователь может выбирать при запуске конвейера вручную.
Эти значения находятся в раскрывающемся списке на странице запуска конвейера . Добавьте список
значение options на options
и установите значение по умолчанию с value
. Строка в значение
также должен быть включен в список опций .
Например:
переменные: РАЗВЕРТЫВАНИЕ_СРЕДЫ: значение: "постановка" параметры: - "производство" - "постановка" - "канарейка" description: "Цель развертывания. По умолчанию установлено "staging"."
Запустите конвейер с помощью строки запроса URL-адреса
Представлено в GitLab 12.5.
Вы можете использовать строку запроса для предварительного заполнения страницы Run Pipeline . Например, строка запроса
.../pipelines/new?ref=my_branch&var[foo]=bar&file_var[file_foo]=file_bar
предварительно заполняет
Запуск страницы конвейера с:
- Выполнить для поля :
my_branch
. - Раздел переменных :
- Переменная:
- Ключ:
foo
- Значение:
бар
- Ключ:
- Файл:
- Ключ:
file_foo
- Значение:
file_bar
- Ключ:
- Переменная:
Формат конвейеров/новый URL
:
.../pipelines/new?ref=<ветка>&var[<ключ_переменной>]=<значение>&file_var[<ключ_файла>]=<значение>
Поддерживаются следующие параметры:
-
ref
: укажите ветвь для заполнения поля Run for . -
var
: укажите переменнуюVariable
. -
file_var
: укажите переменнуюFile
.
Для каждого var
или file_var
, требуются ключ и значение.
Добавьте ручное взаимодействие в конвейер
Ручной труд,
позволяют вам требовать ручного взаимодействия, прежде чем двигаться вперед в конвейере.
Вы можете сделать это прямо из графа конвейера. Просто нажмите кнопку воспроизведения
для выполнения этой конкретной работы.
Например, ваш конвейер может запускаться автоматически, но для его запуска требуется ручное действие.
развертывание в производстве.
В приведенном ниже примере этап производства
имеет задание с ручным действием:
Запуск нескольких ручных действий на этапе
Представлено в GitLab 11.11.
Несколько ручных действий на одном этапе могут быть запущены одновременно с помощью «Воспроизвести все вручную».
После выбора этого действия запускается и обновляется каждое отдельное ручное действие.
в обновленный статус.
Эта функция доступна только:
- Для пользователей с ролью хотя бы разработчика.
- Если этап содержит ручные действия.
Пропустить конвейер
Чтобы отправить фиксацию без запуска конвейера, добавьте [ci skip]
или [skip ci]
, используя любой
заглавными буквами, к вашему сообщению фиксации.
В качестве альтернативы, если вы используете Git 2.10 или более позднюю версию, используйте параметр ci.skip
Git push.
Опция ci.skip
push не пропускает мерж-реквест.
трубопроводы.
Удалить конвейер
Представлено в GitLab 12.7.
Пользователи с ролью владельца проекта могут удалить конвейер
выбрав трубопровод в CI/CD > Конвейеры , чтобы перейти к сведениям о конвейере
страницу, затем выберите Удалить .
Удаление конвейера не приводит к автоматическому удалению его
дочерние трубопроводы.
Смотрите связанную проблему
для деталей.
предупреждение
Удаление конвейера истечет срок действия всех кешей конвейера и немедленно удалит все
связанные объекты, такие как сборки, журналы, артефакты и триггеры.
Это действие нельзя отменить.
Безопасность трубопровода на защищенных ответвлениях
Строгая модель безопасности применяется, когда конвейеры выполняются на
защищенные ветки.
Следующие действия разрешены на защищенных ветвях, только если пользователь
разрешено объединять или нажимать
в этой конкретной ветке:
- Запуск конвейеров вручную (используя веб-интерфейс или API конвейеров).
- Запуск запланированных конвейеров.
- Запускать конвейеры с помощью триггеров.
- Запустить сканирование DAST по требованию.
- Инициировать ручные действия на существующих конвейерах.
- Повторить или отменить существующие задания (используя веб-интерфейс или API конвейеров).
Переменные , помеченные как защищенные , доступны только для заданий,
работать на защищенных ветвях, предотвращая ненамеренный доступ ненадежных пользователей к
конфиденциальная информация, такая как учетные данные развертывания и токены.
Runners , помеченные как защищенные , могут выполнять задания только на защищенных
ветвей, предотвращая выполнение ненадежного кода на защищенном бегуне и
защита ключей развертывания и других учетных данных от непреднамеренного
доступ. Чтобы гарантировать, что задания, предназначенные для выполнения на защищенных
бегуны не используют обычные бегуны, они должны быть помечены соответствующим образом.
Проверка безопасности развертывания
страницу с дополнительными рекомендациями по безопасности для защиты ваших конвейеров.
Запуск конвейера при перестроении вышестоящего проекта
Представлено в GitLab 12.8.
Вы можете активировать конвейер в своем проекте всякий раз, когда конвейер завершает работу для нового
тег в другом проекте.
Предпосылки:
- Вышестоящий проект должен быть общедоступным.
- Пользователь должен иметь роль разработчика
в вышестоящем проекте.
Чтобы запустить конвейер при перестроении вышестоящего проекта:
- В верхней панели выберите Главное меню > Проекты и найдите свой проект.
- На левой боковой панели выберите Настройки > CI/CD .
- Расширить Конвейерные подписки .
- Введите проект, на который вы хотите подписаться, в формате
<пространство имен>/<проект>
.
Например, если проектhttps://gitlab.com/gitlab-org/gitlab
, используйтеgitlab-org/gitlab
. - Выбрать Подписаться .
Любые конвейеры, успешно завершенные для новых тегов в подписанном проекте
теперь запускаем конвейер в ветке по умолчанию текущего проекта. Максимум
количество подписок на восходящий конвейер по умолчанию равно 2, как для восходящего, так и для
последующие проекты. В самоуправляемых экземплярах администратор может изменить это
предел.
Как рассчитывается продолжительность конвейера
Общее время работы данного конвейера без учета повторных попыток и ожидающих
(в очереди) время.
Каждое задание представлено как Период
, который состоит из:
-
Период#первый
(когда задание началось). -
Period#last
(когда задание завершено).
Простой пример:
- A (1, 3)
- B (2, 4)
- C (6, 7)
В примере:
- A начинается в
- и заканчивается на
- 3.
- B начинается с 2 и заканчивается на 4.
- C начинается с 6 и заканчивается на 7.
Визуально это можно увидеть как:
0 1 2 3 4 5 6 7 ААААААА ВВВВВВ CCCC
Объединение A, B и C равно (1, 4) и (6, 7). Следовательно, общее время выполнения равно:
(4 - 1) + (7 - 6) => 4
Визуализация трубопроводов
Конвейеры могут представлять собой сложные структуры с множеством последовательных и параллельных заданий.
Чтобы упростить понимание потока конвейера, в GitLab есть графики конвейеров для просмотра конвейеров.
и их статусы.
Конвейерные графики могут отображаться в виде крупного графика или миниатюрного представления, в зависимости от страницы, на которой вы
получить доступ к графику из.
GitLab использует заглавные буквы в названиях стадий в графах пайплайнов.
Посмотреть полный график конвейера
Улучшения визуализации, представленные в GitLab 13.11.
На странице сведений о конвейере отображается полный график конвейера
все работы в очереди.
Вы можете сгруппировать задания по:
Этап, который упорядочивает задания на одном этапе вместе в одном столбце:
Рабочие зависимости, которые упорядочивают
рабочие места, основанные на их, нуждаются в
зависимостях.
Справка по многопроектным графикам конвейера
вы визуализируете весь конвейер, включая все межпроектные взаимозависимости.
Если этап содержит более 100 заданий, в списке отображаются только первые 100 заданий.
график трубопровода. Остальные задания по-прежнему выполняются в обычном режиме. Чтобы просмотреть задания:
- Выберите конвейер, и задания будут перечислены в правой части страницы сведений о конвейере.
- На левой боковой панели выберите CI/CD > Задания .
Просмотр зависимостей заданий в графе конвейера
История версий
- Представлено в GitLab 13.12.
- Включено по умолчанию в GitLab 14.0.
- Флаг функции удален в GitLab 14.2.
Для размещения заданий в графе конвейера на основе их потребностей
зависимостей, выберите Зависимости заданий в разделе Группировать задания по . Этот вариант
доступен для конвейеров с 3 и более заданиями с требует
рабочих зависимостей.
Задания из крайнего левого столбца выполняются первыми, а зависящие от них задания группируются в следующих столбцах.
Например, test-job1
зависит только от заданий в первом столбце, поэтому отображается
во втором столбце слева. deploy-job1
зависит от заданий как в первом
и второй столбец и отображает в третьем столбце:
0259 Показать зависимости Переключить.
Эти строки аналогичны визуализации потребностей:
Чтобы увидеть полное дерево зависимостей need
для задания, наведите на него курсор:
Мини-графики конвейера
Мини-графики пайплайнов занимают меньше места и могут рассказать вам о
быстрый взгляд, если все задания прошли или что-то не удалось. Мини-граф конвейера может
можно найти, перейдя по адресу:
- Индексная страница трубопроводов.
- Одна страница фиксации.
- Страница мерж-реквеста.
- Редактор конвейера в GitLab 14.5 и более поздних версиях.
Мини-графики конвейера позволяют увидеть все связанные задания для одной фиксации и конечный результат
каждого этапа вашего конвейера. Это позволяет быстро увидеть, что не удалось и
почини это.
Мини-графики конвейера отображают задания только по этапам.
Этапы в мини-графиках конвейера можно расширять. Наведите указатель мыши на каждый этап, чтобы увидеть его название и статус, и выберите этап, чтобы развернуть список его заданий.