Я пытаюсь создать среду сборки с докером, и я хочу сделать это автоматически. я написал собственный двоичный файл go для обработки материалов сборки, и я создал образ, в котором установлены the go binary
, maven
и java8 sdk
.
Шаги, которые выполняет двоичный файл:
- Клонировать репозиторий git
- Запустить команду сборки
- Извлеките артефакты сборки на хост. (что еще не сделано).
Я передаю URL-адрес репо в качестве параметра в двоичный файл во время работы контейнера, и он создает.
Но проблема в том, что мне нужны эти артефакты для запуска встроенного приложения.
Я знаю, что могу использовать volumes
, но я не хочу их использовать, потому что, когда сборка завершена, тома становятся dangle
, и требуется задание для удаления этих dangling volumes
.
Я подумал, что могу создать API для сохранения файлов на хосте (это означает, что я должен запустить этот API внутри хост-компьютера), и мой пользовательский двоичный файл go может отправлять файлы в API, а API будет делать сохранение.
Но когда дело доходит до вызова хоста из контейнера, у меня возникает проблема. я получаю connection refused to port xx
ошибку.
Есть ли лучший способ сделать это, или я должен изменить свой подход?