1

我创建了一个工作,在构建步骤中我给出了下面提到的 shell 脚本

# Shell script to monitor or watch the disk space
# It will send an email to $ADMIN, if the (free avilable) percentage 
# of space is >= 70% 
# -------------------------------------------------------------------------
# set admin email so that you can get email
# set alert level 70% is default

ALERT=70
EXCLUDE_LIST="/net|/home|devfs"
if [ "$EXCLUDE_LIST" != "" ] ; then
  df -H | grep -vE "^Filesystem|Users|${EXCLUDE_LIST}" | awk '{ print $5 " " $1 }' | while read output;
do
  #echo $output
  usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  )
  partition=$(echo $output | awk '{ print $2 }' )
  if [ $usep -ge $ALERT ]; then
    echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" > /Users/Shared/Jenkins/disk_space.txt
else
    echo "space \"$partition ($usep%)\" on $(hostname) as on $(date)" > /Users/Shared/Jenkins/space.txt
  fi
done
fi

执行此脚本后,如果条件满足,则需要在 jenkins 中触发电子邮件。否则作业应该运行但电子邮件不应该触发。

4

2 回答 2

1

看起来像是关于如何从 shell 脚本发送电子邮件的标准问题:查看以下链接。

发送电子邮件的 Shell 脚本

http://theos.in/shell-scripting/send-mail-bash-script/

http://www.cyberciti.biz/faq/linux-unix-bash-ksh-csh-sendingfiles-mail-attachments/

于 2013-10-11T17:41:00.970 回答
0

一种方法可能是使用 jenkins cli 在 if 循环中调用另一个 jenkins 作业。
您可以配置另一个作业,该作业将触发具有特定内容的邮件。并且该工作将在您的 if 循环的成功部分中触发

有关 jenkins CLI 的更多信息可以在此处
找到 可能这会有所帮助。

于 2013-10-10T13:26:48.167 回答