GitLab 14.5 is now available. 🚀 Learn what's new.

Commit 3cc1986a authored by Matthias Bernt's avatar Matthias Bernt
Browse files

Merge branch 'push-singularity-container' into 'master'

Add deploy and test stage to  CI/CD pipeline

See merge request !2
parents b0d44548 537d3446
Pipeline #70981 passed with stages
in 4 minutes and 2 seconds
image:
name: quay.io/singularity/singularity:v3.7.3
entrypoint: [""]
image:
name: quay.io/singularity/singularity:v3.7.3
entrypoint: [ "" ]
stages:
- build
- deploy
- test
# build the image
build:
stage: build
tags:
- docker
- docker
script:
- /bin/bash .gitlabci/build.sh Singularity
# step 1. build the container!
# You can add any other sregistry push commands here, and specify a client
# (and make sure your define the encrypted environment credentials in gitlab
# to push to your storage locations of choice
- mkdir -p build && cp *.sif build
- mkdir -p build && cp Singularity* build
- /bin/bash .gitlabci/build.sh Singularity
- mkdir -p build && cp *.sif build
- mkdir -p build && cp Singularity* build
# Step 2. Take a look at "artifacts" below and add the paths you want added
# You can also add the entire build folder. You can also upload to storage
......@@ -25,13 +26,27 @@ build:
#- /bin/bash build.sh --uri collection/container --cli google-storage Singularity
#- /bin/bash build.sh --uri collection/container --cli google-drive Singularity
#- /bin/bash build.sh --uri collection/container --cli globus Singularity
#- /bin/bash build.sh --uri collection/container --cli registry Singularity
#- /bin/bash build.sh --uri collection/container --cli registry Singularity
# This is where you can save job artifacts
# https://docs.gitlab.com/ee/user/project/pipelines/job_artifacts.html
# You can specify the path to containers or the build folder to save.
# Don't forget to save your recipes too!
artifacts:
paths:
- build/Singularity.sif
- build/Singularity
paths:
- build/Singularity.sif
- build/Singularity
# Push the image to container registry
deploy:
stage: deploy
tags:
- docker
script:
- singularity push --docker-username "${CI_REGISTRY_USER}" --docker-password "${CI_REGISTRY_PASSWORD}" build/Singularity.sif oras://"${CI_REGISTRY_IMAGE}"/"${CI_PROJECT_NAME}":"${CI_COMMIT_REF_SLUG}"
# Pull and run the image
test:
stage: test
tags:
- docker
script:
- mkdir test && cd test
- singularity pull --docker-username "${CI_REGISTRY_USER}" --docker-password "${CI_REGISTRY_PASSWORD}" Singularity.sif oras://"${CI_REGISTRY_IMAGE}"/"${CI_PROJECT_NAME}":"${CI_COMMIT_REF_SLUG}"
- ./Singularity.sif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment