forked from TreeMaker/TreeMaker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
90 lines (85 loc) · 4.04 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Stages ----------------------------------------------------------------------
stages:
- tar
- build
# Before Script ---------------------------------------------------------------
before_script:
- export DATE=$(date +"%Y-%m-%d")
# Job templates ---------------------------------------------------------------
.job_template_tar:
stage: tar
variables:
CVMFS_MOUNTS: "none"
tags:
- docker-privileged
image: docker:latest
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay2
NO_CACHE: "true"
CONTAINER_HOME: "/home/cmsusr/"
script:
- echo --------- OUTER CONTAINER -------------
- pwd
- ls -alh ./
- ls -alh ../
- docker system df -v
- docker info
- sleep 300
- echo --------- INNER CONTAINER -------------
- docker run --rm -i -e CVMFS_MOUNTS="none" -v ${PWD}/:${CONTAINER_HOME}/workdir/ ${BASE_IMAGE} -- -i -c "tar -czf ${CMSSW_VERSION}.tar.gz --exclude .git* ${CMSSW_VERSION} && mv ${CMSSW_VERSION}.tar.gz ${CONTAINER_HOME}/workdir/ && cd ${CONTAINER_HOME}/workdir/ && pwd && ls -alh ./ && cd ${CONTAINER_HOME}"
- echo --------- OUTER CONTAINER -------------
- pwd
- ls -alh ./
- ls -alh ../
- docker system df -v
artifacts:
when: on_success
name: "$CI_JOB_NAME-$CI_JOB_STAGE-$CI_COMMIT_REF_NAME"
paths:
- ./${CMSSW_VERSION}.tar.gz
expire_in: 1 day
.job_template_build:
stage: build
variables:
DOCKER_DRIVER: overlay2
NO_CACHE: "true"
CONTEXT_DIR: "./"
DOCKERFILE_DIR: ".docker/"
IMAGE_NAME: treemaker
tags:
- docker-privileged-xl
image:
name: gitlab-registry.cern.ch/ci-tools/docker-image-builder
entrypoint: [""]
script:
# Build and push the image from the Dockerfile at the root of the project.
# To push to a specific docker tag, amend the --destination parameter, e.g. --destination $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME
# See https://docs.gitlab.com/ee/ci/variables/predefined_variables.html#variables-reference for available variables
- echo "Pipeline source - $CI_PIPELINE_SOURCE"
- echo "Base image - $BASE_IMAGE"
- echo "Building the TreeMaker Docker image on ${DATE}"
- echo ${CI_PROJECT_DIR}/${CONTEXT_DIR}/
- ls -alh ${CI_PROJECT_DIR}/${CONTEXT_DIR}/
- echo "Logging into the registry ${CI_REGISTRY} and ${DOCKER_REGISTRY}"
- export DOCKER_AUTH="$(echo -n $DOCKER_USERNAME:$DOCKER_PASSWORD | base64)" # https://github.com/GoogleContainerTools/kaniko#pushing-to-docker-hub
- echo "{\"auths\":{\"${CI_REGISTRY}\":{\"username\":\"${CI_REGISTRY_USER}\",\"password\":\"${CI_REGISTRY_PASSWORD}\"}, \"${DOCKER_REGISTRY}\":{\"auth\":\"${DOCKER_AUTH}\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor --context ${CI_PROJECT_DIR}/${CONTEXT_DIR} --dockerfile ${CI_PROJECT_DIR}/${DOCKERFILE_DIR}/Dockerfile --destination "${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${BRANCH_NAME}-${SUFFIX}" --destination "${DOCKER_GROUP}/${IMAGE_NAME}:${BRANCH_NAME}-${SUFFIX}" --build-arg=BUILD_DATE="${DATE}" --build-arg=VERSION="${DATE}" --build-arg=VCS_URL="${CI_REPOSITORY_URL}" --build-arg=VCS_REF="${CI_COMMIT_SHORT_SHA}" --build-arg=BASEIMAGE="${BASE_IMAGE}" --build-arg=CMSSW_VERSION="${CMSSW_VERSION}"
# Jobs/Includes ---------------------------------------------------------------
tar_treemaker_Run2_UL:
extends: .job_template_tar
variables:
BASE_IMAGE: index.docker.io/treemaker/treemaker:Run2_UL-latest
CMSSW_VERSION: CMSSW_10_6_29_patch1
build_treemaker_Run2_UL-standalone:
extends: .job_template_build
dependencies:
- tar_treemaker_Run2_UL
variables:
BRANCH_NAME: Run2_UL
SUFFIX: standalone
BASE_IMAGE: gitlab-registry.cern.ch/treemaker/cmssw-docker/cmssw:CMSSW_10_6_29_patch1-2022-01-04-f15a56a0
CMSSW_VERSION: CMSSW_10_6_29_patch1
DOCKER_GROUP: treemaker
DOCKER_REGISTRY: https://index.docker.io/v1/