Skip to content is UTHPC center's maintained GitLab instance for primarily Institute of Computer Science use, but anyone with University of Tartu account can make use of it.

GitLab is a web-based DevOps lifecycle tool that provides a Git-repository manager that provides wiki, issue-tracking and continuous integration and deployment pipeline features.

Connecting and starting

GitLab is available from the Internet at with your UT credentials.

For logging in, use the ’LDAP’ method and your University of Tartu username and password.

After logging in, you can see the projects you have access to. You can also ’Explore Projects’ to see which ones are available for everyone.


Please keep in mind, that GitLab has three different ’Visibility Levels’ when making projects. The main one, ’Private’ means, that only you and people you give permissions have access to your projects. ’Internal’ means, that everyone that can access GitLab, can see your project, while ’Public’ means that even unauthenticated users can see repositories.

Problems and requests

If you notice problems or would like any more extensions or features, then please write to . Please provide the following details via the email:

  • Your username,
  • The project you were working on.


Here's some examples about how to utilize GitLab and it's CI/CD capabilities. You need to enable shared runners under ’Project SettingsCI/CD

Running CI/CD in Docker containers

Start the .gitlab-ci.yml file with the following:

  name: alpine

  - echo "Hello Pre-Script"

  - example

  stage: example
    - echo "Hello World"

Building a Docker container and pushing it into GitLab registry automatically

Inside the .gitlab-ci.yml file, append the following snippet into appropriate places:

  entrypoint: [""]

  - image-build
  - deploy-prod

  stage: image-build
    - master
    - mkdir -p /kaniko/.docker
    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --cache=true


How do use Continuous Integration/Continuous Deployment?

By default everyone can use an unprivileged Docker-in-Docker runner to run their pipelines.

See also