1

私はジョブを作成し、ビルドステップで以下のシェルスクリプトを指定しました

# 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

このスクリプトが実行された後、条件が満たされた場合、ジェンキンスで電子メールをトリガーする必要があります。それ以外の場合、ジョブは実行されますが、電子メールはトリガーされません。

4

2 に答える 2

1

シェル スクリプトから電子メールを送信する方法に関する標準的な質問のように見えます。次のリンクをご覧ください。

メールを送信するシェルスクリプト

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

1 つの方法は、jenkins cli を使用して、if ループ内で別の jenkins ジョブを呼び出すことです。
特定のコンテンツを含むメールをトリガーする別のジョブを構成することができます。そして、そのジョブは、if ループの成功部分内でトリガー

されます。jenkins CLI の詳細については、こちら
を参照してください 。

于 2013-10-10T13:26:48.167 に答える