aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile25
-rwxr-xr-xbuild.sh4
2 files changed, 16 insertions, 13 deletions
diff --git a/Dockerfile b/Dockerfile
index 4871b87..d060d33 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,18 +1,22 @@
-FROM centos:6.9
+FROM centos:7
# Declare build-time environment
# Miniconda
-ARG MC_VERSION=4.5.4
+ARG MC_BASE_PYTHON=py37
+ARG MC_VERSION=4.8.2
ARG MC_PLATFORM=Linux
ARG MC_ARCH=x86_64
-ARG MC_URL=https://repo.continuum.io/miniconda
+ARG MC_URL=https://repo.anaconda.com/miniconda
# Conda root
-ARG CONDA_VERSION=4.5.10
+ARG CONDA_VERSION=4.8.2
ARG CONDA_BUILD_VERSION
ARG CONDA_PACKAGES
+# Pipeline environment snapshot definition
+ARG SNAPSHOT_URL
+
# Declare environment
ENV OPT=/opt \
HOME=/home/developer
@@ -22,14 +26,15 @@ ENV PYTHONUNBUFFERED=1 \
MC_PLATFORM=${MC_PLATFORM} \
MC_ARCH=${MC_ARCH} \
MC_URL=${MC_URL} \
- MC_INSTALLER=Miniconda3-${MC_VERSION}-${MC_PLATFORM}-${MC_ARCH}.sh \
+ MC_INSTALLER=Miniconda3-${MC_BASE_PYTHON}_${MC_VERSION}-${MC_PLATFORM}-${MC_ARCH}.sh \
MC_PATH=${OPT}/conda \
CONDA_VERSION=${CONDA_VERSION} \
CONDA_BUILD_VERSION=${CONDA_BUILD_VERSION} \
CONDA_PACKAGES=${CONDA_PACKAGES}
# Toolchain
-RUN yum update -y && yum install -y \
+RUN yum update -y \
+ && yum install -y \
bzip2-devel \
curl \
gcc \
@@ -58,14 +63,12 @@ RUN groupadd developer \
# Install Miniconda
# Reset permissions
-RUN curl -q -O ${MC_URL}/${MC_INSTALLER} \
+RUN curl -q -OSs ${MC_URL}/${MC_INSTALLER} \
&& bash ${MC_INSTALLER} -b -p ${MC_PATH} \
&& rm -rf ${MC_INSTALLER} \
&& echo export PATH="${MC_PATH}/bin:\${PATH}" > /etc/profile.d/conda.sh \
&& chown -R developer: ${OPT} ${HOME}
-# Pipeline definition
-ARG PIPELINE_URL
# Configure Conda
ENV PATH "${MC_PATH}/bin:${PATH}"
@@ -77,10 +80,10 @@ RUN conda config --set auto_update_conda false \
&& conda config --set rollback_enabled false \
&& conda install --yes --quiet \
conda=${CONDA_VERSION} \
- conda-build=${CONDA_BUILD_VERSION} \
git \
${CONDA_PACKAGES} \
- && conda install --file "${PIPELINE_URL}"
+ && curl -L -Ss ${SNAPSHOT_URL} -o ${HOME}/SNAPSHOT.yml \
+ && conda env update -n base --file ${HOME}/SNAPSHOT.yml
WORKDIR ${HOME}
diff --git a/build.sh b/build.sh
index b9b6bd2..66788d9 100755
--- a/build.sh
+++ b/build.sh
@@ -8,10 +8,10 @@ fi
url="$2"
if [[ ! $url ]]; then
- echo "No spec file specified."
+ echo "No published snapshot URL specified."
exit 1
fi
docker build \
-t "astroconda/buildsys-pipeline:${tag}" \
- --build-arg PIPELINE_URL="${url}" $(pwd)
+ --build-arg SNAPSHOT_URL="${url}" $(pwd)