mycpen

Mycpen

记录学习历程与受益知识
github
telegram
bilibili

08_他の-GitHub Actions 定期実行スクリプト、バックアップまたは拍云クラウドストレージ

前書き#

GitHub Actions を使用して、Python FTP スクリプトを定期的に実行し、又拍云クラウドストレージと GitHub リポジトリ間のバックアップを実現します。

リポジトリの例:https://github.com/mycpen/image_bed/tree/main/.github

個人の例#

1. Workflow YML ファイルの追加#

以下の私の YML 例をコピーしてください。または、この記事に従って、希望のワークフローテンプレートを選択し、内容をカスタマイズしてください(Actions => New workflow = Choose a workflow)。

私のファイルパスは.github/workflows/python-app.ymlで、内容は以下の通りです:

パラメータの説明:

  • cron:ワークフローのスケジュールを定義します(遅延あり)。グリニッジ標準時(UTC)で、北京時間に換算するには 8 時間を加える必要があります。参考:Actions の cron 形式と設定Actions のタイムゾーンとキャッシュ問題の処理

  • UPYUNUSERNAME, UPYUNPASSWORD, GITHUBUSERNAME, GITHUBEMAILはカスタム Secrets 定数です。

    定数名説明
    UPYUNUSERNAME又拍云 FTP ユーザー名、形式「オペレーター名 / サービス名」、参考 又拍云ビデオチュートリアル又拍云ドキュメント
    UPYUNPASSWORD又拍云 FTP パスワード、参考同上
    GITHUBUSERNAMEGitHub アカウント、例:mycpen
    GITHUBEMAILGitHub アカウントにバインドされた主要メール
  • ftp.py:Python スクリプトで、FTP を使用してクラウドストレージとリポジトリのファイル内容を同期します。

  • git.sh:ローカルの変更をリモートにプッシュするスクリプトで、git add、git commit、git push などを含みます。

2. Secrets 定数の追加#

4 つの Secrets 定数、UPYUNUSERNAME、UPYUNPASSWORD、GITHUBUSERNAME、GITHUBEMAIL を追加します。具体的な意味は上記の通りです。

image-20230417094207479

3. Workflow に読み書き権限を付与#

参考:https://blog.csdn.net/jj89929665/article/details/129817011

image-20230417095659542

4. Python 同期スクリプトの新規作成#

スクリプトの内容は:Python による FTP のアップロードとダウンロード機能から取得しました。

スクリプトの最後の if 文で関連パスとパラメータが宣言されています。

私のスクリプトパスは.github/ftp.pyで、リポジトリの image / ディレクトリと又拍云クラウドストレージの /image/ ディレクトリを同期する役割を果たします。内容は以下の通りです:

5. git.sh での変更のプッシュ#

個人的な習慣として、push コマンドをファイルに書き込み、リポジトリのルートディレクトリに置いています。

参考記事#

  1. * GitHub Actions で python スクリプトがリポジトリの secrets を取得する
  2. * GitHub リポジトリを使用して定期タスクを作成し、定期的にサインインなどのサービスを実行する
  3. * Python による FTP のアップロードとダウンロード機能
  4. * GitHub Action を使用して完全自動デプロイを実現する
  5. * 又拍云:FTP、API を使用してファイルをアップロードする方法
  6. * 又拍云:ストレージサービスを作成し、FTP でアップロードする
  7. * Github/Gitlab Actions の cron 形式と設定方法
  8. * Github Actions で Python の定期タスクを実行する(タイムゾーンとキャッシュ問題の処理)
  9. * Github Actions を実行中に「unable to access ‘https://github.com/x/‘: The requested URL returned error: 403」が発生する
  10. * workflow_dispatch
  11. Github の Action を利用して定期タスクを行う
  12. Github+Action で自動的に定期的にプッシュする
  13. Github の Action サービスを基にした自動化パッケージデプロイ
  14. GITHUB ACTION に基づく定期タスク、真香!
  15. GitHub Actions でコードを定期的に実行する:毎日定期的に百度リンクをプッシュする
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。