国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【版本控制】GitHub圖床服務(wù)Action---自動監(jiān)視圖床倉庫的目錄下的文件數(shù)

這篇具有很好參考價值的文章主要介紹了【版本控制】GitHub圖床服務(wù)Action---自動監(jiān)視圖床倉庫的目錄下的文件數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

最近突然想起年前圖床倉庫發(fā)生的一個遺留問題:由于我的網(wǎng)絡(luò)圖床服務(wù)是Github + Typora的形式,本地的圖片會自動轉(zhuǎn)義成網(wǎng)絡(luò)圖片并存儲在圖床倉庫下,一般我們會指定一個目錄進行圖片存儲,但是由于GitHub設(shè)定的單個目錄最大存儲文件數(shù)不能超過1000.

所以在注意到這件事的情況下GitHub的圖床倉庫就發(fā)生了問題:新加入的圖片文件由于沒有文件位,會自動代替舊的圖片文件,這就導(dǎo)致了部分文件的丟失,所以這里想寫一個GitHub倉庫的自動化Action,每天檢測倉庫下每個目錄下的文件個數(shù),超過999個文件自動給GitHub默認綁定的郵箱發(fā)送信息提醒。

具體流程

當每天自動檢測倉庫中每個目錄中的文件數(shù)量,并且如果超過999個文件時,自動向與GitHub賬戶關(guān)聯(lián)的默認郵箱發(fā)送消息。

1. 創(chuàng)建GitHub工作流文件

在GitHub倉庫中,轉(zhuǎn)到.github/workflows目錄并創(chuàng)建一個新文件,比如file_count.yml。該文件將定義運行自動化操作的工作流。

2. 定義工作流

file_count.yml文件中,添加以下代碼:

name: File Count Reminder

on:
  schedule:
    - cron: "0 0 * * *" # Runs every day at midnight UTC

jobs:
  count-files:
    runs-on: ubuntu-latest

    steps:
      - name: Check out code
        uses: actions/checkout@v2

      - name: Set up Python
        uses: actions/setup-python@v2
        with:
          python-version: '3.10' # Replace with the desired Python version

      - name: Count files and send email
        run: |
          pip install -r requirements.txt
          python send_email.py ${{ secrets.GITHUB_TOKEN }}

3. 創(chuàng)建requirements.txt文件

在GitHub倉庫中創(chuàng)建一個名為requirements.txt的文件,并將以下內(nèi)容添加到文件中:

smtplib

4. 創(chuàng)建send_email.py文件

在GitHub倉庫中創(chuàng)建一個名為send_email.py的文件,并將以下代碼添加到文件中:

import os
import smtplib
from email.mime.text import MIMEText
from email.header import Header

def count_files(directory):
    file_count = 0
    for root, dirs, files in os.walk(directory):
        file_count += len(files)
    return file_count

def send_email(github_token, recipient, file_count):
    smtp_server = 'smtp.gmail.com'
    smtp_port = 587

    subject = 'File Count Reminder'
    content = f'The repository has {file_count} files.'

    message = MIMEText(content, 'plain', 'utf-8')
    message['From'] = Header('GitHub Action')
    message['To'] = Header(recipient)
    message['Subject'] = Header(subject)

    try:
        server = smtplib.SMTP(smtp_server, smtp_port)
        server.starttls()
        server.login('githubaction@gmail.com', github_token)
        server.sendmail('githubaction@gmail.com', recipient, message.as_string())
        server.quit()
        print("Email reminder sent to", recipient)
    except Exception as e:
        print("Failed to send email:", str(e))

repository_path = '.'  # Replace with the path to your repository if needed
file_limit = 999

file_count = count_files(repository_path)
if file_count > file_limit:
    github_token = os.environ.get('INPUT_GITHUB_TOKEN')
    default_email = os.environ.get('GITHUB_ACTOR') + '@users.noreply.github.com'

    send_email(github_token, default_email, file_count)
else:
    print("The repository has", file_count, "files. No reminder needed.")

使用這些步驟,工作流將每天UTC時間午夜運行,計算倉庫中的文件數(shù)量,如果文件數(shù)量超過999,則會向與GitHub賬戶關(guān)聯(lián)的默認郵箱發(fā)送郵件提醒。文章來源地址http://www.zghlxwxcb.cn/news/detail-466318.html

到了這里,關(guān)于【版本控制】GitHub圖床服務(wù)Action---自動監(jiān)視圖床倉庫的目錄下的文件數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • github action初體驗實現(xiàn)maven項目自動ci test

    github action初體驗實現(xiàn)maven項目自動ci test

    這里是 weihubeats ,覺得文章不錯可以關(guān)注公眾號 小奏技術(shù) ,文章首發(fā)。拒絕營銷號,拒絕標題黨 GitHub Actions是GitHub提供的一種持續(xù)集成/持續(xù)交付(CI/CD)工具,它可以幫助開發(fā)者自動化軟件開發(fā)流程中的各種任務(wù),如構(gòu)建、測試、部署等。通過在代碼倉庫中配置和定義工作流

    2024年01月23日
    瀏覽(23)
  • 超簡單:github-action自動化發(fā)布npm包小記

    超簡單:github-action自動化發(fā)布npm包小記

    打開npm官網(wǎng),并注冊自己的npm賬號 1.登錄npm官網(wǎng),登錄成功后,點開右上角頭像,并點擊Access Tokens選項 2.點開Generate New Token下拉框,點擊Classic Token(和Granular Access Token有什么區(qū)別,請自行查驗?) 3.填寫token信息,選擇token類型為Automation(可以避免2FA校驗),保存申請的token信息

    2024年02月05日
    瀏覽(19)
  • github-action+docker實現(xiàn)項目可持續(xù)自動化部署

    github-action+docker實現(xiàn)項目可持續(xù)自動化部署

    這篇文章以部署vue3項目和nuxt2項目為例結(jié)合 github-action , docker , nginx 等介紹不同的項目自動部署流程 部署vue3項目 步驟: 1、騰訊云開啟鏡像倉庫 2、github配置secrets 3、項目根目錄創(chuàng)建dockerfile文件(在action工作流中創(chuàng)建鏡像) 4、github配置action工作流(yml文件) 上面步驟執(zhí)行結(jié)

    2024年04月26日
    瀏覽(21)
  • 【Github-Action】自動為PR添加修改文件類型的label

    【Github-Action】自動為PR添加修改文件類型的label

    如果你對github-action感興趣,還可以看這篇文章, 這篇文章教會你如何開發(fā)Github Action,并且讓你明白它是什么,怎么用,如何做到的。如何開發(fā)一個action pr-label自動添加工具,為您添加核心團隊提交的標志和修改的文件類型… 可以從的pr列表中一眼辨別哪些是核心團隊開發(fā)的

    2024年01月25日
    瀏覽(23)
  • vitepress項目使用github的action自動部署到github-pages中,理論上可以通用所有

    vitepress項目使用github的action自動部署到github-pages中,理論上可以通用所有

    .githubworkflowsdeploy.yml 完整的代碼:使用的是 pnpm 進行依賴安裝。 這段 YAML 文件定義了一個 GitHub Actions 工作流,用于在推送到 docs 分支時構(gòu)建和部署 VitePress 項目。 on : 定義觸發(fā)工作流的事件,這里是在推送到 docs 分支時觸發(fā)。 jobs : 定義工作流中的任務(wù)。 build-and-deploy : 任務(wù)

    2024年01月17日
    瀏覽(32)
  • github私有倉庫開發(fā),公開倉庫發(fā)布版本

    github私有倉庫開發(fā),公開倉庫發(fā)布版本

    github私有倉庫開發(fā),公開倉庫發(fā)布版本,既可以保護源代碼,又可以發(fā)布版本給用戶使用。許多知名軟件項目都采用了這樣的開發(fā)模式。 總體思路是開發(fā)和發(fā)布分離。 官方文檔: https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases 中文:https://docs.github.com/zh/reposit

    2024年02月04日
    瀏覽(33)
  • Git (版本控制,git安裝和配置,git代碼托管服務(wù),git操作本地遠程倉庫,分支,idea整合git)【看這一片就夠】

    Git (版本控制,git安裝和配置,git代碼托管服務(wù),git操作本地遠程倉庫,分支,idea整合git)【看這一片就夠】

    目錄 一、版本控制介紹 1. 版本控制介紹 2. 版本控制工具 3. git簡介 二、git安裝與配置 1. 下載git 2. 安裝git 2. 配置git 三、git代碼托管服務(wù) 1. 常見的git代碼托管服務(wù) 2. 注冊碼云帳號【這里介紹一種的用法,其它也是一樣的操作】 3. 創(chuàng)建遠程倉庫 四、git命令-操作本地倉庫 1. 獲

    2024年04月14日
    瀏覽(30)
  • Github拉取老版本或releases穩(wěn)定版本的倉庫

    方法一:clone 隨便進入一個倉庫,查看分支信息 針對要拉取的分支版本,輸入下面的指令: 以dev為例: 進入到這個 doctest 目錄里面,發(fā)現(xiàn)我們已經(jīng)處于 dev 分支下了,說明已經(jīng)把該分支拉下來了 方法二:checkout 針對在本地已有遠程倉庫的項目,想要切換到其它分支,可以使

    2024年02月09日
    瀏覽(15)
  • 獲取 github 倉庫最新版本號和版本號列表的 API

    github 倉庫,獲取指定項目的最新版本號和所有版本號列表的兩個API如下: 獲取最新發(fā)布的一個的版本信息 以 fatedier/frp 項目為例,對應(yīng)的 API 地址為 https://api.github.com/repos/fatedier/frp/releases/latest 所有版本信息 以 fatedier/frp 項目為例,對應(yīng)的 API 地址為 https://api.github.com/repos/f

    2024年02月13日
    瀏覽(22)
  • 自動拉取 GitHub 倉庫更新的腳本

    更好的閱讀體驗 huge{color{red}{更好的閱讀體驗}} 更好的閱讀體驗 由于將 HAUE-CS-WIKI 部署到了我自己的服務(wù)器上作為國內(nèi)鏡像站,每次在源站更新后都需要手動拉取鏡像站的更新實在是太麻煩了,因此產(chǎn)生了編寫該腳本的需求( 讀者可根據(jù)該腳本思路編寫屬于你自己的定時任

    2024年02月12日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包