我写了一个bash shell脚本来处理旋转VSTS代理并将其关闭。
VSTS代理有两个可以调用的脚本,./config.sh
可以使用VSTS配置选项创建代理,也可以remove
从VSTS清除代理。它还有./run.sh
,可以清楚地运行VSTS代理,以便开始接收作业。
我已经创建了这个简单的shell脚本来处理这个问题:
#!/bin/bash
function shutdown() {
./config.sh remove
}
trap shutdown SIGTERM SIGINT
cd ./vsts
./config.sh "$@"
./run.sh
我运行docker stop agent
然后docker logs {container_id}
,输出结果并未显示./config.sh remove
被调用。
SIGTERM是否会被转移到下面的脚本中,这是因为我没有处理终止./run.sh
?
有一个很好的例子说明如何使用vsts: