-
Notifications
You must be signed in to change notification settings - Fork 0
@.各ファイルの役割
Geusen edited this page Sep 5, 2022
·
13 revisions
Schedule_Bot
├─ schedule.py (プログラムが記述してある)
├─ settings.py (環境変数関連)
├─ url.txt (urlの文字列を保存)
│
└─ .github
└─ workflows
└─ Schedule.yml (定期実行用ファイル)
name: GitHub_Actions(shedule) (この名前で定期実行)
on: (実行のタイミング設定)
workflow_dispatch: (手動実行)
schedule: (定期実行)
- cron: "*/10 0-12,21-23 * * *" (分 時 日 月 曜)
#6時〜21時、10分ごとに動作
env: #環境変数から文字列(パスワードなど)を取得
ACCESS_TOKEN: ${{secrets.ACCESS_TOKEN}}
ACCESS_TOKEN_SECRET: ${{secrets.ACCESS_TOKEN_SECRET}}
CONSUMER_KEY: ${{secrets.CONSUMER_KEY}}
CONSUMER_SECRET: ${{secrets.CONSUMER_SECRET}}
GOOGLE_URL: ${{secrets.GOOGLE_URL}}
LINE_NOTIFY: ${{secrets.LINE_NOTIFY}}
LINE_NOTIFY_27: ${{secrets.LINE_NOTIFY_27}}
LINE_NOTIFY_ADMIN: ${{secrets.LINE_NOTIFY_ADMIN}}
WEBHOOK: ${{secrets.WEBHOOK}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
jobs: (実行内容)
build: (実行環境の設定)
runs-on: ubuntu-latest (ubuntuで実行)
timeout-minutes: 5 (5分経過したら実行キャンセル)
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.6.15' (Pythonバージョン指定)
architecture: 'x64'
- run: |
python -m pip install --upgrade pip (モジュールのインポートに必要な機能のアップデート)
pip install get-chrome-driver --upgrade (ChromeDriverを取得)
pip install python-dotenv==0.19.2 (モジュール取得)
pip install selenium==3.141.0
pip install tweepy==4.6.0
pip install opencv-python==4.5.5.64
python -B schedule.py (Schedule.pyを実行、キャッシュファイルは作成しない)
- name: commit&push (url.txtを上書きした場合pushする)
run: |
git remote set-url origin https://github-actions:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}
git config --global user.name "${GITHUB_ACTOR}"
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
if (git diff --shortstat | grep '[0-9]'); then \
git add .; \
git commit -m "Updated image URL"; \
git push origin HEAD:${GITHUB_REF}; \
fi
- name: Keepalive Workflow (定期実行自動停止の阻止)
uses: gautamkrishnar/keepalive-workflow@1.0.7