VSTS代理,Docker和Bash shell脚本陷阱SIGTERM

时间:2018-04-16 14:17:04

标签: bash shell docker azure-devops

我写了一个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:

https://github.com/microsoft/vsts-agent-docker/blob/a8df52909d7a085fecb836252791495dd401232e/ubuntu/16.04/standard/Dockerfile

0 个答案:

没有答案