Вызов Ansible playbook в Дженкинс

У меня есть сборка jenkins, и я пытаюсь вызвать ANSIB файл Playbook для загрузки s3. Когда я выполняю post-build-скрипт для вызова ANSIBLE файла Playbook, я заканчиваю с ошибкой ниже.Невозможно запустить программу "ansible-playbook" (в каталоге "/var/jenkins_home/workspace/mybuild"): error=2, такого файла или каталога нет

Ниже приведен скриншот конфигурации скрипта пост-сборки.

К вашему сведению: в моей сборочной папке есть файл (ansibledemo.yml). Я попытался указать абсолютный путь (/var/jenkins_home/workspace/mybuild/ansibledemo.yml). Все еще не идти.

Когда я пытаюсь запустить ansible-playbook myplaybook.yml непосредственно в образе jenkins (терминал), я получаю команду bash: ansible-playbook: команда не найдена

Когда я попытался установить ansible на своем сервере jenkins, я не смог выполнить никаких команд установки. Пожалуйста, смотрите скриншот ниже.

3 ответа

Вы можете попытаться установить, используя версию pip в качестве альтернативы, и попробовать, Пожалуйста, см. Ниже шаги,

$ virtualenv venv
$ source venv/bin/activate
$ pip install ansible-container[docker,openshift]

Вы можете увидеть больше вариантов для установки в документации: https://docs.ansible.com/ansible-container/installation.html

Но всегда полезно сохранить отдельный vm / docker, такой как "ansible-controller", и использовать его как раб для jenkins, так что вам не нужны плагины ansible в ansible. И Дженкинс всегда будет стабильным без большой нагрузки

  1. Загрузите информацию о пакете из настроенных источников.

    # apt update

  2. Установите ansible

    # apt install ansible

Вот и все.

Если вы запускаете официальный контейнер jenkins (на основе debian), тогда сделайте репозиторий с встроенной системой ansible и вам не нужен "apt-add-repository". Но вы можете установить apt-add-repository, установив software-properties-common для дальнейшего использования.

dpkg -S apt-add-repository говорит, что этот пакет относится к программным свойствам-общим.

Появляется ошибка, потому что автор контейнера всегда старается сделать его максимально легким и удалить информацию о пакете.

Вам не нужен sudo, потому что по умолчанию вы становитесь пользователем root в контейнере. Вы становитесь другим пользователем, только если упомянули об этом намеренно.

Пожалуйста, добавьте информацию о том, что вы работаете в контейнере на ваш вопрос.

Ansible не устанавливается на вашем компьютере Jenkins, сначала вам нужно установить ansible на компьютере jenkins:

В Ubuntu/Debian:

sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible

На CentOS/RedHat:

sudo yum install epel-release
sudo yum install ansible

После этого вы сможете запустить ansible-playbook.

Другие вопросы по тегам