Содержание
Укрупнительная сборка узлов трубопроводов, монтаж компенсаторов
Перед подъемом отдельные готовые малогабаритные узлы и элементы должны быть укрупнены в блоки. Укрупнение отдельных элементов и узлов в блоки значительно сокращает объем наиболее трудоемких и опасных операций при подъеме трубопроводов на высоту. Блоки полностью сваривают или соединяют с помощью фланцев и поднимают за один прием. При укрупнении устанавливают арматуру. Габариты узлов и блоков выбирают в каждом отдельном случае, исходя из принятого проекта производства работ, местных условий (возможности прохода через проемы, между цеховыми металлоконструкциями, оборудованием, линиями других трубопроводов), а также с учетом сохранения необходимой жесткости и прочности, чтобы при подъеме и установке избежать поломок и деформаций. При укрупнении узлов следует добиваться минимального количества сварных и разъемных соединений, выполняемых по месту. Если укрупнительная сборка в блоки не предусмотрена проектом производства работ, то в отдельных случаях технические решения принимают непосредственно на монтажном участке.
Укрупнительную сборку блоков трубопроводов выполняют на жестких, хорошо выверенных стеллажах, а иногда непосредственно на площадке, поверхность которой забетонирована или утрамбована. Сборочные площадки обычно располагаются вблизи монтируемого объекта в зоне действия монтажного крана. Укрупнение в блоки вне зоны монтажного крана вызывает трудности, связанные с погрузкой и перевозкой блоков к месту монтажа, что часто приводит к необходимости уменьшать возможные их габариты и вес. Перед укрупнительной сборкой с деталей, элементов и узлов трубопроводов снимают временные заглушки и пробки, предохраняющие их концы от загрязнения в период хранения и транспортирования. Кроме того, при укрупнении тщательно проверяют, нет ли посторонних предметов внутри элементов и узлов; в отдельных случаях детали обезжиривают или продувают.
Сборку узлов в блоки производят после контрольных замеров готовых узлов и строительных размеров здания в местах установки блоков. При необходимости после этого на узлах и элементах отрезают припуски или, наоборот, вваривают патрубки.
При сборке все фланцевые соединения должны быть полностью затянуты с установкой прокладки, а сварные стыки заварены до подъема блоков в проектное положение. При сборке должно быть зафиксировано правильное взаимное положение стыкуемых элементов.
После укрупнительной сборки блоков рекомендуется произвести их тепловую изоляцию на площадке или стеллаже.
П-образные компенсаторы устанавливают в горизонтальном положении и лишь в исключительных случаях, при отсутствии необходимой площади,— вертикально или наклонно. Вертикальное или наклонное расположение компенсаторов нежелательно, так как в нижних точках происходит скопление конденсата, для отбора которого требуется установка дренажных штуцеров. Во всех случаях элементы компенсатора должны располагаться в одной плоскости.
Рис. 130. Приспособление для растяжки компенсатора:
1 — плечо (петля) компенсатора (размер дан с учетом растяжки), 2 — хомут, 3 — винт,
4 — натяжная гайка, 5 — распорка
К установке допускаются компенсаторы, прошедшие после изготовления контрольную проверку.
Все компенсаторы перед их окончательным креплением к трубопроводу должны быть растянуты или сжаты на величину, указанную в проекте (от 50 до 100% теплового удлинения участка трубопровода). Растяжку применяют для «горячих» линий трубопровода, а сжатие для «холодных». Операция растяжки или сжатия называется холодным натягом трубопровода и производится для того, чтобы уменьшить напряжение в металле при тепловом удлинении трубопровода. Она может быть выполнена предварительно, до установки компенсатора на место или непосредственно на трубопроводе. Для предварительной растяжки применяют винтовое приспособление (рис. 130). Перед растяжкой замеряют длину компенсатора в свободном состоянии, а затем путем вращения гайки разводят его на необходимую величину.
До установки компенсатора трубопровод должен быть уложен на все опоры, а неподвижные опоры его должны быть окончательно затянуты. Компенсаторы необходимо устанавливать не менее чем на трех подвижных опорах. Предварительно растянутый компенсатор вместе с распорным приспособлением устанавливают в проектное положение, после чего его соединяют с линией трубопровода на фланцах или прихваткой сварных стыков.
Окончательно сваривают стыки или затягивают фланцевые соединения после сборки и выверки всего участка трубопровода. Распорное приспособление снимают с помощью грузоподъемных средств по окончании всех работ, связанных с монтажом компенсатора.
На растяжку компенсаторов независимо от способа ее выполнения составляют акт, в котором указывают строительные длины компенсаторов до и после растяжки.
При групповом расположении П-образных компенсаторов нескольких параллельных трубопроводов (один внутри другого) их предварительно не растягивают. При установке нерастянутого компенсатора трубопровод собирают обычным способом, но в одном из стыков (сварном или фланцевом) оставляют зазор, равный величине растяжки компенсатора. Стык, у которого будет произведена растяжка компенсатора, указывают в проекте. Если указания нет, то во избежание перекоса для растяжки не следует использовать стык, непосредственно прилегающий к компенсатору. Для этой цели нужно оставлять зазор в соседнем стыке.
После установки компенсатора в проектное положение, сварки всех стыков (кроме одного) и закрепления трубопровода на всех неподвижных опорах по обе стороны компенсатора стык стягивают до требуемого зазора, а затем его сваривают.
Стык на фланцевом соединении стягивают с помощью удлиненных (монтажных) болтов или шпилек, устанавливаемых во фланцах в шахматном порядке. Между монтажными болтами или шпильками оставляют отверстия для установки постоянных болтов. Диаметр и количество шпилек для холодного натяга трубопроводов указаны в проекте. После затяжки фланцевых соединений постоянными болтами удлиненные шпильки удаляют и на их место устанавливают постоянные болты или шпильки.
Сальниковые компенсаторы устанавливают строго соосно с трубопроводами и закрепляют на опорах. Несовпадение осей трубопровода и компенсатора может вызвать заедание подвижных частей и нарушение герметичности. Перед установкой компенсатор растягивают на величину, указанную в проекте и определяемую по расстоянию между рисками, нанесенными на его корпусе и стакане. При этом между упорными кольцами на патрубке и в корпусе компенсатора должен быть оставлен зазор на случай понижения температуры в сравнении с температурой воздуха в момент монтажа.
Минимальная величина зазора при длине участка трубопровода 100 м должна составлять при температуре наружного воздуха в момент монтажа: ниже — 5° С —30 мм, от —5° до +20° С — 50 мм, свыше +20° С-60 мм.
При установке необходимо предусмотреть, чтобы в случае срыва неподвижных опор движущаяся часть трубы не вырвалась из корпуса компенсатора. В большинстве случаев для этого на скользящую часть трубы приваривают ободок так, чтобы он не мешал работе компенсатора. Перед установкой скользящие поверхности надо смазывать маслом. При установке чугунных сальников компенсаторов по обе стороны их необходимо ставить направляющие опоры; кроме того, должен быть обеспечен хороший дренаж.
Линзовые компенсаторы устанавливают после укладки трубопровода до его закрепления на неподвижных опорах. При этом следят за тем, чтобы направляющий стакан внутри компенсатора был вварен со стороны движения транспортируемой среды. Линзовые компенсаторы на горизонтальных паропроводах устанавливают дренажным штуцером вниз, а на водяных линиях — вверх.
Подводку, к каждому дренажному штуцеру выполняют гнутым или крутоизогнутым отводом, чтобы обеспечить перемещение штуцера вместе с компенсатором на расстоянии не менее 10 мм на каждую линзу. Линзовые и волнистые компенсаторы присоединяют к трубопроводу с помощью фланцев или путем сварки. Перед присоединением компенсаторы растягивают или сжимают с помощью приспособления, которое состоит из двух стяжных хомутов, закрепляемых на трубопроводе по обе стороны от компенсатора, и стяжных шпилек. После растяжки или сжатия компенсатора на величину, указанную в проекте, трубопровод закрепляют на неподвижных опорах по обе стороны, от компенсатора и снимают с него хомуты.
Линзовые и волнистые компенсаторы на фланцах растягивают аналогично П-образным.
1. Для чего производят укрупнительную сборку узлов трубопроводов перед монтажом?
2. В какой последовательности осуществляют укрупнительную сборку узлов трубопроводов?
3. Для чего применяют предварительную растяжку компенсатора?
4.
Расскажите о правилах установки П-образных компенсаторов.
5. Какие приспособления используют для предварительной растяжки компенсаторов?
6. Расскажите о правилах установки сальниковых и линзовых компенсаторов.
Все материалы раздела «Монтаж трубопроводов» :
● Такелажная оснастка и грузоподъемные механизмы
● Производство такелажных работ
● Монтажный инструмент, применяемый при изготовлении и монтаже трубопроводов
● Технология монтажа стальных трубопроводов
● Разбивка трассы трубопровода
● Установка опор, подвесок и опорных конструкций
● Укрупнительная сборка узлов трубопроводов, монтаж компенсаторов
● Установка арматуры, дренажей, воздушников и приборов контроля
● Врезка трубопроводов в действующие трубопроводы, промывка и продувка трубопровода
● Гидравлическое испытание трубопровода
● Пневматическое испытание трубопровода
● Сдача и приемка трубопроводов в эксплуатацию, организация труда
● Правила техники безопасности при монтаже трубопроводов
● Монтаж внутрицеховых трубопроводов
● Монтаж межцеховых трубопроводов
● Монтаж трубопроводов высокого давления
● Монтаж трубопроводов из легированных сталей, а также с внутренним покрытием
● Монтаж трубопроводов из цветных металлов и чугуна
● Монтаж неметаллических трубопроводов
Узлы укрупненные монтажные \ КонсультантПлюс
- Главная
- Документы
- Группа 18.
2.07.01: Узлы укрупненные монтажные
Документ утратил силу или отменен. Подробнее см. Справку
Приказ Минстроя России от 29.09.2017 N 1400/пр
«О внесении изменений в классификатор строительных ресурсов, сформированный приказом Министерства строительства и жилищно-коммунального хозяйства Российской Федерации от 2 марта 2017 г. N 597/пр»
Группа 18.2.07.01: Узлы укрупненные монтажные | ||
25.30.12.18.2.07.01-0001 | Узлы трубопроводов укрупненные монтажные из стальных водогазопроводных оцинкованных труб с гильзами для водоснабжения, диаметр условного прохода 100 мм | м |
25.30.12.18.2.07.01-0002 | Узлы укрупненные монтажные (трубопроводы) из стальных водогазопроводных: оцинкованных труб с гильзами диаметром 125 мм | м |
25.30.12.18.2.07.01-0003 | Узлы укрупненные монтажные (трубопроводы) из стальных водогазопроводных: оцинкованных труб с гильзами диаметром 150 мм | м |
25. | Узлы трубопроводов укрупненные монтажные из стальных водогазопроводных оцинкованных труб с гильзами для водоснабжения, диаметр условного прохода 15 мм | м |
25.30.12.18.2.07.01-0005 | Узлы трубопроводов укрупненные монтажные из стальных водогазопроводных оцинкованных труб с гильзами для водоснабжения, диаметр условного прохода 20 мм | м |
25.30.12.18.2.07.01-0006 | Узлы трубопроводов укрупненные монтажные из стальных водогазопроводных оцинкованных труб с гильзами для водоснабжения, диаметр условного прохода 25 мм | м |
25.30.12.18.2.07.01-0007 | Узлы трубопроводов укрупненные монтажные из стальных водогазопроводных оцинкованных труб с гильзами для водоснабжения, диаметр условного прохода 32 мм | м |
25.30.12.18.2.07.01-0008 | Узлы трубопроводов укрупненные монтажные из стальных водогазопроводных оцинкованных труб с гильзами для водоснабжения, диаметр условного прохода 40 мм | м |
25. | Узлы трубопроводов укрупненные монтажные из стальных водогазопроводных оцинкованных труб с гильзами для водоснабжения, диаметр условного прохода 50 мм | м |
25.30.12.18.2.07.01-0010 | Узлы трубопроводов укрупненные монтажные из стальных водогазопроводных оцинкованных труб с гильзами для водоснабжения, диаметр условного прохода 65 мм | м |
25.30.12.18.2.07.01-0011 | Узлы трубопроводов укрупненные монтажные из стальных водогазопроводных оцинкованных труб с гильзами для водоснабжения, диаметр условного прохода 80 мм | м |
25.30.12.18.2.07.01-0012 | Узлы трубопроводов укрупненные монтажные из стальных водогазопроводных оцинкованных труб с гильзами для водоснабжения, диаметр условного прохода 90 мм | м |
Раздел 18.2.07: Узлы укрупненные монтажные
Группа 18.
2.07.02: Узлы укрупненные монтажные
Конвейерная архитектура | 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 "Это задание развертывает что-то еще."
среда: производство
Также можно настроить выполнение заданий до или после запуска дочерних конвейеров,
например, если у вас есть общие шаги настройки или унифицированное развертывание в конце.
Передовой опыт работы с конвейерами
Обеспечение использования кода Groovy в конвейерах в качестве связующего звена
Используйте код Groovy для соединения набора действий, а не в качестве основной функциональности конвейера.
Другими словами, вместо того, чтобы полагаться на функциональность конвейера (шаги Groovy или Pipeline) для продвижения процесса сборки, используйте отдельные шаги (например, sh ) для выполнения нескольких частей сборки.
Конвейеры, по мере увеличения их сложности (объем кода Groovy, количество используемых шагов и т. д.), требуют больше ресурсов (ЦП, памяти, хранилища) на контроллере.
Думайте о конвейере как об инструменте для выполнения сборки, а не как о ядре сборки.
Пример. Использование одного шага сборки Maven для управления сборкой через процесс сборки/тестирования/развертывания.
Запуск сценариев оболочки в Jenkins Pipeline
Использование сценария оболочки в Jenkins Pipeline может упростить сборку за счет объединения нескольких шагов в один этап.
Сценарий оболочки также позволяет пользователям добавлять или обновлять команды, не изменяя каждый шаг или этап отдельно.
В этом видео рассматривается использование сценария оболочки в Jenkins Pipeline и его преимущества.
Избегание сложного кода Groovy в конвейерах
Для конвейера код Groovy всегда выполняется на контроллере, что означает использование ресурсов контроллера (памяти и ЦП).
Поэтому крайне важно сократить объем кода Groovy, выполняемого конвейерами (включая любые методы, вызываемые в классах, импортированных в конвейеры).
Ниже приведены наиболее распространенные примеры методов Groovy, которые следует избегать:
- .
JsonSlurper: Эту функцию (и некоторые другие подобные, такие как XmlSlurper или readFile) можно использовать для чтения из файла на диске, анализа данных из этого файла в объект JSON и внедрения этого объекта в конвейер с помощью команды например JsonSlurper().
parseText(readFile(«$LOCAL_FILE»)). Эта команда дважды загружает локальный файл в память контроллера и, если файл очень большой или команда выполняется часто, потребует много памяти.Решение. Вместо использования JsonSlurper используйте шаг оболочки и верните стандартный вывод. Эта оболочка будет выглядеть примерно так:
def JsonReturn = sh label: '', returnStdout: true, script: 'echo "$LOCAL_FILE"| jq "$PARSING_QUERY"'. Это будет использовать ресурсы агента для чтения файла, а $PARSING_QUERY поможет разобрать файл до меньшего размера.
HttpRequest: Часто эта команда используется для получения данных из внешнего источника и сохранения их в переменной. Эта практика не идеальна, потому что этот запрос не только исходит непосредственно от контроллера (что может дать неправильные результаты для таких вещей, как HTTPS-запросы, если в контроллер не загружены сертификаты), но и ответ на этот запрос сохраняется дважды.

Решение. Используйте шаг оболочки для выполнения HTTP-запроса от агента, например, с помощью такого инструмента, как
curlилиwget, в зависимости от ситуации. Если результат должен быть позже в конвейере, постарайтесь максимально отфильтровать результат на стороне агента, чтобы обратно в контроллер Jenkins передавался только минимум необходимой информации.
Уменьшение повторения одинаковых шагов конвейера
Объединяйте шаги конвейера в отдельные шаги как можно чаще, чтобы уменьшить количество накладных расходов, вызванных самим механизмом выполнения конвейера. Например, если вы выполняете три последовательных шага оболочки, каждый из этих шагов должен быть запущен и остановлен, что требует создания и очистки соединений и ресурсов на агенте и контроллере. Однако, если вы поместите все команды в один шаг оболочки, тогда нужно будет запускать и останавливать только один шаг.
Пример:
Вместо создания серии из шагов echo или sh объедините их в один шаг или сценарий.
Избегание вызовов
Jenkins.getInstance
Использование Jenkins.instance или его методов доступа в конвейере или общей библиотеке указывает на неправильное использование кода в этом конвейере или общей библиотеке. Использование API-интерфейсов Jenkins из общей библиотеки без песочницы означает, что общая библиотека является одновременно общей библиотекой и разновидностью подключаемого модуля Jenkins. Вы должны быть очень осторожны при взаимодействии с Jenkins API из конвейера, чтобы избежать серьезных проблем с безопасностью и производительностью. Если вы должны использовать Jenkins API в своей сборке, рекомендуется создать минимальный подключаемый модуль на Java, который реализует безопасную оболочку для Jenkins API, к которому вы хотите получить доступ, используя API Step в Pipeline. Использование API-интерфейсов Jenkins непосредственно из Jenkinsfile в песочнице означает, что вам, вероятно, приходилось заносить в белый список методы, позволяющие обойти защиту песочницы любым, кто может изменить конвейер, что представляет собой серьезную угрозу безопасности.
2.07.01: Узлы укрупненные монтажные
30.12.18.2.07.01-0004
30.12.18.2.07.01-0009
Он начнется примерно в то же время, что и deploy_a."
среда: производство
"
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 работают медленно, это задание по развертыванию будет запущено намного позже."
среда: производство


"
тест_а:
этап: тест
потребности: [build_a]
сценарий:
- echo "Эта работа что-то проверяет."
развернуть_а:
этап: развертывание
потребности: [test_a]
сценарий:
- echo "Это задание развертывает что-то."
среда: производство
parseText(readFile(«$LOCAL_FILE»)). Эта команда дважды загружает локальный файл в память контроллера и, если файл очень большой или команда выполняется часто, потребует много памяти.
