Дженкинс работает на инстансе EC2.У меня подключен плагин EC2, настроенный в Peered VPC, и когда задание помечается как 'support_ubuntu_docker', оно запускает подчиненное устройство Jenkins с предустановленным Docker.
Я могу следовать примерам и получитьмоя работа по подключению к локальному докеру, работающему на подчиненном устройстве, и запуск команд внутри контейнера.
Работает: https://pastebin.com/UANvjhnA
pipeline {
agent {
docker {
image 'node:7-alpine'
label 'support_ubuntu_docker'
}
}
stages {
stage('Test') {
steps {
sh 'node --version'
}
}
}
}
Не работает https://pastebin.com/MsSZaPha
pipeline {
agent {
docker {
image 'hashicorp/terraform:light'
label 'support_ubuntu_docker'
}
}
stages {
stage('Test') {
steps {
sh 'terraform --version'
}
}
}
}
Я пробовал использовать изображение ansible / ansible: default, а также изображение, которое я создал сам.
FROM alpine:3.7
RUN apk add --no-cache terraform
RUN apk add --no-cache ansible
ENTRYPOINT ["/bin/ash"]
Это изображение ведет себя локально.
[jenkins_test] docker exec -it 3843653932c8 ash 10:56:42 ☁ master ☂ ⚡ ✭
/ # terraform --version
Terraform v0.11.0
/ # ansible --version
ansible 2.4.6.0
config file = None
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.15 (default, Aug 22 2018, 13:24:18) [GCC 6.4.0]
/ #
Я действительнопросто хочу иметь возможность клонировать мое репозиторий terraform git и использовать terraform в контейнере для запуска моего init / plan / apply.
Ошибка, которую я получаю для всех этих типов:
java.io.IOException: Failed to run top 'c9dfeda21b718b9df1035500adf2ef80c5c3807cf63e724317d620d4bcaa14b3'. Error: Error response from daemon: Container c9dfeda21b718b9df1035500adf2ef80c5c3807cf63e724317d620d4bcaa14b3 is not running