This repository was archived by the owner on Jul 30, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbuildkite.rb
More file actions
57 lines (46 loc) · 1.7 KB
/
buildkite.rb
File metadata and controls
57 lines (46 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
dep "buildkite-agent installed", :buildkite_token do
requires [
"buildkite-agent.bin",
"buildkite ssh key installed",
"buildkite token installed".with(buildkite_token: buildkite_token)
]
end
dep "buildkite-agent.bin", :version do
version.default!("3.0")
requires "buildkite apt key installed"
requires_when_unmet do
on :apt, "apt source".with(
uri: "https://apt.buildkite.com/buildkite-agent",
uri_matcher: "https://apt.buildkite.com/buildkite-agent",
release: "unstable",
repo: "main"
)
end
installs do
via :apt, "buildkite-agent"
end
after do
log_shell "Adding buildkite agent to docker group...", "usermod -aG docker buildkite-agent", sudo: true
log_shell "Enabling buildkite agent...", "systemctl enable buildkite-agent", sudo: true
log_shell "Starting buildkite agent...", "systemctl start buildkite-agent", sudo: true
end
provides "buildkite-agent >= #{version}"
end
dep "buildkite ssh key installed" do
met? { "/var/lib/buildkite-agent/.ssh/id_rsa.pub".p.exists? }
meet do
sudo %Q(mkdir -p ~/.ssh && cd ~/.ssh & ssh-keygen -t rsa -b 4096 -C "$(hostname)" -f ~/.ssh/id_rsa -N ""), as: "buildkite-agent", su: true
end
end
dep "buildkite apt key installed" do
met? do
shell("apt-key list").split("\n").collapse(/^pub.*\//).val_for("6452D198")
end
meet do
sudo %Q(apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 32A37959C2FA5C3C99EFBC32A79206696452D198)
end
end
dep "buildkite token installed", :buildkite_token do
met? { "/etc/buildkite-agent/buildkite-agent.cfg".p.grep(/#{buildkite_token}/) }
meet { sudo %Q(sed -i "s/xxx/#{buildkite_token}/g" /etc/buildkite-agent/buildkite-agent.cfg) }
end