サーバーにリクエストを送ってエラーが起こったら通知するというシェルスクリプトを作っています。
sh
1#!/bin/bash 2 3 4STATUS_CODE=`curl "https://www.hogehoge.com" -o /dev/null -w '%{http_code}\n' -s` 5 6# HTTPステータスが200じゃなかったら出力 7if [ $STATUS_CODE -ne 200 ]; then 8 echo "エラー" 9fi
このシェルスクリプトをGitHub Actionsで定期実行するようにしているのですが、これに加えてサーバーが復旧したら通知するという処理を加えたいです。
以下はイメージです。
sh
1#!/bin/bash 2 3STATUS_CODE=`curl "https://www.hogehoge.com" -o /dev/null -w '%{http_code}\n' -s` 4 5# これを外に持たせたい 6flag=false 7 8# 2回目以降に呼ばれてflagがtrueかつステータスコードが200であれば復旧と出力する 9if "${flag}"; then 10 if [ $STATUS_CODE -eq 200 ]; then 11 echo "復旧" 12 # flagを戻す 13 flag=false 14 fi 15fi 16 17# HTTPステータスが200じゃなかったら出力 18if [ $STATUS_CODE -ne 200 ]; then 19 echo "エラー" 20 # flagを立てる 21 flag=true 22fi
このflagをGitHub Actionsの環境変数等で持たせて更新できれば実現できるのでは?と思っているのですが、やり方があれば教えていただけますと幸いです。
こちらは参照されましたか?
参照されたとして、どこでつまづいていますか?
https://docs.github.com/ja/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
ありがとうございます。
環境変数への設定方法と環境変数を設定した後にその値をどのように更新したら良いかがわかりません。
設定方法につきましては教えていただいたものを参考にしまして
steps:
- name: Set flag
run: echo "flag=false" >> $GITHUB_ENV
といった感じで環境変数に設定できるのかなと思いました。
回答1件
あなたの回答
tips
プレビュー