2016-01-21 75 views
0

我想在我的Jenkins圖像中安裝Ansible(this way)。這是我的Dockerfile:嘗試在Jenkins圖像中安裝Ansible時出錯

FROM jenkins 

USER root 

RUN apt-get install -y software-properties-common 
RUN apt-add-repository ppa:ansible/ansible 
RUN apt-get update 
RUN apt-get install -y ansible 

USER jenkins 

但是當我建立的形象,我得到這個錯誤:

W: Failed to fetch http://ppa.launchpad.net/ansible/ansible/ubuntu/dists/jessie/main/binary-amd64/Packages 404 Not Found

E: Some index files failed to download. Thet have been ignored, or old ones used instead.

我已經意識到, http://ppa.launchpad.net/ansible/ansible/ubuntu/dists/jessie不存在。

感謝

+0

該指南使用Ubuntu作爲操作系統的基礎上,嘗試使用的操作系統是Ubuntu的,所以編輯泊塢窗:從Ubuntu的:14.04 –

+0

做'apt-get的update'第一 – user2915097

+0

@ThanhNguyenVan然後我失去詹金斯(我必須手動安裝它) –

回答

1

從你上面的鏈接,ansible PPA似乎只有對Ubuntu的支持,所以你最終將一個破碎的PPA。你的搬運工圖像從java:8-jdk進一步繼承jenkins繼承buildpack-deps:jessie-scm它繼承buildpack-deps:jessie-curl和一個從debian:jessie

here

If you are wishing to run the latest released version of Ansible and you are running Red Hat Enterprise Linux (TM), CentOS, Fedora, Debian, or Ubuntu, we recommend using the OS package manager.

這意味着,如果你有你的Dockerfile這樣

[[email protected] docker-ansible-jenkins]$ cat Dockerfile 
FROM jenkins 
USER root 
RUN apt-get update 
RUN apt-get install -y ansible 
USER jenkins 
[[email protected] docker-ansible-jenkins]$ 

這足夠了,我設法測試這個,這個工程!

[[email protected] docker-ansible-jenkins]$ docker build -t jenkins --rm . 
Sending build context to Docker daemon 2.048 kB 
... 
[[email protected] docker-ansible-jenkins]$ docker run -d -p 8080:8080 jenkins 
e722efecdf7beb462bafaff653b19261268abbd2d56f88334ba6c42d068b2877 
[[email protected] docker-ansible-jenkins]$ docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS        NAMES 
e722efecdf7b  jenkins    "/bin/tini -- /usr/lo" 4 minutes ago  Up 4 minutes  0.0.0.0:8080->8080/tcp, 50000/tcp focused_cray 
[[email protected] docker-ansible-jenkins]$ 

讓我們聽聽這是怎麼回事。

感謝,

+0

太棒了,它的工作原理!非常感謝:D –