diff --git a/roles/ci/templates/jenkins-slave-centos.docker b/roles/ci/templates/jenkins-slave-centos.docker index 370b843..494aef1 100644 --- a/roles/ci/templates/jenkins-slave-centos.docker +++ b/roles/ci/templates/jenkins-slave-centos.docker @@ -1,55 +1,62 @@ # This Dockerfile is used to build an image containing basic stuff to be used as a Jenkins slave build node. FROM centos:7 MAINTAINER Jean-Baptiste Aubort # Make sure the package repository is up to date. RUN yum update -y # Install need packages RUN yum install -y \ sudo \ gcc \ gcc-c++ \ gcc-gfortran \ make \ cmake \ openssl-devel \ git \ subversion \ mercurial \ php-cli \ php-curl \ + epel-release \ + libffi-devel \ + openssl-devel \ + python-devel \ maven +RUN yum update -y && yum install -y python2-pip + + # Install a basic SSH server RUN yum install -y openssh-server RUN ssh-keygen -A RUN sed -i 's|session required pam_loginuid.so|session optional pam_loginuid.so|g' /etc/pam.d/sshd RUN mkdir -p /var/run/sshd # Install JDK 7 (latest edition) RUN yum install -y java-1.7.0-openjdk # Add user jenkins to the image RUN adduser jenkins RUN usermod -a -G wheel jenkins RUN echo "jenkins:jenkins" | chpasswd RUN sed -i -e 's/# %wheel/%wheel/g' /etc/sudoers # Jenkins RUN mkdir /home/jenkins/workspace RUN chown jenkins.jenkins /home/jenkins/workspace # Phabricator API RUN cd /opt; \ git clone https://github.com/phacility/arcanist.git; \ git clone https://github.com/phacility/libphutil.git; \ ln -s /opt/arcanist/bin/arc /usr/local/bin/arc # Clean RUN yum clean all # Standard SSH port EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"] diff --git a/roles/ci/templates/jenkins-slave-ubuntu.docker b/roles/ci/templates/jenkins-slave-ubuntu.docker index fcf007a..1afe4e1 100644 --- a/roles/ci/templates/jenkins-slave-ubuntu.docker +++ b/roles/ci/templates/jenkins-slave-ubuntu.docker @@ -1,56 +1,60 @@ # This Dockerfile is used to build an image containing basic stuff to be used as a Jenkins slave build node. FROM ubuntu:trusty MAINTAINER Jean-Baptiste Aubort # Make sure the package repository is up to date. RUN apt-get update RUN apt-get -y upgrade # Install need packages RUN apt-get update && apt-get -y install \ bash-completion \ build-essential \ gfortran \ cmake \ git \ subversion \ mercurial \ php5-cli \ php5-curl \ + python-pip \ + python-dev \ + libffi-dev \ + libssl-dev \ maven # Remove uneeded packages RUN apt-get -y purge libgl1-mesa-dri # Install a basic SSH server RUN apt-get update && apt-get -y install openssh-server RUN sed -i 's|session required pam_loginuid.so|session optional pam_loginuid.so|g' /etc/pam.d/sshd RUN mkdir -p /var/run/sshd # Install JDK 7 (latest edition) RUN apt-get update && apt-get -y install openjdk-7-jdk # Add user jenkins to the image RUN adduser --quiet jenkins RUN adduser --quiet jenkins sudo RUN echo "jenkins:jenkins" | chpasswd RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers # Jenkins RUN mkdir /home/jenkins/workspace RUN chown jenkins.jenkins /home/jenkins/workspace # Phabricator API RUN cd /opt; \ git clone https://github.com/phacility/arcanist.git; \ git clone https://github.com/phacility/libphutil.git; \ ln -s /opt/arcanist/bin/arc /usr/local/bin/arc # Clean RUN apt-get clean RUN rm -rf /var/lib/apt/lists/* # Standard SSH port EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"]