Я в настоящее время отчаиваюсь при попытке настроить шаг сборки docker в Atlassian Bamboo.
Для начала я просто хочу создать конфигурацию сборки, которая запускает образ hello-world в качестве доказательства слияния. Пока что я потерпел неудачу.
Я пытался выполнить шаги на https://confluence.atlassian.com/bamboo0609/using-bamboo/jobs-and-tasks/configuring-tasks/configuring-the-docker-task-in-bamboo, но безрезультатно.
Моя настройка такова: у нас установлен Bamboo на сервере Ubuntu. Я также установил Docker на этом сервере и добавил пользователя bamboo
в группу пользователей docker
и перезапустил сервер, чтобы убедиться, что изменение разрешения вступает в силу. На этом этапе docker run hello-world
работает, когда я запускаю его прямо на сервере. Я также могу подтвердить, что это сервер, на котором работает Bamboo, так как Bamboo отключался всякий раз, когда я перезапускал сервер, на котором я установил Docker.
Затем я добавил к серверу возможность docker ( агент является агентом по умолчанию, поэтому он наследует эту возможность от сервера). Что касается пути docker, я пробовал разные вещи, ни одна из которых не работала (иначе, следующие ошибки остались одинаковыми для каждого из них):
/snap/docker
(первая папка, которую я найдено при ручном поиске) /usr/bin/docker
(рекомендуемый путь, хотя при проверке сервера Ubuntu я быстро обнаружил, что под /usr/bin
на диске Ubuntu нет папки docker
) /var/snap/docker/common/var-lib-docker
(путь, который Docker возвращает в качестве каталога Root, когда я запускаю docker info
на сервере Ubuntu) /var/snap/docker
(для правильной оценки)
Теперь для бегуна я попробовал два разных подхода.
Сначала я попытался использовать бегун Docker со следующими настройками: Команда: Запустить Docker container Docker image: hello-world
Возвращает следующее сообщение об ошибке:
┊
Error occurred while running Task 'Hello World Docker Test(5)' of type com.atlassian.bamboo.plugins.bamboo-docker-plugin:task.docker.cli.com.atlassian.bamboo.task.TaskException: Failed to execute task
┊
Caused by: com.atlassian.bamboo.docker.DockerException: Error running Docker run command
┊
Caused by: com.atlassian.utils.process.ProcessException: Error executing /snap/docker run --volume /var/atlassian/application-data/bamboo/xml-data/build-dir/CAM-DOC-JOB1:/data --workdir /data --rm hello-world
┊
Вторым было просто запустить оболочку для команды docker run hello-world
, который возвратил следующую ошибку:
docker: not found
В этот момент я чувствую, что меня нет ДЕКАК. Все указывает на то, что Bamboo почему-то не находит Docker на сервере, хотя я могу четко подтвердить, что он там есть. Я пробовал разные способы сообщить Bamboo, где найти Docker, но ни один из них не сработал.
Очевидно, что я делаю что-то не так, но не могу понять, что именно. Или, может быть, проблема в совершенно другом направлении? В любом случае, я был бы признателен за любую информацию по этому вопросу.