我已经编写了一个bash脚本,它处理一些数据并放入一个文件中。我的意图是在该文件中包含内容的情况下发出松弛警报,如果没有,则不应发出警报。有办法吗?在大厅中
您应该利用Concourse社区的开源资源类型。有一个列表here。该页面上列出了一个备用资源,但是我在这里使用了一个资源(由于未由作者添加,因此未包含在上面的列表中)https://github.com/cloudfoundry-community/slack-notification-resource。
这将使您能够在工作计划中添加put
步骤来发送闲置资源。至于您最初询问的逻辑,您可以使用try
和on_success
。您的任务可能看起来像这样:
- try:
task: do-a-thing
config:
platform: linux
image_resource:
type: registry-image
source:
repository: YOUR_TASK_IMAGE
tag: latest
inputs:
- name: some-input
params:
FILE: some-file
run:
path: /bin/sh
args:
- -ec
- |
[ ! -z `cat some-input/${FILE}` ]
on_success:
put: slack
params:
<your slack resource put params go here>
on_success
部分将在任务的run
部分中定义的代码返回0的情况下运行。那里列出的脚本仅检查文件中是否有超过零个字节。因为任务包装在try
步骤中,所以无论任务是否成功(并因此向您发送消息),该步骤都将成功并移至计划的下一步。