Нарисуйте флоучарт обезличенный, сразу попроще станет. Я примерно понимаю что у Вас, я бы просто брал из регистри идеальный образ, его собирал с uniq name который бы был == $comit_hash, поднимал бы его и туда пихал бы код или сбилженый артефакт из репа или сторейджа, затем делал бы свои дела в нём (смотря что это, стейдж или qa или прод). Это самое простое что в голову приходит, варианты инструментария зависят от того что за код и что есть сейчас в архитектуре.