Sign inSign up

pickear/jenkins

By pickear

Updated over 5 years ago

jenkins with ansible

Image
0

75

pickear/jenkins repository overview

一个集成了ansible的jenkins镜像。基础镜像来似jenkins:lts。 运行容器时,先在缩主机创建ansible和jenkins_home两个文件夹。然后将文件夹的权限赋给用户组1000和用户1000。如:

chown -R 1000:1000 ansible
chown -R 1000:1000 jenkins_home

然后,用docker-compose运行容器,docker-compose.yml如下:

version: '3'
services:
  jenkins:
    restart: always
    image: pickear/jenkins:lts
    container_name: jenkins
    privileged: true
    ports:
      - '8090:8080'
      - '50000:50000'
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - $PWD/jenkins_home:/var/jenkins_home
      - $PWD/ansible:/etc/ansible
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
      - /etc/localtime:/etc/localtime:ro
      - /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7

具体的Dockerfile如下:

FROM jenkins/jenkins:lts

ARG ANSIBLE_HOME=/etc/ansible
ENV ANSIBLE_HOME $ANSIBLE_HOME

USER root
RUN mkdir -p /etc/ansible/authorized_keys
RUN apt-get update -y && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    sshpass \
    ansible \
    locales \
    && \
    apt-get clean

#RUN pip install pip --upgrade
#RUN pip install --upgrade pycrypto cryptography

RUN /bin/echo -e "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts
RUN locale-gen en_US.UTF-8
RUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa && \
    cp /root/.ssh/id_rsa.pub /etc/ansible/authorized_keys

RUN chown -R jenkins:jenkins /root/.ssh

RUN chown -R jenkins:jenkins /etc/ansible
RUN chmod -R a+x /etc/ansible
RUN cp -arnp /etc/ansible /var

RUN sed -i '2i\cp -arnp /var/ansible /etc' /usr/local/bin/jenkins.sh

USER jenkins

VOLUME /etc/ansible

Tag summary

Content type

Image

Digest

Size

362.6 MB

Last updated

over 5 years ago

docker pull pickear/jenkins:lts