Skip to content

@.各ファイルの役割

Geusen edited this page Sep 5, 2022 · 13 revisions

ディレクトリ

Schedule_Bot
├─ schedule.py  (プログラムが記述してある)
├─ settings.py  (環境変数関連)
├─ url.txt  (urlの文字列を保存)
│ 
└─ .github
    └─ workflows
        └─ Schedule.yml  (定期実行用ファイル)

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
Clone this wiki locally