GitLab Runner Executor¶
It is possible to run GitLab jobs in isolated ephemeral Tart Virtual Machines via Tart Executor. Tart Executor utilizes custom executor feature of GitLab Runner.
Basic Configuration¶
Configuring Tart Executor for GitLab Runner is as simple as installing gitlab-tart-executor
binary from Homebrew:
And updating configuration of your self-hosted GitLab Runner to use gitlab-tart-executor
binary:
concurrent = 2
[[runners]]
# ...
executor = "custom"
builds_dir = "/Users/admin/builds" # directory inside the VM
cache_dir = "/Users/admin/cache"
[runners.feature_flags]
FF_RESOLVE_FULL_TLS_CHAIN = false
[runners.custom]
prepare_exec = "gitlab-tart-executor"
prepare_args = ["prepare"]
run_exec = "gitlab-tart-executor"
run_args = ["run"]
cleanup_exec = "gitlab-tart-executor"
cleanup_args = ["cleanup"]
Now you can use Tart Images in your .gitlab-ci.yml
:
# You can use any remote Tart Image.
# Tart Executor will pull it from the registry and use it for creating ephemeral VMs.
image: ghcr.io/cirruslabs/macos-sonoma-base:latest
test:
tags:
- tart-installed # in case you tagged runners with Tart Executor installed
script:
- uname -a
For more advanced configuration please refer to GitLab Tart Executor repository.