[Tarantool-patches] [PATCH docker v1 3/5] Move tagged versions into master

Alexander V. Tikhonov avtikhon at tarantool.org
Mon Jan 13 14:48:37 MSK 2020


Merged all standalone branches with tarantool tags
into master branch to be able to build the tarantool
tagged versions in master and remove branches copies.
---
 .gitlab-ci.yml                | 152 ++++++++++++++++++--
 .gitlab.mk                    |   5 +-
 README.md                     |  49 ++++---
 dockerfiles/alpine_3.5_1.10.3 | 251 +++++++++++++++++++++++++++++++++
 dockerfiles/alpine_3.5_2.2.1  | 253 ++++++++++++++++++++++++++++++++++
 versions/alpine_3.5_1.10.0    |   1 +
 versions/alpine_3.5_1.10.2    |   1 +
 versions/alpine_3.5_1.10.3    |   1 +
 versions/alpine_3.5_1.10.4    |   1 +
 versions/alpine_3.5_2.1.1     |   1 +
 versions/alpine_3.5_2.1.2     |   1 +
 versions/alpine_3.5_2.1.3     |   1 +
 versions/alpine_3.5_2.2.0     |   1 +
 versions/alpine_3.5_2.2.1     |   1 +
 versions/alpine_3.5_2.2.2     |   1 +
 versions/alpine_3.5_2.3       |   1 +
 versions/alpine_3.5_2.3.1     |   1 +
 17 files changed, 685 insertions(+), 37 deletions(-)
 create mode 100644 dockerfiles/alpine_3.5_1.10.3
 create mode 100644 dockerfiles/alpine_3.5_2.2.1
 create mode 100644 versions/alpine_3.5_1.10.0
 create mode 100644 versions/alpine_3.5_1.10.2
 create mode 100644 versions/alpine_3.5_1.10.3
 create mode 100644 versions/alpine_3.5_1.10.4
 create mode 100644 versions/alpine_3.5_2.1.1
 create mode 100644 versions/alpine_3.5_2.1.2
 create mode 100644 versions/alpine_3.5_2.1.3
 create mode 100644 versions/alpine_3.5_2.2.0
 create mode 100644 versions/alpine_3.5_2.2.1
 create mode 100644 versions/alpine_3.5_2.2.2
 create mode 100644 versions/alpine_3.5_2.3
 create mode 100644 versions/alpine_3.5_2.3.1

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d704f3e..130cfb3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,6 +21,48 @@ before_script:
         make -f .gitlab.mk build
       fi;
 
+# ##########
+# ALPINE 3.5
+# ##########
+
+# Tarantool branch 1.10
+
+'alpine 3.5 1.10.0':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '1.10.0'
+    VER: '1.10.0'
+    DVER: '1.10.3'
+    PORT: 5101
+
+'alpine 3.5 1.10.2':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '1.10.2'
+    VER: '1.10.2'
+    DVER: '1.10.3'
+    PORT: 5102
+
+'alpine 3.5 1.10.3':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '1.10.3'
+    VER: '1.10.3'
+    DVER: '1.10.3'
+    PORT: 5103
+
+'alpine 3.5 1.10.4':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '1.10.4'
+    VER: '1.10.4'
+    DVER: '1.x'
+    PORT: 5104
+
 'alpine 3.5 1.x':
   <<: *build_definition
   variables:
@@ -28,16 +70,36 @@ before_script:
     TAG: '1'
     VER: '1.x'
     DVER: '1.x'
-    PORT: 3110
+    PORT: 5100
 
-'alpine 3.5 2.x':
+# Tarantool branch 2.1
+
+'alpine 3.5 2.1.1':
   <<: *build_definition
   variables:
     OS: 'alpine_3.5'
-    TAG: '2'
-    VER: '2.x'
-    DVER: '2.x'
-    PORT: 3120
+    TAG: '2.1.1'
+    VER: '2.1.1'
+    DVER: '2.2.1'
+    PORT: 5211
+
+'alpine 3.5 2.1.2':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '2.1.2'
+    VER: '2.1.2'
+    DVER: '2.2.1'
+    PORT: 5212
+
+'alpine 3.5 2.1.3':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '2.1.3'
+    VER: '2.1.3'
+    DVER: '1.x'
+    PORT: 5213
 
 'alpine 3.5 2.1':
   <<: *build_definition
@@ -46,7 +108,36 @@ before_script:
     TAG: '2.1'
     VER: '2.1'
     DVER: '2.2'
-    PORT: 3121
+    PORT: 5210
+
+# Tarantool branch 2.2
+
+'alpine 3.5 2.2.0':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '2.2.0'
+    VER: '2.2.0'
+    DVER: '2.2.1'
+    PORT: 5220
+
+'alpine 3.5 2.2.1':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '2.2.1'
+    VER: '2.2.1'
+    DVER: '2.2.1'
+    PORT: 5221
+
+'alpine 3.5 2.2.2':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '2.2.2'
+    VER: '2.2.2'
+    DVER: '2.x'
+    PORT: 5222
 
 'alpine 3.5 2.2':
   <<: *build_definition
@@ -55,7 +146,45 @@ before_script:
     TAG: '2.2'
     VER: '2.2'
     DVER: '2.2'
-    PORT: 3122
+    PORT: 5220
+
+# Tarantool branch 2.3
+
+'alpine 3.5 2.3.1':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '2.3.1'
+    VER: '2.3.1'
+    DVER: '2.x'
+    PORT: 5231
+
+'alpine 3.5 2.3':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '2.3'
+    VER: '2.3'
+    DVER: '2.x'
+    PORT: 5230
+
+# Tarantool branch master
+
+'alpine 3.5 2.x':
+  <<: *build_definition
+  variables:
+    OS: 'alpine_3.5'
+    TAG: '2'
+    VER: '2.x'
+    DVER: '2.x'
+    PORT: 5200
+    TAG_LATEST: 'latest'
+
+# ########
+# CentOS 7
+# ########
+
+# Tarantool branch 1.10
 
 'centos 7 1.x':
   <<: *build_definition
@@ -64,7 +193,9 @@ before_script:
     TAG: '1.x-centos7'
     VER: '1.x'
     DVER: '1.x'
-    PORT: 3210
+    PORT: 7100
+
+# Tarantool branch master
 
 'centos 7 2.x':
   <<: *build_definition
@@ -73,5 +204,4 @@ before_script:
     TAG: '2.x-centos7'
     VER: '2.x'
     DVER: '2.x'
-    PORT: 3220
-
+    PORT: 7200
diff --git a/.gitlab.mk b/.gitlab.mk
index 59f53c9..bd97046 100644
--- a/.gitlab.mk
+++ b/.gitlab.mk
@@ -7,4 +7,7 @@ build:
 	docker exec -t tarantool_${TAG} tarantool_is_up
 	docker stop tarantool_${TAG}
 	docker push ${IMAGE}:${TAG}
-
+	if [ -n "${TAG_LATEST}" ] ; then \
+		docker tag ${IMAGE}:${TAG} ${IMAGE}:${TAG_LATEST} ; \
+		docker push ${IMAGE}:${TAG_LATEST} ; \
+	fi
diff --git a/README.md b/README.md
index bba48ea..3c124e1 100644
--- a/README.md
+++ b/README.md
@@ -310,37 +310,36 @@ $ docker run -it t1.x
 
 Fixed versions:
 
-| Branch | Dockerfile     | Docker tag |
-| ------ | ----------     | ---------- |
-| 1.7.3  | 1.7/Dockerfile | 1.7.3      |
-| 1.7.4  | 1.7/Dockerfile | 1.7.4      |
-| 1.7.5  | 1.7/Dockerfile | 1.7.5      |
-| 1.7.6  | 1.7/Dockerfile | 1.7.6      |
-| 1.8.1  | 1.8/Dockerfile | 1.8.1      |
-| 1.9.1  | 1.x/Dockerfile | 1.9.1      |
-| 1.9.2  | 1.x/Dockerfile | 1.9.2      |
-| 1.10.0 | 1.x/Dockerfile | 1.10.0     |
-| 1.10.2 | 1.x/Dockerfile | 1.10.2     |
-| 1.10.3 | 1.x/Dockerfile | 1.10.3     |
-| 2.1.1  | 2.x/Dockerfile | 2.1.1      |
-| 2.1.2  | 2.x/Dockerfile | 2.1.2      |
-| 2.2.0  | 2.x/Dockerfile | 2.2.0      |
-| 2.2.1  | 2.x/Dockerfile | 2.2.1      |
+| Docker tag | Dockerfile                   |
+| ---------- | ---------------------------- |
+| 1.10.0     | dockerfile/alpine_3.5_1.10.3 |
+| 1.10.2     | dockerfile/alpine_3.5_1.10.3 |
+| 1.10.3     | dockerfile/alpine_3.5_1.10.3 |
+| 1.10.4     | dockerfile/alpine_3.5_1.10.4 |
+| 2.1.1      | dockerfile/alpine_3.5_2.2.1  |
+| 2.1.2      | dockerfile/alpine_3.5_2.2.1  |
+| 2.1.3      | dockerfile/alpine_3.5_1.x    |
+| 2.2.0      | dockerfile/alpine_3.5_2.2.1  |
+| 2.2.1      | dockerfile/alpine_3.5_2.2.1  |
+| 2.2.2      | dockerfile/alpine_3.5_2.x    |
+| 2.3.1      | dockerfile/alpine_3.5_2.x    |
 
 Rolling versions:
 
-| Branch | Dockerfile                | Docker tags |
-| ------ | ----------                | ----------- |
-| master | dockerfile/alpine_3.5_1.x | 1           |
-| master | dockerfile/alpine_3.5_2.2 | 2.1/2.2     |
-| master | dockerfile/alpine_3.5_2.x | 2           |
+| Docker tag | Dockerfile                |
+| ---------- | ------------------------- |
+| 1          | dockerfile/alpine_3.5_1.x |
+| 2.1        | dockerfile/alpine_3.5_2.2 |
+| 2.2        | dockerfile/alpine_3.5_2.2 |
+| 2.3        | dockerfile/alpine_3.5_2.x |
+| 2/latest   | dockerfile/alpine_3.5_2.x |
 
 Special builds:
 
-| Branch | Dockerfile              | Docker tag  |
-| ------ | ----------              | ----------  |
-| master | dockerfile/centos_7_1.x | 1.x-centos7 |
-| master | dockerfile/centos_7_2.x | 2.x-centos7 |
+| Docker tag  | Dockerfile              |
+| ----------- | ----------              |
+| 1.x-centos7 | dockerfile/centos_7_1.x |
+| 2.x-centos7 | dockerfile/centos_7_2.x |
 
 ## How to push changes (for maintainers)
 
diff --git a/dockerfiles/alpine_3.5_1.10.3 b/dockerfiles/alpine_3.5_1.10.3
new file mode 100644
index 0000000..a80ba61
--- /dev/null
+++ b/dockerfiles/alpine_3.5_1.10.3
@@ -0,0 +1,251 @@
+FROM alpine:3.5
+MAINTAINER mail at racktear.com
+
+RUN addgroup -S tarantool \
+    && adduser -S -G tarantool tarantool \
+    && apk add --no-cache 'su-exec>=0.2'
+
+# An ARG instruction goes out of scope at the end of the build 
+# stage where it was defined. To use an arg in multiple stages,
+# each stage must include the ARG instruction
+ARG TNT_VER
+ENV TARANTOOL_VERSION=${TNT_VER} \
+    TARANTOOL_DOWNLOAD_URL=https://github.com/tarantool/tarantool.git \
+    TARANTOOL_INSTALL_LUADIR=/usr/local/share/tarantool \
+    CURL_REPO=https://github.com/curl/curl.git \
+    CURL_TAG=curl-7_59_0 \
+    GPERFTOOLS_REPO=https://github.com/gperftools/gperftools.git \
+    GPERFTOOLS_TAG=gperftools-2.5 \
+    LUAROCKS_URL=https://github.com/tarantool/luarocks/archive/6e6fe62d9409fe2103c0fd091cccb3da0451faf5.tar.gz \
+    LUAROCK_SHARD_REPO=https://github.com/tarantool/shard.git \
+    LUAROCK_SHARD_TAG=8f8c5a7 \
+    LUAROCK_AVRO_SCHEMA_VERSION=2.0.1 \
+    LUAROCK_EXPERATIOND_VERSION=1.0.1 \
+    LUAROCK_QUEUE_VERSION=1.0.2 \
+    LUAROCK_CONNPOOL_VERSION=1.1.1 \
+    LUAROCK_HTTP_VERSION=1.0.1 \
+    LUAROCK_MEMCACHED_VERSION=1.0.0 \
+    LUAROCK_TARANTOOL_PG_VERSION=2.0.1 \
+    LUAROCK_TARANTOOL_MYSQL_VERSION=2.0.1 \
+    LUAROCK_TARANTOOL_CURL_VERSION=2.3.1 \
+    LUAROCK_TARANTOOL_MQTT_VERSION=1.2.1 \
+    LUAROCK_TARANTOOL_GIS_VERSION=1.0.0 \
+    LUAROCK_TARANTOOL_PROMETHEUS_VERSION=1.0.0 \
+    LUAROCK_TARANTOOL_GPERFTOOLS_VERSION=1.0.1
+
+COPY files/gperftools_alpine.diff /
+
+RUN set -x \
+    && apk add --no-cache --virtual .run-deps \
+        libstdc++ \
+        readline \
+        libressl \
+        yaml \
+        lz4 \
+        binutils \
+        ncurses \
+        libgomp \
+        lua \
+        tar \
+        zip \
+        libunwind \
+        icu \
+        ca-certificates \
+    && apk add --no-cache --virtual .build-deps \
+        perl \
+        gcc \
+        g++ \
+        cmake \
+        readline-dev \
+        libressl-dev \
+        yaml-dev \
+        lz4-dev \
+        binutils-dev \
+        ncurses-dev \
+        lua-dev \
+        musl-dev \
+        make \
+        git \
+        libunwind-dev \
+        autoconf \
+        automake \
+        libtool \
+        linux-headers \
+        go \
+        icu-dev \
+        wget \
+    && : "---------- curl ----------" \
+    && mkdir -p /usr/src/curl \
+    && git clone "$CURL_REPO" /usr/src/curl \
+    && git -C /usr/src/curl checkout "$CURL_TAG" \
+    && (cd /usr/src/curl \
+        && ./buildconf \
+        && ./configure --prefix "/usr/local" \
+        && make -j \
+        && make install) \
+    && : "---------- gperftools ----------" \
+    && mkdir -p /usr/src/gperftools \
+    && git clone "$GPERFTOOLS_REPO" /usr/src/gperftools \
+    && git -C /usr/src/gperftools checkout "$GPERFTOOLS_TAG" \
+    && (cd /usr/src/gperftools; \
+        patch -p1 < /gperftools_alpine.diff; \
+        rm /gperftools_alpine.diff; \
+        ./autogen.sh; \
+        ./configure; \
+        make; \
+        cp .libs/libprofiler.so* /usr/local/lib;) \
+    && (GOPATH=/usr/src/go go get github.com/google/pprof; \
+        cp /usr/src/go/bin/pprof /usr/local/bin) \
+    && : "---------- tarantool ----------" \
+    && mkdir -p /usr/src/tarantool \
+    && git clone "$TARANTOOL_DOWNLOAD_URL" /usr/src/tarantool \
+    && git -C /usr/src/tarantool checkout "$TARANTOOL_VERSION" \
+    && git -C /usr/src/tarantool submodule update --init --recursive \
+    && (cd /usr/src/tarantool; \
+       cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo\
+             -DENABLE_BUNDLED_LIBYAML:BOOL=OFF\
+             -DENABLE_BACKTRACE:BOOL=ON\
+             -DENABLE_DIST:BOOL=ON\
+             .) \
+    && make -C /usr/src/tarantool -j\
+    && make -C /usr/src/tarantool install \
+    && make -C /usr/src/tarantool clean \
+    && : "---------- small ----------" \
+    && (cd /usr/src/tarantool/src/lib/small; \
+        cmake -DCMAKE_INSTALL_PREFIX=/usr \
+              -DCMAKE_INSTALL_LIBDIR=lib \
+              -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+              .) \
+    && make -C /usr/src/tarantool/src/lib/small \
+    && make -C /usr/src/tarantool/src/lib/small install \
+    && make -C /usr/src/tarantool/src/lib/small clean \
+    && : "---------- msgpuck ----------" \
+    && (cd /usr/src/tarantool/src/lib/msgpuck; \
+        cmake -DCMAKE_INSTALL_PREFIX=/usr \
+              -DCMAKE_INSTALL_LIBDIR=lib \
+              -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+              .) \
+    && make -C /usr/src/tarantool/src/lib/msgpuck \
+    && make -C /usr/src/tarantool/src/lib/msgpuck install \
+    && make -C /usr/src/tarantool/src/lib/msgpuck clean \
+    && : "---------- luarocks ----------" \
+    && wget -O luarocks.tar.gz "$LUAROCKS_URL" \
+    && mkdir -p /usr/src/luarocks \
+    && tar -xzf luarocks.tar.gz -C /usr/src/luarocks --strip-components=1 \
+    && (cd /usr/src/luarocks; \
+        ./configure; \
+        make build; \
+        make install) \
+    && rm -r /usr/src/luarocks \
+    && rm -rf /usr/src/tarantool \
+    && rm -rf /usr/src/gperftools \
+    && rm -rf /usr/src/go \
+    && : "---------- remove build deps ----------" \
+    && apk del .build-deps
+
+COPY files/luarocks-config.lua /usr/local/etc/luarocks/config-5.1.lua
+
+RUN set -x \
+    && apk add --no-cache --virtual .run-deps \
+        mariadb-client-libs \
+        libpq \
+        cyrus-sasl \
+        mosquitto-libs \
+        libev \
+    && apk add --no-cache --virtual .build-deps \
+        git \
+        cmake \
+        make \
+        coreutils \
+        gcc \
+        g++ \
+        postgresql-dev \
+        lua-dev \
+        musl-dev \
+        cyrus-sasl-dev \
+        mosquitto-dev \
+        libev-dev \
+    && mkdir -p /rocks \
+    && : "---------- proj (for gis module) ----------" \
+    && wget -O proj.tar.gz http://download.osgeo.org/proj/proj-4.9.3.tar.gz \
+    && mkdir -p /usr/src/proj \
+    && tar -xzf proj.tar.gz -C /usr/src/proj --strip-components=1 \
+    && (cd /usr/src/proj; \
+        ./configure; \
+        make; \
+        make install) \
+    && rm -r /usr/src/proj \
+    && rm -rf /usr/src/proj \
+    && : "---------- geos (for gis module) ----------" \
+    && wget -O geos.tar.bz2 http://download.osgeo.org/geos/geos-3.6.0.tar.bz2 \
+    && mkdir -p /usr/src/geos \
+    && tar -xjf geos.tar.bz2 -C /usr/src/geos --strip-components=1 \
+    && (cd /usr/src/geos; \
+        ./configure; \
+        make; \
+        make install) \
+    && rm -r /usr/src/geos \
+    && rm -rf /usr/src/geos \
+    && : "---------- luarocks ----------" \
+    && luarocks install lua-term \
+    && luarocks install ldoc \
+    && : "avro" \
+    && luarocks install avro-schema $LUAROCK_AVRO_SCHEMA_VERSION \
+    && : "expirationd" \
+    && luarocks install expirationd $LUAROCK_EXPERATIOND_VERSION \
+    && : "queue" \
+    && luarocks install queue $LUAROCK_QUEUE_VERSION \
+    && : "connpool" \
+    && luarocks install connpool $LUAROCK_CONNPOOL_VERSION \
+    && : "shard" \
+    && git clone $LUAROCK_SHARD_REPO /rocks/shard \
+    && git -C /rocks/shard checkout $LUAROCK_SHARD_TAG \
+    && (cd /rocks/shard && luarocks make *rockspec) \
+    && : "http" \
+    && luarocks install http $LUAROCK_HTTP_VERSION \
+    && : "pg" \
+    && luarocks install pg $LUAROCK_TARANTOOL_PG_VERSION \
+    && : "mysql" \
+    && luarocks install mysql $LUAROCK_TARANTOOL_MYSQL_VERSION \
+    && : "memcached" \
+    && luarocks install memcached $LUAROCK_MEMCACHED_VERSION \
+    && : "prometheus" \
+    && luarocks install prometheus $LUAROCK_TARANTOOL_PROMETHEUS_VERSION \
+    && : "curl" \
+    && luarocks install tarantool-curl $LUAROCK_TARANTOOL_CURL_VERSION \
+    && : "mqtt" \
+    && luarocks install mqtt $LUAROCK_TARANTOOL_MQTT_VERSION \
+    && : "gis" \
+    && luarocks install gis $LUAROCK_TARANTOOL_GIS_VERSION \
+    && : "gperftools" \
+    && luarocks install gperftools $LUAROCK_TARANTOOL_GPERFTOOLS_VERSION \
+    && : "---------- remove build deps ----------" \
+    && apk del .build-deps \
+    && rm -rf /rocks
+
+RUN mkdir -p /var/lib/tarantool \
+    && chown tarantool:tarantool /var/lib/tarantool \
+    && mkdir -p /opt/tarantool \
+    && chown tarantool:tarantool /opt/tarantool \
+    && mkdir -p /var/run/tarantool \
+    && chown tarantool:tarantool /var/run/tarantool \
+    && mkdir /etc/tarantool \
+    && chown tarantool:tarantool /etc/tarantool
+
+VOLUME /var/lib/tarantool
+WORKDIR /opt/tarantool
+
+COPY files/tarantool-entrypoint.lua /usr/local/bin/
+COPY files/tarantool_set_config.lua /usr/local/bin/
+COPY files/docker-entrypoint.sh /usr/local/bin/
+COPY files/console /usr/local/bin/
+COPY files/tarantool_is_up /usr/local/bin/
+COPY files/tarantool.default /usr/local/etc/default/tarantool
+
+RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat
+ENTRYPOINT ["docker-entrypoint.sh"]
+
+HEALTHCHECK CMD tarantool_is_up
+
+EXPOSE 3301
+CMD [ "tarantool" ]
diff --git a/dockerfiles/alpine_3.5_2.2.1 b/dockerfiles/alpine_3.5_2.2.1
new file mode 100644
index 0000000..a5fff8b
--- /dev/null
+++ b/dockerfiles/alpine_3.5_2.2.1
@@ -0,0 +1,253 @@
+FROM alpine:3.5
+MAINTAINER mail at racktear.com
+
+RUN addgroup -S tarantool \
+    && adduser -S -G tarantool tarantool \
+    && apk add --no-cache 'su-exec>=0.2'
+
+# An ARG instruction goes out of scope at the end of the build
+# stage where it was defined. To use an arg in multiple stages,
+# each stage must include the ARG instruction
+ARG TNT_VER
+ENV TARANTOOL_VERSION=${TNT_VER} \
+    TARANTOOL_DOWNLOAD_URL=https://github.com/tarantool/tarantool.git \
+    TARANTOOL_INSTALL_LUADIR=/usr/local/share/tarantool \
+    CURL_REPO=https://github.com/curl/curl.git \
+    CURL_TAG=curl-7_59_0 \
+    GPERFTOOLS_REPO=https://github.com/gperftools/gperftools.git \
+    GPERFTOOLS_TAG=gperftools-2.5 \
+    LUAROCKS_URL=https://github.com/tarantool/luarocks/archive/6e6fe62d9409fe2103c0fd091cccb3da0451faf5.tar.gz \
+    LUAROCK_SHARD_REPO=https://github.com/tarantool/shard.git \
+    LUAROCK_SHARD_TAG=8f8c5a7 \
+    LUAROCK_AVRO_SCHEMA_VERSION=2.0.1 \
+    LUAROCK_EXPERATIOND_VERSION=1.0.1 \
+    LUAROCK_QUEUE_VERSION=1.0.2 \
+    LUAROCK_CONNPOOL_VERSION=1.1.1 \
+    LUAROCK_HTTP_VERSION=1.0.1 \
+    LUAROCK_MEMCACHED_VERSION=1.0.0 \
+    LUAROCK_TARANTOOL_PG_VERSION=2.0.1 \
+    LUAROCK_TARANTOOL_MYSQL_VERSION=2.0.1 \
+    LUAROCK_TARANTOOL_CURL_VERSION=2.3.1 \
+    LUAROCK_TARANTOOL_MQTT_VERSION=1.2.1 \
+    LUAROCK_TARANTOOL_GIS_VERSION=1.0.0 \
+    LUAROCK_TARANTOOL_PROMETHEUS_VERSION=1.0.0 \
+    LUAROCK_TARANTOOL_GPERFTOOLS_VERSION=1.0.1
+
+COPY files/gperftools_alpine.diff /
+
+RUN set -x \
+    && apk add --no-cache --virtual .run-deps \
+        libstdc++ \
+        readline \
+        libressl \
+        yaml \
+        lz4 \
+        binutils \
+        ncurses \
+        libgomp \
+        lua \
+        tar \
+        zip \
+        libunwind \
+        icu \
+        ca-certificates \
+    && apk add --no-cache --virtual .build-deps \
+        perl \
+        gcc \
+        g++ \
+        cmake \
+        readline-dev \
+        libressl-dev \
+        yaml-dev \
+        lz4-dev \
+        binutils-dev \
+        ncurses-dev \
+        lua-dev \
+        musl-dev \
+        make \
+        git \
+        libunwind-dev \
+        autoconf \
+        automake \
+        libtool \
+        linux-headers \
+        go \
+        tcl \
+        icu-dev \
+        wget \
+    && : "---------- curl ----------" \
+    && mkdir -p /usr/src/curl \
+    && git clone "$CURL_REPO" /usr/src/curl \
+    && git -C /usr/src/curl checkout "$CURL_TAG" \
+    && (cd /usr/src/curl \
+        && ./buildconf \
+        && ./configure --prefix "/usr/local" \
+        && make -j \
+        && make install) \
+    && : "---------- gperftools ----------" \
+    && mkdir -p /usr/src/gperftools \
+    && git clone "$GPERFTOOLS_REPO" /usr/src/gperftools \
+    && git -C /usr/src/gperftools checkout "$GPERFTOOLS_TAG" \
+    && (cd /usr/src/gperftools; \
+        patch -p1 < /gperftools_alpine.diff; \
+        rm /gperftools_alpine.diff; \
+        ./autogen.sh; \
+        ./configure; \
+        make; \
+        cp .libs/libprofiler.so* /usr/local/lib;) \
+    && (GOPATH=/usr/src/go go get github.com/google/pprof; \
+        cp /usr/src/go/bin/pprof /usr/local/bin) \
+    && : "---------- tarantool ----------" \
+    && mkdir -p /usr/src/tarantool \
+    && git clone "$TARANTOOL_DOWNLOAD_URL" /usr/src/tarantool \
+    && git -C /usr/src/tarantool checkout "$TARANTOOL_VERSION" \
+    && git -C /usr/src/tarantool submodule update --init --recursive \
+    && (cd /usr/src/tarantool; \
+       cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo\
+             -DENABLE_BUNDLED_LIBYAML:BOOL=OFF\
+             -DENABLE_BACKTRACE:BOOL=ON\
+             -DENABLE_DIST:BOOL=ON\
+             .) \
+    && make -C /usr/src/tarantool -j\
+    && make -C /usr/src/tarantool install \
+    && make -C /usr/src/tarantool clean \
+    && : "---------- small ----------" \
+    && (cd /usr/src/tarantool/src/lib/small; \
+        cmake -DCMAKE_INSTALL_PREFIX=/usr \
+              -DCMAKE_INSTALL_LIBDIR=lib \
+              -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+              .) \
+    && make -C /usr/src/tarantool/src/lib/small \
+    && make -C /usr/src/tarantool/src/lib/small install \
+    && make -C /usr/src/tarantool/src/lib/small clean \
+    && : "---------- msgpuck ----------" \
+    && (cd /usr/src/tarantool/src/lib/msgpuck; \
+        cmake -DCMAKE_INSTALL_PREFIX=/usr \
+              -DCMAKE_INSTALL_LIBDIR=lib \
+              -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+              .) \
+    && make -C /usr/src/tarantool/src/lib/msgpuck \
+    && make -C /usr/src/tarantool/src/lib/msgpuck install \
+    && make -C /usr/src/tarantool/src/lib/msgpuck clean \
+    && : "---------- luarocks ----------" \
+    && wget -O luarocks.tar.gz "$LUAROCKS_URL" \
+    && mkdir -p /usr/src/luarocks \
+    && tar -xzf luarocks.tar.gz -C /usr/src/luarocks --strip-components=1 \
+    && (cd /usr/src/luarocks; \
+        ./configure; \
+        make build; \
+        make install) \
+    && rm -r /usr/src/luarocks \
+    && rm -rf /usr/src/tarantool \
+    && rm -rf /usr/src/gperftools \
+    && rm -rf /usr/src/go \
+    && : "---------- remove build deps ----------" \
+    && apk del .build-deps
+
+COPY files/luarocks-config.lua /usr/local/etc/luarocks/config-5.1.lua
+
+RUN set -x \
+    && apk add --no-cache --virtual .run-deps \
+        mariadb-client-libs \
+        libpq \
+        cyrus-sasl \
+        mosquitto-libs \
+        libev \
+    && apk add --no-cache --virtual .build-deps \
+        git \
+        cmake \
+        make \
+        coreutils \
+        gcc \
+        g++ \
+        postgresql-dev \
+        lua-dev \
+        musl-dev \
+        cyrus-sasl-dev \
+        mosquitto-dev \
+        libev-dev \
+        libressl-dev \
+    && mkdir -p /rocks \
+    && : "---------- proj (for gis module) ----------" \
+    && wget -O proj.tar.gz http://download.osgeo.org/proj/proj-4.9.3.tar.gz \
+    && mkdir -p /usr/src/proj \
+    && tar -xzf proj.tar.gz -C /usr/src/proj --strip-components=1 \
+    && (cd /usr/src/proj; \
+        ./configure; \
+        make; \
+        make install) \
+    && rm -r /usr/src/proj \
+    && rm -rf /usr/src/proj \
+    && : "---------- geos (for gis module) ----------" \
+    && wget -O geos.tar.bz2 http://download.osgeo.org/geos/geos-3.6.0.tar.bz2 \
+    && mkdir -p /usr/src/geos \
+    && tar -xjf geos.tar.bz2 -C /usr/src/geos --strip-components=1 \
+    && (cd /usr/src/geos; \
+        ./configure; \
+        make; \
+        make install) \
+    && rm -r /usr/src/geos \
+    && rm -rf /usr/src/geos \
+    && : "---------- luarocks ----------" \
+    && luarocks install lua-term \
+    && luarocks install ldoc \
+    && : "avro" \
+    && luarocks install avro-schema $LUAROCK_AVRO_SCHEMA_VERSION \
+    && : "expirationd" \
+    && luarocks install expirationd $LUAROCK_EXPERATIOND_VERSION \
+    && : "queue" \
+    && luarocks install queue $LUAROCK_QUEUE_VERSION \
+    && : "connpool" \
+    && luarocks install connpool $LUAROCK_CONNPOOL_VERSION \
+    && : "shard" \
+    && git clone $LUAROCK_SHARD_REPO /rocks/shard \
+    && git -C /rocks/shard checkout $LUAROCK_SHARD_TAG \
+    && (cd /rocks/shard && luarocks make *rockspec) \
+    && : "http" \
+    && luarocks install http $LUAROCK_HTTP_VERSION \
+    && : "pg" \
+    && luarocks install pg $LUAROCK_TARANTOOL_PG_VERSION \
+    && : "mysql" \
+    && luarocks install mysql $LUAROCK_TARANTOOL_MYSQL_VERSION \
+    && : "memcached" \
+    && luarocks install memcached $LUAROCK_MEMCACHED_VERSION \
+    && : "prometheus" \
+    && luarocks install prometheus $LUAROCK_TARANTOOL_PROMETHEUS_VERSION \
+    && : "curl" \
+    && luarocks install tarantool-curl $LUAROCK_TARANTOOL_CURL_VERSION \
+    && : "mqtt" \
+    && luarocks install mqtt $LUAROCK_TARANTOOL_MQTT_VERSION \
+    && : "gis" \
+    && luarocks install gis $LUAROCK_TARANTOOL_GIS_VERSION \
+    && : "gperftools" \
+    && luarocks install gperftools $LUAROCK_TARANTOOL_GPERFTOOLS_VERSION \
+    && : "---------- remove build deps ----------" \
+    && apk del .build-deps \
+    && rm -rf /rocks
+
+RUN mkdir -p /var/lib/tarantool \
+    && chown tarantool:tarantool /var/lib/tarantool \
+    && mkdir -p /opt/tarantool \
+    && chown tarantool:tarantool /opt/tarantool \
+    && mkdir -p /var/run/tarantool \
+    && chown tarantool:tarantool /var/run/tarantool \
+    && mkdir /etc/tarantool \
+    && chown tarantool:tarantool /etc/tarantool
+
+VOLUME /var/lib/tarantool
+WORKDIR /opt/tarantool
+
+COPY files/tarantool-entrypoint.lua /usr/local/bin/
+COPY files/tarantool_set_config.lua /usr/local/bin/
+COPY files/docker-entrypoint.sh /usr/local/bin/
+COPY files/console /usr/local/bin/
+COPY files/tarantool_is_up /usr/local/bin/
+COPY files/tarantool.default /usr/local/etc/default/tarantool
+
+RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat
+ENTRYPOINT ["docker-entrypoint.sh"]
+
+HEALTHCHECK CMD tarantool_is_up
+
+EXPOSE 3301
+CMD [ "tarantool" ]
diff --git a/versions/alpine_3.5_1.10.0 b/versions/alpine_3.5_1.10.0
new file mode 100644
index 0000000..818e3ac
--- /dev/null
+++ b/versions/alpine_3.5_1.10.0
@@ -0,0 +1 @@
+1.10.0-0-g42612ec04
diff --git a/versions/alpine_3.5_1.10.2 b/versions/alpine_3.5_1.10.2
new file mode 100644
index 0000000..5c1acd3
--- /dev/null
+++ b/versions/alpine_3.5_1.10.2
@@ -0,0 +1 @@
+1.10.2-0-gc0d8063b6
diff --git a/versions/alpine_3.5_1.10.3 b/versions/alpine_3.5_1.10.3
new file mode 100644
index 0000000..515f8f7
--- /dev/null
+++ b/versions/alpine_3.5_1.10.3
@@ -0,0 +1 @@
+1.10.3-0-g0b7078a93
diff --git a/versions/alpine_3.5_1.10.4 b/versions/alpine_3.5_1.10.4
new file mode 100644
index 0000000..19bee8b
--- /dev/null
+++ b/versions/alpine_3.5_1.10.4
@@ -0,0 +1 @@
+1.10.4-0-g9dbcdba14
diff --git a/versions/alpine_3.5_2.1.1 b/versions/alpine_3.5_2.1.1
new file mode 100644
index 0000000..0c1c7e7
--- /dev/null
+++ b/versions/alpine_3.5_2.1.1
@@ -0,0 +1 @@
+2.1.1-0-g8a09adb46
diff --git a/versions/alpine_3.5_2.1.2 b/versions/alpine_3.5_2.1.2
new file mode 100644
index 0000000..707313e
--- /dev/null
+++ b/versions/alpine_3.5_2.1.2
@@ -0,0 +1 @@
+2.1.2-2-gd06f95fc1
diff --git a/versions/alpine_3.5_2.1.3 b/versions/alpine_3.5_2.1.3
new file mode 100644
index 0000000..b242e69
--- /dev/null
+++ b/versions/alpine_3.5_2.1.3
@@ -0,0 +1 @@
+2.1.3-1-g62c1bcdaf
diff --git a/versions/alpine_3.5_2.2.0 b/versions/alpine_3.5_2.2.0
new file mode 100644
index 0000000..c8920cc
--- /dev/null
+++ b/versions/alpine_3.5_2.2.0
@@ -0,0 +1 @@
+2.2.0-0-gb58001013
diff --git a/versions/alpine_3.5_2.2.1 b/versions/alpine_3.5_2.2.1
new file mode 100644
index 0000000..10db341
--- /dev/null
+++ b/versions/alpine_3.5_2.2.1
@@ -0,0 +1 @@
+2.2.1-3-g878e2a42c
diff --git a/versions/alpine_3.5_2.2.2 b/versions/alpine_3.5_2.2.2
new file mode 100644
index 0000000..243a7ec
--- /dev/null
+++ b/versions/alpine_3.5_2.2.2
@@ -0,0 +1 @@
+2.2.2-4-g4f8ac5999
diff --git a/versions/alpine_3.5_2.3 b/versions/alpine_3.5_2.3
new file mode 100644
index 0000000..0d9a82f
--- /dev/null
+++ b/versions/alpine_3.5_2.3
@@ -0,0 +1 @@
+2.3.1-2-g92750c828
diff --git a/versions/alpine_3.5_2.3.1 b/versions/alpine_3.5_2.3.1
new file mode 100644
index 0000000..0d9a82f
--- /dev/null
+++ b/versions/alpine_3.5_2.3.1
@@ -0,0 +1 @@
+2.3.1-2-g92750c828
-- 
2.17.1



More information about the Tarantool-patches mailing list