Revised by
Ovik Vardanyan
cf0e2b9
| # Debian image to build DEB packages according Thumbtack policies
FROM debian:wheezy
MAINTAINER Thumbtack DevOps
RUN echo "deb http://http.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list && \
apt-get update && apt-get install -y build-essential devscripts debhelper \
openssh-server \
openssh-client \
openssl \
locales \
rsyslog \
openjdk-7-jre \
git \
gettext \
sudo \
tar \
mc \
nano
# Configure SSH server
RUN sed -ri 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config; \
sed -i 's/#\?\s*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config; \
sed -i 's/#\?\s*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config; \
mkdir /var/run/sshd; \
localedef -i en_US -f UTF-8 en_US.UTF-8
# Add an user with superuser permissions according thumbtack policy
RUN getent passwd kiparis >/dev/null || useradd -m -d /home/kiparis -s /bin/bash kiparis; \
echo "kiparis:$(openssl rand -base64 24)" | chpasswd; \
install -m 0700 -d /home/kiparis/.ssh; \
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCSMOKXm5vUEKpXVhDrTvkticQMjK2Enbhb/Rh8HnjQcsOzfG2CX23L3q/JTHyOcQi1rwheDUFak+9IvY6ZS+iT/qYQ6RP1HzdhQett/gfv0T/c4tPddqgqvjHMVAdtXVHlbjwXxK5ChDSZH3n8U3CJ5TGaP3J3WhDkSW2C8qP2QKZkPvdjh3DQWZ48rJp77lmmXlvO+bOkUv6tz6zi840lrCCJf8z0VYlYBnqxa3O0erT864JqWdP1PdTQvIu93ZJB0Rp3hbDEpLFtWP4g94H+q8vHu1nrIiERU6TWl26rCVNIDJK7JQNWBLaZAt0yNvxxFA1AQVmEUddgamNhAZgJ" > /home/kiparis/.ssh/authorized_keys; \
chown -R kiparis:kiparis /home/kiparis/.ssh; \
chmod 600 /home/kiparis/.ssh/*; \
echo "kiparis ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/kiparis
# Add jenkins user to run slaves
RUN getent passwd jenkins >/dev/null || useradd -m -d /var/lib/jenkins -s /bin/bash jenkins; \
echo "jenkins:$(openssl rand -base64 24)" | chpasswd; \
install -m 0700 -d /var/lib/jenkins/.ssh; \
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVu+bAxOSKUBWBYCDrs/wmUh4uLc9eJjJ2YFb2HYQDmySITVIDqbx6HSA94/S7PvDuU5KI7yz+3FxYE1zTRmqMM1sVHIeH4WmDA41wd/t5jvg7WCkrmgkngHvi2Fil2OdgxHPK1rv8B+ybx1n9C5VZcZPGK5KOMotc9Q3PXdm29zmjSGyFN2fVjTdbQcWC509vtbjXTEejftgVXPk/6v1dGuTzpcpd1lafs6LikFxMGUAr+cOyPjcLEXPVFg14etp3sxB34QkuWLFef16/2ymKCz84i5FhSJsytVYZz2w1M2FsEz3s2TdXScBFqOd2KgPv1Kwmaz3JOckcXCKQZp0r devops-team@thumbtack.net" > /var/lib/jenkins/.ssh/authorized_keys; \
chown -R jenkins:jenkins /var/lib/jenkins/.ssh; \
chmod 600 /var/lib/jenkins/.ssh/*; \
su jenkins -c 'git config --global user.name "Thumbtack Jenkins"'; \
su jenkins -c 'git config --global user.email "jenkins@thumbtack.net"'
# NodeJS requirements
RUN apt-get -y install nodejs && \
su - jenkins -c 'curl -sSL https://raw.githubusercontent.com/creationix/nvm/v0.25.3/install.sh | bash'
# Ruby requirements
RUN apt-get -y install ruby rubygems ruby-dev && \
su - jenkins -c 'gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3' && \
su - jenkins -c 'curl -sSL https://get.rvm.io | bash -s stable'
# PHP requirements
RUN apt-get -y install php5-cli
# Install Ansible
RUN apt-get -y install ansible sshpass && \
curl -s https://bootstrap.pypa.io/get-pip.py | python && \
pip install virtualenv "jinja2>2.7"
CMD ["/usr/sbin/sshd", "-D"]
|
| # Debian image to build project packages according Thumbtack policies
FROM debian:jessie
MAINTAINER Thumbtack DevOps
RUN apt-get update && apt-get -y install \
openssh-server \
openssh-client \
locales \
rsyslog \
sudo \
git \
mc \
nano \
gettext \
openjdk-7-jre
RUN sed -ri 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config; \
sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config; \
service ssh start; \
mkdir /var/run/sshd; \
localedef -i en_US -f UTF-8 en_US.UTF-8; \
echo 'root:********************' | chpasswd
RUN getent passwd jenkins >/dev/null || useradd -m -d /var/lib/jenkins -s /bin/bash jenkins; \
echo 'jenkins:********************' | chpasswd; \
sudo -u jenkins git config --global user.name "Thumbtack Jenkins"; \
sudo -u jenkins git config --global user.email "jenkins@thumbtack.net"
RUN install -m 0700 -d /var/lib/jenkins/.ssh; \
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVu+bAxOSKUBWBYCDrs/wmUh4uLc9eJjJ2YFb2HYQDmySITVIDqbx6HSA94/S7PvDuU5KI7yz+3FxYE1zTRmqMM1sVHIeH4WmDA41wd/t5jvg7WCkrmgkngHvi2Fil2OdgxHPK1rv8B+ybx1n9C5VZcZPGK5KOMotc9Q3PXdm29zmjSGyFN2fVjTdbQcWC509vtbjXTEejftgVXPk/6v1dGuTzpcpd1lafs6LikFxMGUAr+cOyPjcLEXPVFg14etp3sxB34QkuWLFef16/2ymKCz84i5FhSJsytVYZz2w1M2FsEz3s2TdXScBFqOd2KgPv1Kwmaz3JOckcXCKQZp0r devops-team@thumbtack.net" > /var/lib/jenkins/.ssh/authorized_keys; \
chown -R jenkins:jenkins /var/lib/jenkins/.ssh; \
chmod 600 /var/lib/jenkins/.ssh/*
CMD ["/usr/sbin/sshd", "-D"]
|