使用以下配置创建了一个 gitlab runner:
concurrent = 1
check_interval = 0
[[runners]]
name = "AWS EC2 gitlab runner for docker+machine"
url = "xxx"
id = 12
token = "xxx"
token_obtained_at = 2023-03-03T12:51:47Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "docker+machine"
limit = 1
[runners.docker]
image = "alpine"
privileged = true
disable_cache = true
[runners.cache]
Type = "s3"
Shared = true
[runners.cache.s3]
ServerAddress = "s3.amazonaws.com"
AccessKey = "xxx"
SecretKey = "xxx"
BucketName = "xxx"
BucketLocation = "eu-central-1"
[runners.machine]
IdleCount = 2
IdleTime = 1800
MaxBuilds = 5
MachineDriver = "amazonec2"
MachineName = "gitlab-docker-machine-%s"
MachineOptions = [
"amazonec2-access-key=xxx",
"amazonec2-secret-key=xxx",
"amazonec2-region=us-east-1",
"amazonec2-vpc-id=vpc-0002c60ca6e606633",
"amazonec2-subnet-id=subnet-00aa337797dccfa6c",
"amazonec2-use-private-address=true",
"amazonec2-tags=runner-manager-name,gitlab-aws-autoscaler,gitlab,true,gitlab-runner-autoscale,true",
"amazonec2-security-group=default",
"amazonec2-instance-type=m4.large",
"amazonec2-request-spot-instance=true",
"amazonec2-spot-price=0.5",
"amazonec2-zone=e",
]
[[runners.machine.autoscaling]]
Periods = ["* * 9-17 * * mon-fri *"]
IdleCount = 50
IdleTime = 3600
Timezone = "UTC"
[[runners.machine.autoscaling]]
Periods = ["* * * * * sat,sun *"]
IdleCount = 5
IdleTime = 60
Timezone = "UTC"
遵循官方 gitlab 文档 - https://docs.gitlab.com/runner/configuration/runner_autoscale_aws.
机器确实出现在 AWS 控制台中。然而,这份工作永远不会被接受: 此作业尚未开始 这项工作处于待定状态,正在等待跑步者挑选
我试过玩弄配置。重新创建了整个 gilab runner。而且,甚至改变了 AWS 区域。
唯一一次完成工作是在我运行时:
sudo gitlab-runner --debug run
但是,即便如此,它也会永远挂在:
Preparing the "docker+machine" executor...