Continuous integration 我应该使用什么来控制CI构建失败指示灯?
我想在我们的办公室里设置一盏大灯,每当我们的Hudson Continuous Integration服务器报告构建失败时,它就会打开。我应该使用什么技术来实现这一点?Github使用了一个红绿灯和他们自己开发的CI Joe构建工具(而不是Hudson,但我认为过程相当类似)Continuous integration 我应该使用什么来控制CI构建失败指示灯?,continuous-integration,Continuous Integration,我想在我们的办公室里设置一盏大灯,每当我们的Hudson Continuous Integration服务器报告构建失败时,它就会打开。我应该使用什么技术来实现这一点?Github使用了一个红绿灯和他们自己开发的CI Joe构建工具(而不是Hudson,但我认为过程相当类似) 他们使用了一个黑寡妇Arduino并将代码开源以使其工作:Github使用了一个红绿灯和他们自己开发的CI Joe构建工具(而不是Hudson,但我认为过程相当类似) 他们使用了一个黑寡妇Arduino,并将代码开源以
他们使用了一个黑寡妇Arduino并将代码开源以使其工作:Github使用了一个红绿灯和他们自己开发的CI Joe构建工具(而不是Hudson,但我认为过程相当类似) 他们使用了一个黑寡妇Arduino,并将代码开源以使其正常工作:第1步)撕开你的旧Thinkpad,直到你可以使用键盘灯 第2步)找到一个合适的继电器,你们可以用它代替电灯(运行你们的大电灯) 步骤3)修改以下脚本以满足您的需要(或者让它从任何检查构建的地方按原样运行): (我可能从某个地方偷了那段代码,但那是很久以前的事了,现在我想不起来了)步骤1)撕开你的旧Thinkpad,直到你打开键盘灯 第2步)找到一个合适的继电器,你们可以用它代替电灯(运行你们的大电灯) 步骤3)修改以下脚本以满足您的需要(或者让它从任何检查构建的地方按原样运行): (我可能从某个地方偷了那个代码,但那是很久以前的事了,现在我想不起来了)
#!/usr/bin/ruby
light_filename = '/proc/acpi/ibm/light'
num_cycles = 1
# see if we have an argument telling how many times to flash
ARGV.each do |a|
if a =~ /-c=(\d+)/
num_cycles = $1.to_i
else
puts 'Unknown argument: ' + a
exit
end
end
# method that reverses the state
def reverse(state)
return 'on' if state.include? 'off'
return 'off'
end
# find starting state
state = 'off'
File.open(light_filename, 'r') do |inf|
state='on' if inf.gets.include? 'on'
end
# double the cycle num to get how many times we should flip
flips = num_cycles * 2
# do the cycles
flips.times do |i|
# reverse state
File.open(light_filename, 'w') do |out|
state = reverse(state)
out.write(state)
end
# wait 1/4 sec before looping again
sleep 0.250
end