You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2019/11/18 03:09:45 UTC
[trafficserver] branch master updated: Dockerfile for Debian
package managers (#6183)
This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new aa9824f Dockerfile for Debian package managers (#6183)
aa9824f is described below
commit aa9824fba646fca5ee9fdc9d3ed62463c586b259
Author: Leif Hedstrom <zw...@apache.org>
AuthorDate: Mon Nov 18 11:09:35 2019 +0800
Dockerfile for Debian package managers (#6183)
---
ci/docker/deb/Dockerfile | 67 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
diff --git a/ci/docker/deb/Dockerfile b/ci/docker/deb/Dockerfile
new file mode 100644
index 0000000..cad5530
--- /dev/null
+++ b/ci/docker/deb/Dockerfile
@@ -0,0 +1,67 @@
+################################################################################
+# Dockerfile to setup a Debian / Ubuntu type docker image, suitable
+# for building ATS, perhaps as part of a Jenkins CI. Note that some
+# of the features in here are specific to the official ATS Jenkins
+# setup, see comment below.
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+################################################################################
+# These can (should?) be overridden from the command line with ----build-arg, e.g.
+# docker build --build-arg OS_VERSION=19.10 --build-arg OS_TYPE=ubuntu
+#
+ARG OS_VERSION=19.10
+ARG OS_TYPE=ubuntu
+
+# This does currently not work, e.g. this I'd expect to make it conditional:
+#
+# RUN if [ "${ADD_JENKINS}" = "yes" ]; then apt-get ...
+#
+ARG ADD_JENKINS=no
+
+# Alright, lets pull in the base image from docker.io
+FROM ${OS_TYPE}:${OS_VERSION}
+
+################################################################################
+# All the Debian packages necessary for building ATS. you do not need all
+# these if you only intend to run ATS!
+#
+# This runs all the DEB installations, starting with a system level update. tzdata
+# needs to be installed, because TCL needs it, and we need this non-interactive.
+# ToDo: Remove tzdata when TCL is fully gone
+RUN apt-get update; apt-get -y dist-upgrade; \
+ DEBIAN_FRONTEND=noninteractive apt-get -y install tzdata apt-utils; \
+ # Compilers
+ apt-get -y install ccache make pkgconf bison flex g++ clang gettext libc++-dev \
+ # Autoconf
+ autoconf automake libtool autotools-dev dh-apparmor debhelper \
+ # Various other tools
+ git distcc file wget openssl hwloc intltool-debian; \
+ # Devel packages that ATS needs
+ apt-get -y install libssl-dev libexpat1-dev libpcre3-dev libcap-dev \
+ libhwloc-dev libhwloc5 libunwind8 libunwind8-dev \
+ tcl-dev tcl8.6-dev libjemalloc-dev libluajit-5.1-dev liblzma-dev \
+ libhiredis-dev libbrotli-dev libncurses-dev libgeoip-dev libmagick++-dev; \
+ # Optional: This is for the OpenSSH server, and Jenkins account + access (comment out if not needed)
+ apt-get -y install openssh-server openjdk-8-jre && mkdir /run/sshd; \
+ groupadd -g 665 jenkins && \
+ useradd -g jenkins -u 989 -s /bin/bash -M -d /home/jenkins -c "Jenkins Continuous Build server" jenkins && \
+ mkdir -p /var/jenkins && chown jenkins.jenkins /var/jenkins
+
+# This is for autest stuff, skipping since it's pulling in a *lot* ...
+# apt-get -y install python3 httpd-tools procps-ng nmap-ncat pipenv \
+# python3-virtualenv python3-gunicorn python3-requests python3-httpbin; \