Browse Source

optimize the controller build & ship workflow a bit

Grant Limberg 4 years ago
parent
commit
1d8b8d8e9c

+ 2 - 29
ext/central-controller-docker/Dockerfile

@@ -1,37 +1,10 @@
 # Dockerfile for ZeroTier Central Controllers
 # Dockerfile for ZeroTier Central Controllers
-FROM centos:8 as builder
+FROM registry.zerotier.com/zerotier/controller-builder:latest as builder
 MAINTAINER Adam Ierymekno <[email protected]>, Grant Limberg <[email protected]>
 MAINTAINER Adam Ierymekno <[email protected]>, Grant Limberg <[email protected]>
-
-ARG git_branch=master
-
-RUN yum update -y
-RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
-RUN dnf -qy module disable postgresql
-RUN yum -y install epel-release && yum -y update && yum clean all
-RUN yum groupinstall -y "Development Tools"
-RUN yum install -y bash cmake postgresql10 postgresql10-devel clang jemalloc jemalloc-devel libpqxx libpqxx-devel
-# RUN curl -sL https://github.com/jtv/libpqxx/archive/refs/tags/6.4.5.tar.gz -o libpqxx.tar.gz
-# RUN tar -xzf libpqxx.tar.gz && \
-#     pushd libpqxx-6.4.5/ && \
-#     mkdir build && pushd build/ && \
-#     cmake .. && \
-#     make install -j8 && \
-#     popd && popd
-
-
-# RUN git clone http://git.int.zerotier.com/zerotier/ZeroTierOne.git
-# RUN if [ "$git_branch" != "master" ]; then cd ZeroTierOne && git checkout -b $git_branch origin/$git_branch; fi
 ADD . /ZeroTierOne
 ADD . /ZeroTierOne
 RUN cd ZeroTierOne && make clean && make central-controller -j8
 RUN cd ZeroTierOne && make clean && make central-controller -j8
 
 
-FROM centos:8
-RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
-RUN dnf -qy module disable postgresql 
-RUN yum -y install epel-release && yum -y update && yum clean all
-RUN yum install -y jemalloc jemalloc-devel postgresql10 libpqxx
-
-# COPY --from=builder /usr/local/lib64/libpqxx.so /usr/local/lib64/libpqxx.so
-# COPY --from=builder /usr/local/lib64/libpqxx.a /usr/local/lib64/libpqxx.a
+FROM registry.zerotier.com/zerotier/controller-run:latest
 COPY --from=builder /ZeroTierOne/zerotier-one /usr/local/bin/zerotier-one
 COPY --from=builder /ZeroTierOne/zerotier-one /usr/local/bin/zerotier-one
 RUN chmod a+x /usr/local/bin/zerotier-one
 RUN chmod a+x /usr/local/bin/zerotier-one
 RUN echo "/usr/local/lib64" > /etc/ld.so.conf.d/usr-local-lib64.conf && ldconfig
 RUN echo "/usr/local/lib64" > /etc/ld.so.conf.d/usr-local-lib64.conf && ldconfig

+ 12 - 0
ext/central-controller-docker/Dockerfile.builder

@@ -0,0 +1,12 @@
+# Dockerfile for building ZeroTier Central Controllers
+FROM centos:8 as builder
+MAINTAINER Adam Ierymekno <[email protected]>, Grant Limberg <[email protected]>
+
+ARG git_branch=master
+
+RUN yum update -y
+RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
+RUN dnf -qy module disable postgresql
+RUN yum -y install epel-release && yum -y update && yum clean all
+RUN yum groupinstall -y "Development Tools" && yum clean all
+RUN yum install -y bash cmake postgresql10 postgresql10-devel clang jemalloc jemalloc-devel libpqxx libpqxx-devel && yum clean all

+ 5 - 0
ext/central-controller-docker/Dockerfile.run_base

@@ -0,0 +1,5 @@
+FROM centos:8
+RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
+RUN dnf -qy module disable postgresql 
+RUN yum -y install epel-release && yum -y update && yum clean all
+RUN yum install -y jemalloc jemalloc-devel postgresql10 libpqxx && yum clean all