Skip to content

gitlab.cs.ut.ee

gitlab.cs.ut.ee 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 gitlab.cs.ut.ee 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.

Important

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 support@hpc.ut.ee . Please provide the following details via the email:

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

Examples

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:

image:
  name: alpine

before_script:
  - echo "Hello Pre-Script"

stages:
  - example

example:
  stage: example
  script:
    - 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:

image:
  name: gcr.io/kaniko-project/executor:debug
  entrypoint: [""]

stages:
  - image-build
  - deploy-prod

image-build:
  stage: image-build
  only:
    - master
  script:
    - 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

FAQ

How do use Continuous Integration/Continuous Deployment?

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

See also