...
 
Commits (8)
image: docker:latest
variables:
BASE_REPOSITORY: 'igwn/base'
stages:
- docker
- rebuild
docker:build:
stage: docker
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build --no-cache --pull -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
- docker logout $CI_REGISTRY
- |
# push to docker hub
if [[ $CI_PROJECT_NAMESPACE == 'docker' ]]; then
docker login -u $DOCKER_HUB_USER -p $DOCKER_HUB_TOKEN
docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME $BASE_REPOSITORY:$CI_COMMIT_REF_NAME
docker push $BASE_REPOSITORY:$CI_COMMIT_REF_NAME
docker logout
fi
#
# trigger rebuilds of downstream containers
#
# lalsuite-dev
rebuild:lalsuite-dev:
stage: rebuild
only:
- branches@docker/base
trigger:
project: docker/lalsuite-dev
branch: stretch-proposed
# software
rebuild:software:
stage: rebuild
only:
- branches@docker/base
trigger:
project: docker/software
branch: stretch-proposed
FROM debian:stretch
LABEL name="LIGO Base - Debian Stretch - Proposed" \
maintainer="Adam Mercer <adam.mercer@ligo.org>" \
support="Reference Platform"
# ensure non-interactive debian installation
ENV DEBIAN_FRONTEND noninteractive
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
# install available updates
RUN apt-get update && apt-get --assume-yes upgrade
# support https repositories
RUN apt-get --assume-yes install \
apt-transport-https \
apt-utils \
bash-completion \
curl \
lsb-release \
wget
# add main CVMFS repository
RUN wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb && \
dpkg -i cvmfs-release-latest_all.deb && \
rm -f cvmfs-release-latest_all.deb
# add CVMFS contrib repository (OSG config and X509 helper)
RUN wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-contrib-release/cvmfs-contrib-release-latest_all.deb && \
dpkg -i cvmfs-contrib-release-latest_all.deb && \
rm -f cvmfs-contrib-release-latest_all.deb
# add git-lfs repo
RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
# add HTCondor repo
RUN wget -qO - https://research.cs.wisc.edu/htcondor/debian/HTCondor-Release.gpg.key | apt-key add - && \
echo "deb http://research.cs.wisc.edu/htcondor/debian/8.8/stretch stretch contrib" > /etc/apt/sources.list.d/htcondor.list
# Add other repos
RUN wget http://software.ligo.org/lscsoft/debian/pool/contrib/l/lscsoft-archive-keyring/lscsoft-archive-keyring_2016.06.20-2_all.deb && \
dpkg -i lscsoft-archive-keyring_2016.06.20-2_all.deb && \
rm -f lscsoft-archive-keyring_2016.06.20-2_all.deb && \
echo "deb http://software.ligo.org/gridtools/debian stretch main" > /etc/apt/sources.list.d/gridtools.list && \
echo "deb http://software.ligo.org/lscsoft/debian stretch contrib" > /etc/apt/sources.list.d/lscsoft.list && \
echo "deb http://software.ligo.org/lscsoft/debian stretch-proposed contrib" > /etc/apt/sources.list.d/lscsoft-proposed.list
RUN apt-get clean
This diff is collapsed.
# ligo/base
This is a base container from which other LIGO containers should be derived. It
does no more than install the repositories which contain LIGO software. It
should not be used as a build environment.