Commit e3de3102 authored by Joseph Noir's avatar Joseph Noir

Add existing Dockerfiles to repository

parent 2b95a0ac
############################################################
# Dockerfile for Jenkins slave with gcc 7.3
# Based on CentOS 6
############################################################
FROM centos:6
MAINTAINER Jakob Otto
# Install Essentials
RUN yum update -y \
&& yum install -y centos-release-scl \
&& yum install -y epel-release \
&& yum update -y \
&& yum clean all
##################### INSTALL TOOLS ########################
# Install Packages
RUN yum install -y git \
wget \
make \
openssh-server \
sudo \
java-1.8.0-openjdk \
cmake3 \
openssl-devel \
libubsan \
python-pip \
devtoolset-7 \
devtoolset-7-libasan-devel \
&& yum clean all
####################### SETUP SSH #########################
# gen dummy keys, centos doesn't autogen them like ubuntu does
RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -q -N "" -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -q -N "" -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
# Set SSH Configuration to allow remote logins without /proc write access
RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' \
/etc/pam.d/sshd
# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash
# Setup home for Jenkins
RUN mkdir /home/jenkins/bin
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Create symlinks to cmake3 binaries in local bin directory.
RUN ln -s /usr/bin/cmake3 /home/jenkins/bin/cmake
RUN ln -s /usr/bin/ctest3 /home/jenkins/bin/ctest
# Expose SSH port and run SSHD
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
############################################################
# Dockerfile for Jenkins slave with gcc 7.3
# Based on CentOS 7
############################################################
FROM centos:7
MAINTAINER Jakob Otto
# Install Essentials
RUN yum update -y \
&& yum install -y centos-release-scl \
&& yum install -y epel-release \
&& yum update -y \
&& yum clean all
##################### INSTALL TOOLS ########################
# Install Packages
RUN yum install -y git \
wget \
make \
openssh-server \
sudo \
java-1.8.0-openjdk \
cmake3 \
openssl-devel \
libubsan \
python-pip \
devtoolset-7 \
devtoolset-7-libasan-devel \
&& yum clean all
####################### SETUP SSH #########################
# gen dummy keys, centos doesn't autogen them like ubuntu does
RUN /usr/bin/ssh-keygen -A
# Set SSH Configuration to allow remote logins without /proc write access
RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' \
/etc/pam.d/sshd
# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash
# Setup home for Jenkins
RUN mkdir /home/jenkins/bin
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Create symlinks to cmake3 binaries in local bin directory.
RUN ln -s /usr/bin/cmake3 /home/jenkins/bin/cmake
RUN ln -s /usr/bin/ctest3 /home/jenkins/bin/ctest
# Expose SSH port and run SSHD
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
############################################################
# Dockerfile for Jenkins slave with gcc 8.3
# Based on Debian Buster
############################################################
FROM debian:buster
MAINTAINER Jakob Otto
# Install Essentials
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get autoremove -y && \
apt-get autoclean -y
##################### INSTALL TOOLS ########################
# Install Packages
RUN apt-get install -y git \
wget \
openssh-server \
openjdk-11-jdk \
cmake \
gcc g++ \
clang \
libssl-dev \
gcovr \
&& apt-get autoclean
####################### SETUP SSH #########################
# gen dummy keys, centos doesn't autogen them like ubuntu does
RUN /usr/bin/ssh-keygen -A
# Set SSH Configuration to allow remote logins without /proc write access
RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' \
/etc/pam.d/sshd
# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash
# Setup home for Jenkins
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Add the jenkins user to sudoers
# RUN echo "jenkins ALL=(ALL) ALL" >> etc/sudoers
# Set Name Servers
# COPY /files/resolv.conf /etc/resolv.conf
# Ubuntu requires this dir to be created
RUN mkdir -p /var/run/sshd
# Expose SSH port and run SSHD
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
############################################################
# Dockerfile for Jenkins slave with clang-4.0
# Based on Debian Jessie
############################################################
FROM debian:jessie
MAINTAINER Jakob Otto
# No official support for Debian Jessie.
RUN echo "deb http://deb.debian.org/debian/ jessie main contrib non-free" > /etc/apt/sources.list \
&& echo "deb-src http://deb.debian.org/debian/ jessie main contrib non-free" >> /etc/apt/sources.list \
&& echo "deb http://security.debian.org/ jessie/updates main contrib non-free" >> /etc/apt/sources.list \
&& echo "deb-src http://security.debian.org/ jessie/updates main contrib non-free" >> /etc/apt/sources.list \
&& echo "deb http://archive.debian.org/debian jessie-backports main" >> /etc/apt/sources.list \
&& echo "deb-src http://archive.debian.org/debian jessie-backports main" >> /etc/apt/sources.list \
&& echo "Acquire::Check-Valid-Until \"false\";" >> /etc/apt/apt.conf
# Install Essentials
RUN apt-get update && \
apt-get upgrade -y && \
apt-get autoremove
##################### INSTALL TOOLS ########################
# Install Packages
RUN apt-get install -y git \
wget \
openssh-server \
cmake \
gcc g++ \
clang-4.0 \
libssl-dev \
gcovr \
&& apt-get autoclean
#################### INSTALL JAVA 8 #######################
RUN apt-get update
RUN apt-get install -y -t jessie-backports openjdk-8-jdk
#RUN update-java-alternatives -s java-1.8.0-openjdk-amd64
####################### SETUP SSH #########################
# gen dummy keys, centos doesn't autogen them like ubuntu does
RUN /usr/bin/ssh-keygen -A
# Set SSH Configuration to allow remote logins without /proc write access
RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' \
/etc/pam.d/sshd
# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash
# set clang as default compiler
RUN echo "export CXX=clang++-4.0" >> /home/jenkins/.bashrc \
&& echo "export CC=clang-4.0" >> /home/jenkins/.bashrc
# Setup home for Jenkins
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Add the jenkins user to sudoers
# RUN echo "jenkins ALL=(ALL) ALL" >> etc/sudoers
# Set Name Servers
# COPY /files/resolv.conf /etc/resolv.conf
# Ubuntu requires this dir to be created
RUN mkdir -p /var/run/sshd
# Expose SSH port and run SSHD
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
############################################################
# Dockerfile for Jenkins slave with clang-4.0
# Based on Debian Stretch
############################################################
FROM debian:stretch
MAINTAINER Raphael Hiesgen
# Install Essentials
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get autoremove -y && \
apt-get autoclean -y
##################### INSTALL TOOLS ########################
# Install Packages
RUN apt-get install -y git \
wget \
openssh-server \
openjdk-8-jdk \
cmake \
gcc g++ \
clang-4.0 \
libssl-dev \
gcovr \
&& apt-get autoclean
####################### SETUP SSH #########################
# gen dummy keys, centos doesn't autogen them like ubuntu does
RUN /usr/bin/ssh-keygen -A
# Set SSH Configuration to allow remote logins without /proc write access
RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' \
/etc/pam.d/sshd
# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash
# set clang as default compiler
RUN echo "export CXX=clang++-4.0" >> /home/jenkins/.bashrc \
&& echo "export CC=clang-4.0" >> /home/jenkins/.bashrc
# Setup home for Jenkins
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Add the jenkins user to sudoers
# RUN echo "jenkins ALL=(ALL) ALL" >> etc/sudoers
# Set Name Servers
# COPY /files/resolv.conf /etc/resolv.conf
# Ubuntu requires this dir to be created
RUN mkdir -p /var/run/sshd
# Expose SSH port and run SSHD
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
############################################################
# Dockerfile for Jenkins slave with gcc 7
# Based on Fedora 27
############################################################
FROM fedora:27
MAINTAINER Raphael Hiesgen
# Install Essentials
RUN dnf update -y && \
yum clean all
##################### INSTALL TOOLS ########################
# Install Packages
RUN dnf install -y git \
wget \
openssh-server \
sudo \
java-9-openjdk \
cmake \
gcc gcc-c++ \
clang \
openssl-devel \
libasan \
libubsan \
gcovr \
&& dnf clean all
####################### SETUP SSH #########################
# gen dummy keys, centos doesn't autogen them like ubuntu does
RUN /usr/bin/ssh-keygen -A
# Set SSH Configuration to allow remote logins without /proc write access
RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' \
/etc/pam.d/sshd
# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash
# Setup home for Jenkins
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Add the jenkins user to sudoers
# RUN echo "jenkins ALL=(ALL) ALL" >> etc/sudoers
# Set Name Servers
# COPY /files/resolv.conf /etc/resolv.conf
# Expose SSH port and run SSHD
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
############################################################
# Dockerfile for Jenkins slave with gcc 8
# Based on Fedora 28
############################################################
FROM fedora:28
MAINTAINER Raphael Hiesgen
# Install Essentials
RUN dnf update -y && \
yum clean all
##################### INSTALL TOOLS ########################
# Install Packages
RUN dnf install -y git \
wget \
make \
openssh-server \
sudo \
java-9-openjdk \
cmake \
docker \
kcov \
gcc gcc-c++ \
clang \
openssl-devel \
libasan \
libubsan \
python-pip \
&& dnf clean all
##################### INSTALL GCOVR #######################
RUN pip install --upgrade gcovr
####################### SETUP SSH #########################
# gen dummy keys, centos doesn't autogen them like ubuntu does
RUN /usr/bin/ssh-keygen -A
# Set SSH Configuration to allow remote logins without /proc write access
RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' \
/etc/pam.d/sshd
# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash
# Setup home for Jenkins
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Add the jenkins user to sudoers
# RUN echo "jenkins ALL=(ALL) ALL" >> etc/sudoers
# Set Name Servers
# COPY /files/resolv.conf /etc/resolv.conf
# Expose SSH port and run SSHD
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
...@@ -46,6 +46,10 @@ RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_login ...@@ -46,6 +46,10 @@ RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_login
# Create Jenkins User # Create Jenkins User
RUN useradd jenkins -m -s /bin/bash RUN useradd jenkins -m -s /bin/bash
# Setup home for Jenkins
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Add the jenkins user to sudoers # Add the jenkins user to sudoers
# RUN echo "jenkins ALL=(ALL) ALL" >> etc/sudoers # RUN echo "jenkins ALL=(ALL) ALL" >> etc/sudoers
......
########################################################
# Dockerfile for Jenkins slave with gcc 9
# Based on Fedora 31
############################################################
FROM fedora:31
MAINTAINER Jakob Otto
# Install Essentials
RUN dnf update -y && \
yum clean all
##################### INSTALL TOOLS ########################
# Install Packages
RUN dnf install -y git \
wget \
make \
openssh-server \
sudo \
java-11-openjdk \
cmake \
docker \
kcov \
gcc gcc-c++ \
clang \
openssl-devel \
libasan \
libubsan \
python-pip \
&& dnf clean all
##################### INSTALL GCOVR #######################
RUN pip install --upgrade gcovr
####################### SETUP SSH #########################
# gen dummy keys, centos doesn't autogen them like ubuntu does
RUN /usr/bin/ssh-keygen -A
# Set SSH Configuration to allow remote logins without /proc write access
RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' \
/etc/pam.d/sshd
# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash
# Setup home for Jenkins
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Add the jenkins user to sudoers
# RUN echo "jenkins ALL=(ALL) ALL" >> etc/sudoers
# Set Name Servers
# COPY /files/resolv.conf /etc/resolv.conf
# Expose SSH port and run SSHD
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
############################################################
# Dockerfile for Jenkins slave with clang-4.0
# Based on Ubuntu-16.04
############################################################
FROM ubuntu:16.04
MAINTAINER Jakob Otto
# Install Essentials
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get autoremove -y && \
apt-get autoclean -y
##################### INSTALL TOOLS ########################
# Install Packages
RUN apt-get install -y git \
wget \
openssh-server \
openjdk-8-jdk \
cmake \
gcc g++ \
clang-4.0 \
libssl-dev \
gcovr \
&& apt-get autoclean
####################### SETUP SSH #########################
# gen dummy keys, centos doesn't autogen them like ubuntu does
RUN /usr/bin/ssh-keygen -A
# Set SSH Configuration to allow remote logins without /proc write access
RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' \
/etc/pam.d/sshd
# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash
# set clang as default compiler
RUN echo "export CXX=clang++-4.0" >> /home/jenkins/.bashrc \
&& echo "export CC=clang-4.0" >> /home/jenkins/.bashrc
# Setup home for Jenkins
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Add the jenkins user to sudoers
# RUN echo "jenkins ALL=(ALL) ALL" >> etc/sudoers
# Set Name Servers
# COPY /files/resolv.conf /etc/resolv.conf
# Ubuntu requires this dir to be created
RUN mkdir -p /var/run/sshd
# Expose SSH port and run SSHD
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
############################################################
# Dockerfile for Jenkins slave with gcc 7.4
# Based on Ubuntu 18.04
############################################################
FROM ubuntu:18.04
MAINTAINER Jakob Otto
# Install Essentials
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get autoremove -y && \
apt-get autoclean -y
##################### INSTALL TOOLS ########################
# Install Packages
RUN apt-get install -y git \
wget \
openssh-server \
openjdk-11-jdk \
cmake \
gcc g++ \
clang \
libssl-dev \
gcovr \
&& apt-get autoclean
####################### SETUP SSH #########################
# gen dummy keys, centos doesn't autogen them like ubuntu does
RUN /usr/bin/ssh-keygen -A
# Set SSH Configuration to allow remote logins without /proc write access
RUN sed -ri 's/^session\s+required\s+pam_loginuid.so$/session optional pam_loginuid.so/' \
/etc/pam.d/sshd
# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash
# Setup home for Jenkins
RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
# Add the jenkins user to sudoers
# RUN echo "jenkins ALL=(ALL) ALL" >> etc/sudoers
# Set Name Servers
# COPY /files/resolv.conf /etc/resolv.conf
# Ubuntu requires this dir to be created
RUN mkdir -p /var/run/sshd
# Expose SSH port and run SSHD
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment