Browse Source

[ci fw-only C++/cutelyst] cutelyst: remove TE deps, don't remove shared setup yet (#3554)

Our plan is to eventually remove the *-base.dockerfiles (in this commit,
it's called "cutelyst-shared-setup.dockerfile"), but I want to take a
smaller step here first.  In this commit, I remove most of the
techempower/* dependencies but I keep that one.
Michael Hixson 7 years ago
parent
commit
1b57baac11

+ 0 - 19
frameworks/C++/cutelyst/cutelyst-benchmark-app.dockerfile

@@ -1,19 +0,0 @@
-FROM techempower/cutelyst-framework:0.1
-
-ENV TROOT=/cutelyst-benchmark-app
-ENV LD_LIBRARY_PATH=${CMAKE_PREFIX_PATH}/lib
-ENV CUTELYST_APP=${TROOT}/build/libcutelyst_benchmarks.so
-    
-ADD src ${TROOT}/
-ADD config/config.ini /cutelyst.ini
-ADD config/config_socket.ini /cutelyst_socket.ini
-
-RUN sed -i "s|DatabaseHostName=.*|DatabaseHostName=${DBHOST}|g" /cutelyst.ini
-RUN sed -i "s|DatabaseHostName=.*|DatabaseHostName=${DBHOST}|g" /cutelyst_socket.ini
-
-RUN cd ${TROOT} && \
-    mkdir -p build && \
-    cd build && \
-    cmake ${TROOT} \
-    -DCMAKE_BUILD_TYPE=Release && \
-    make

+ 0 - 19
frameworks/C++/cutelyst/cutelyst-deps.dockerfile

@@ -1,19 +0,0 @@
-FROM techempower/base:0.1
-
-ENV QT_VERSION_MM=59
-ENV QT_VERSION_FULL=594-xenial
-ENV CMAKE_PREFIX_PATH=/opt/qt${QT_VERSION_MM}
-ENV LD_LIBRARY_PATH=${CMAKE_PREFIX_PATH}/lib
-
-RUN apt-add-repository --yes ppa:beineri/opt-qt$QT_VERSION_FULL && \
-    apt-get update -qq && \
-    apt-get install -qqy \
-    cmake \
-    clearsilver-dev \
-    libgrantlee5-dev \
-    libjemalloc-dev \
-    qt${QT_VERSION_MM}base \
-    qt${QT_VERSION_MM}script \
-    qt${QT_VERSION_MM}tools
-    
-RUN apt install -yqq uwsgi uwsgi uuid-dev libcap-dev libzmq3-dev

+ 0 - 14
frameworks/C++/cutelyst/cutelyst-framework.dockerfile

@@ -1,14 +0,0 @@
-FROM techempower/cutelyst-deps:0.1
-
-ENV CUTELYST_VER=2.0.1
-
-RUN wget -q https://github.com/cutelyst/cutelyst/archive/v$CUTELYST_VER.tar.gz -O cutelyst-$CUTELYST_VER.tar.gz && \
-    tar zxf cutelyst-$CUTELYST_VER.tar.gz && \
-    cd cutelyst-$CUTELYST_VER && mkdir build && cd build && \
-    cmake .. \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    -DPLUGIN_UWSGI=on \
-    -DPLUGIN_VIEW_GRANTLEE=on \
-    -DUSE_JEMALLOC=on && \
-    make && make install

+ 0 - 12
frameworks/C++/cutelyst/cutelyst-nginx-base.dockerfile

@@ -1,12 +0,0 @@
-FROM techempower/nginx:0.1
-FROM techempower/cutelyst-benchmark-app:0.1
-
-COPY --from=0 /nginx /nginx
-
-ENV NGINX_HOME="/nginx"
-ENV PATH=/nginx/sbin:${PATH}
-
-ADD nginx.conf /nginx.conf
-
-RUN sed -i "s|include .*/conf/uwsgi_params;|include ${NGINX_HOME}/conf/uwsgi_params;|g" /nginx.conf
-RUN sed -i "s|SendDate=.*|SendDate=false|g" /cutelyst_socket.ini

+ 8 - 4
frameworks/C++/cutelyst/cutelyst-nginx-my.dockerfile

@@ -1,8 +1,12 @@
-FROM techempower/cutelyst-nginx-base:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_THREADS=1
-ENV CPU_AFFINITY=1
-ENV DRIVER=QMYSQL
+RUN apt-get install -yqq nginx
+
+RUN sed -i "s|SendDate=.*|SendDate=false|g" /cutelyst_socket.ini
+
+ENV C_THREADS 1
+ENV CPU_AFFINITY 1
+ENV DRIVER QMYSQL
 
 
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst_socket.ini
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst_socket.ini
 
 

+ 8 - 4
frameworks/C++/cutelyst/cutelyst-nginx-pg.dockerfile

@@ -1,8 +1,12 @@
-FROM techempower/cutelyst-nginx-base:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_THREADS=1
-ENV CPU_AFFINITY=1
-ENV DRIVER=QPSQL
+RUN apt-get install -yqq nginx
+
+RUN sed -i "s|SendDate=.*|SendDate=false|g" /cutelyst_socket.ini
+
+ENV C_THREADS 1
+ENV CPU_AFFINITY 1
+ENV DRIVER QPSQL
 
 
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst_socket.ini
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst_socket.ini
 
 

+ 7 - 3
frameworks/C++/cutelyst/cutelyst-nginx.dockerfile

@@ -1,7 +1,11 @@
-FROM techempower/cutelyst-nginx-base:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_THREADS=1
-ENV CPU_AFFINITY=1
+RUN apt-get install -yqq nginx
+
+RUN sed -i "s|SendDate=.*|SendDate=false|g" /cutelyst_socket.ini
+
+ENV C_THREADS 1
+ENV CPU_AFFINITY 1
 
 
 CMD nginx -c /nginx.conf && uwsgi \
 CMD nginx -c /nginx.conf && uwsgi \
     --ini /cutelyst_socket.ini \
     --ini /cutelyst_socket.ini \

+ 4 - 5
frameworks/C++/cutelyst/cutelyst-pf-my-nodelay.dockerfile

@@ -1,11 +1,10 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_THREADS=1
-ENV CPU_AFFINITY=1
-ENV DRIVER=QMYSQL
+ENV C_THREADS 1
+ENV CPU_AFFINITY 1
+ENV DRIVER QMYSQL
 
 
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
-RUN sed -i "s|DatabaseHostName=.*|DatabaseHostName=${DBHOST}|g" /cutelyst.ini
 
 
 CMD cutelyst-wsgi2 \
 CMD cutelyst-wsgi2 \
     --ini /cutelyst.ini:uwsgi \
     --ini /cutelyst.ini:uwsgi \

+ 4 - 5
frameworks/C++/cutelyst/cutelyst-pf-my.dockerfile

@@ -1,11 +1,10 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_THREADS=1
-ENV CPU_AFFINITY=1
-ENV DRIVER=QMYSQL
+ENV C_THREADS 1
+ENV CPU_AFFINITY 1
+ENV DRIVER QMYSQL
 
 
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
-RUN sed -i "s|DatabaseHostName=.*|DatabaseHostName=${DBHOST}|g" /cutelyst.ini
 
 
 CMD cutelyst-wsgi2 \
 CMD cutelyst-wsgi2 \
     --ini /cutelyst.ini:uwsgi \
     --ini /cutelyst.ini:uwsgi \

+ 3 - 3
frameworks/C++/cutelyst/cutelyst-pf-nodelay.dockerfile

@@ -1,7 +1,7 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_THREADS=1
-ENV CPU_AFFINITY=1
+ENV C_THREADS 1
+ENV CPU_AFFINITY 1
 
 
 CMD cutelyst-wsgi2 \
 CMD cutelyst-wsgi2 \
     --ini /cutelyst.ini:uwsgi \
     --ini /cutelyst.ini:uwsgi \

+ 4 - 5
frameworks/C++/cutelyst/cutelyst-pf-pg-nodelay.dockerfile

@@ -1,11 +1,10 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_THREADS=1
-ENV CPU_AFFINITY=1
-ENV DRIVER=QPSQL
+ENV C_THREADS 1
+ENV CPU_AFFINITY 1
+ENV DRIVER QPSQL
 
 
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
-RUN sed -i "s|DatabaseHostName=.*|DatabaseHostName=${DBHOST}|g" /cutelyst.ini
 
 
 CMD cutelyst-wsgi2 \
 CMD cutelyst-wsgi2 \
     --ini /cutelyst.ini:uwsgi \
     --ini /cutelyst.ini:uwsgi \

+ 4 - 4
frameworks/C++/cutelyst/cutelyst-pf-pg.dockerfile

@@ -1,8 +1,8 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_THREADS=1
-ENV CPU_AFFINITY=1
-ENV DRIVER=QPSQL
+ENV C_THREADS 1
+ENV CPU_AFFINITY 1
+ENV DRIVER QPSQL
 
 
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 
 

+ 78 - 0
frameworks/C++/cutelyst/cutelyst-shared-setup.dockerfile

@@ -0,0 +1,78 @@
+FROM ubuntu:16.04
+
+RUN apt-get update
+
+RUN apt-get install -qqy software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+ENV QT_VERSION_MM 59
+ENV QT_VERSION_FULL 594-xenial
+ENV CMAKE_PREFIX_PATH /opt/qt${QT_VERSION_MM}
+ENV LD_LIBRARY_PATH ${CMAKE_PREFIX_PATH}/lib
+
+ENV QT_VERSION_MM 59
+ENV QT_VERSION_FULL 594-xenial
+ENV CMAKE_PREFIX_PATH /opt/qt${QT_VERSION_MM}
+ENV LD_LIBRARY_PATH ${CMAKE_PREFIX_PATH}/lib
+
+RUN apt-add-repository --yes ppa:beineri/opt-qt$QT_VERSION_FULL && \
+    apt-get update -qq && \
+    apt-get install -qqy \
+    cmake \
+    clearsilver-dev \
+    libgrantlee5-dev \
+    libjemalloc-dev \
+    qt${QT_VERSION_MM}base \
+    qt${QT_VERSION_MM}script \
+    qt${QT_VERSION_MM}tools
+
+RUN apt install -yqq uwsgi uwsgi uuid-dev libcap-dev libzmq3-dev
+
+ENV CUTELYST_VER 2.0.1
+
+RUN wget -q https://github.com/cutelyst/cutelyst/archive/v$CUTELYST_VER.tar.gz -O cutelyst-$CUTELYST_VER.tar.gz && \
+    tar zxf cutelyst-$CUTELYST_VER.tar.gz && \
+    cd cutelyst-$CUTELYST_VER && mkdir build && cd build && \
+    cmake .. \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DPLUGIN_UWSGI=on \
+    -DPLUGIN_VIEW_GRANTLEE=on \
+    -DUSE_JEMALLOC=on && \
+    make && make install
+
+ENV TROOT /cutelyst-benchmark-app
+ENV LD_LIBRARY_PATH ${CMAKE_PREFIX_PATH}/lib
+ENV CUTELYST_APP ${TROOT}/build/libcutelyst_benchmarks.so
+    
+COPY src ${TROOT}/
+COPY config/config.ini /cutelyst.ini
+COPY config/config_socket.ini /cutelyst_socket.ini
+COPY nginx.conf /nginx.conf
+
+RUN sed -i "s|DatabaseHostName=.*|DatabaseHostName=tfb-database|g" /cutelyst.ini
+RUN sed -i "s|DatabaseHostName=.*|DatabaseHostName=tfb-database|g" /cutelyst_socket.ini
+
+RUN cd ${TROOT} && \
+    mkdir -p build && \
+    cd build && \
+    cmake ${TROOT} \
+    -DCMAKE_BUILD_TYPE=Release && \
+    make

+ 4 - 4
frameworks/C++/cutelyst/cutelyst-thread-my-nodelay.dockerfile

@@ -1,8 +1,8 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_PROCESSES=1
-ENV CPU_AFFINITY=1
-ENV DRIVER=QMYSQL
+ENV C_PROCESSES 1
+ENV CPU_AFFINITY 1
+ENV DRIVER QMYSQL
 
 
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 
 

+ 4 - 4
frameworks/C++/cutelyst/cutelyst-thread-my.dockerfile

@@ -1,8 +1,8 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_PROCESSES=1
-ENV CPU_AFFINITY=1
-ENV DRIVER=QMYSQL
+ENV C_PROCESSES 1
+ENV CPU_AFFINITY 1
+ENV DRIVER QMYSQL
 
 
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 
 

+ 3 - 3
frameworks/C++/cutelyst/cutelyst-thread-nodelay.dockerfile

@@ -1,7 +1,7 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_PROCESSES=1
-ENV CPU_AFFINITY=1
+ENV C_PROCESSES 1
+ENV CPU_AFFINITY 1
 
 
 CMD cutelyst-wsgi2 \
 CMD cutelyst-wsgi2 \
     --ini /cutelyst.ini:uwsgi \
     --ini /cutelyst.ini:uwsgi \

+ 4 - 4
frameworks/C++/cutelyst/cutelyst-thread-pg-nodelay.dockerfile

@@ -1,8 +1,8 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_PROCESSES=1
-ENV CPU_AFFINITY=1
-ENV DRIVER=QPSQL
+ENV C_PROCESSES 1
+ENV CPU_AFFINITY 1
+ENV DRIVER QPSQL
 
 
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 
 

+ 4 - 4
frameworks/C++/cutelyst/cutelyst-thread-pg.dockerfile

@@ -1,8 +1,8 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_PROCESSES=1
-ENV CPU_AFFINITY=1
-ENV DRIVER=QPSQL
+ENV C_PROCESSES 1
+ENV CPU_AFFINITY 1
+ENV DRIVER QPSQL
 
 
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 RUN sed -i "s|Driver=.*|Driver=${DRIVER}|g" /cutelyst.ini
 
 

+ 3 - 3
frameworks/C++/cutelyst/cutelyst-thread.dockerfile

@@ -1,7 +1,7 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_PROCESSES=1
-ENV CPU_AFFINITY=1
+ENV C_PROCESSES 1
+ENV CPU_AFFINITY 1
 
 
 CMD cutelyst-wsgi2 \
 CMD cutelyst-wsgi2 \
     --ini /cutelyst.ini:uwsgi \
     --ini /cutelyst.ini:uwsgi \

+ 3 - 3
frameworks/C++/cutelyst/cutelyst.dockerfile

@@ -1,7 +1,7 @@
-FROM techempower/cutelyst-benchmark-app:0.1
+FROM techempower/cutelyst-shared-setup:latest
 
 
-ENV C_THREADS=1
-ENV CPU_AFFINITY=1
+ENV C_THREADS 1
+ENV CPU_AFFINITY 1
 
 
 CMD cutelyst-wsgi2 \
 CMD cutelyst-wsgi2 \
     --ini /cutelyst.ini:uwsgi \
     --ini /cutelyst.ini:uwsgi \

+ 1 - 1
frameworks/C++/cutelyst/nginx.conf

@@ -42,7 +42,7 @@ http {
 
 
         location / {
         location / {
             uwsgi_pass unix:/var/tmp/uwsgi.sock;
             uwsgi_pass unix:/var/tmp/uwsgi.sock;
-            include /usr/local/nginx/conf/uwsgi_params;
+            include /etc/nginx/uwsgi_params;
         }
         }
     }
     }
 }
 }