我正在构建一个构建Jenkins的映像,并且在Jenkins运行时尝试在Jenkins上使用一个插件,因此,我需要在插件执行之前运行Jenkins。
我执行它时,就像一样,并且我获得的错误是:
jenkins.JenkinsException:请求中的错误: Errno 99无法分配请求的地址
我认为问题在于,当插件被执行时,它猜测Jenkins正在运行,而不是。
FROM foxylion/jenkins
MAINTAINER Mishel Uchuari <dmuchuari@hotmail.com>
RUN /usr/local/bin/install-plugins.sh workflow-remote-loader workflow-aggregator build-pipeline-plugin
ENV JENKINS_USER replicate
ENV JENKINS_PASS replicate
USER root
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get install -y apt-utils
RUN apt-get install -y python-pip
RUN apt install -y linuxbrew-wrapper
RUN useradd someuser -m -s /bin/bash
USER someuser
RUN chmod -R 777 /home/someuser
RUN brew install libyaml
USER root
RUN apt-get install build-essential
RUN apt-get -y update && apt-get -y upgrade
RUN pip install jenkins-job-builder==2.0.0.0b2
RUN pip install PyYAML python-jenkins
RUN mkdir /etc/jenkins_jobs/
COPY jenkins_jobs.ini /etc/jenkins_jobs/
COPY scm_pipeline.yaml /etc/jenkins_jobs/
RUN jenkins-jobs --conf /etc/jenkins_jobs/jenkins_jobs.ini update /etc/jenkins_jobs/scm_pipeline.yaml发布于 2017-12-14 07:51:55
在Docker下使用它时,我自己也遇到了同样的问题:
文件"/src/.tox/py27/local/lib/python2.7/site-packages/jenkins_jobs/builder.py",第124行,在get_plugins_info中提出e JenkinsException: JenkinsException中的错误: Errno 99不能分配请求的地址
这是在试图检索插件列表时造成的,我使用重写plugins_info来短路代码路径:
jjb = JenkinsJobs(args=['test', config_dir, '-o', output_dir])
jjb.builder['plugins_info'] = [] # prevents 99 cannot assign requested address
jjb.execute()关于,我对python 2.7.9有异议。如果我没记错的话,以后的python版本(如Debian eg中的2.7.13 )就不会再有问题了。
(我遇到问题的补丁程序):integration.py
RUN brew install libyaml
brew是Mac的包管理器。当库不可用时,PyYAML也优雅地跳过编译。所以你可能不需要那个。我想,如果不安装build-essential,它就能工作。
RUN pip install jenkins-job-builder==2.0.0.0b2 RUN pip install PyYAML python-jenkins
我很惊讶您已经显式地安装了PyYAML和python。据推测,安装应该安装所有的依赖项(例如PyYAML和python)。
https://stackoverflow.com/questions/47798065
复制相似问题