У меня есть конвейер CI / CD, который должен быть кроссплатформенным и работать с несколькими различными гипервизорами. Чтобы не менять задачи сборки для Windows и Linux, я подумал, что Go будет отличным способом написать код один раз и запускать где угодно. Тем не менее, загадка вступает в игру, если Go создает исполняемые файлы, однако моя платформа CI / CD не имеет возможности загрузить exe или бинарный файл во время сборки, чтобы выполнить шаги сборки "нормально" через Go. Я думал, что смогу просто зафиксировать код Go в проекте и использовать:
go run build_step.go
Для каждой задачи сборки, но мне интересно, является ли это приемлемым практическим / практическим вариантом. Я знаю, что это сработает, просто интересно, есть ли лучший способ сделать это. Я использую Azure DevOps Pipelines для того, что это стоит.