Skip to content

Add shell+autoscaler executor

Arran Walker requested to merge ajwalker/shell-autoscaler into main

What does this MR do?

Adds shell+autoscaler executor.

Why was this MR needed?

Testing/experimenting with autoscaling with taskscaler in a small iteration.

What's the best way to test this MR?

Plugins (https://gitlab.com/gitlab-org/fleeting/fleeting-plugin-googlecompute, https://gitlab.com/gitlab-org/fleeting/fleeting-plugin-aws) need to be manually compiled and placed in your $PATH for now:

With config:

concurrent = 15

[[runners]]
  name = "experimental-docker-autoscaler"
  url = "https://gitlab.com/"
  token = "<token>"
  executor = "shell+autoscaler"
  shell = "bash"

  [runners.autoscaler]
    capacity_per_instance = 1
    max_use_count = 1
    max_instances = 20
    plugin = "fleeting-plugin-googlecompute"

    [[runners.autoscaler.policy]]
      idle_count = 5

    [runners.autoscaler.instance_group_settings]
      username = "core"

    [runners.autoscaler.plugin_config]
      credentials_file = "<snip>/<snip>.json"
      project = "<snip>"
      zone = "europe-west4-b"
      name = "<snip>-asg"

What are the relevant issue numbers?

Closes #29307 (closed)

Edited by Arran Walker

Merge request reports