【白嫖GitHub(一)】用github action实现自动天气邮件到发送
- 技术
- 2024-04-01
- 429热度
- 0评论
关于
GitHub Actions
GitHub Actions 是 GitHub 提供的一种自动化工作流程,可帮助您在 GitHub 存储库中自动化软件开发流程。通过 GitHub Actions,您可以定义各种事件触发的动作,比如提交代码、创建 Pull Request 或发布 Release,然后执行一系列自定义的任务,如运行测试、构建代码、部署到服务器等等。这使得开发团队可以更轻松地自动化和管理软件开发流程,提高生产力和代码质量。
GitHub Actions 可以看作是一个由 GitHub 提供的简易的 CI/CD 平台。它最大的优势在于与 GitHub 仓库无缝集成,使得配置和管理自动化工作流程变得非常方便。通过简单的配置文件,就可以定义各种任务和操作,以响应不同的事件,并自动执行这些任务。
我靠这不是相当于提供了一个自动化部署平台吗?疯狂心动直接
那怎么触发这个github actions完成白嫖呢,以下就使用一个简单的smtp邮件发送天气作为演示
#使用smtp库自动发送邮件
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 发送邮件服务器
smtp_server = 'smtp.163.com'
# 发送邮箱
from_addr = 'xxx@xx.xx
# 授权密码
password = 'xxxxxx'
# 接收邮箱
to_addr = 'xxxxxx'
# 邮件内容
msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addr)
msg['Subject'] = Header('hello')
# 连接发送邮件
server = smtplib.SMTP(smtp_server, 25)
server.login(from_addr, password)
server.sendmail(from_addr, to_addr, msg.as_string())
server.quit()
print('send email success')
在仓库下配置一个./.github/workflows/action.yml,即可配置githubAction,当然先提交源码再到githubactions使用UI添加也是可以的。
下面就来说说这个GitHub Actions 的配置文件吧,每一个步骤都有详细的解释:
name: Daily Main.py Execution # Workflow的名称
on:
push: # 当有push事件时触发workflow
branches:
- main # 仅在'main'分支上触发
workflow_dispatch: # 允许手动触发workflow
schedule: # 定时自动运行workflow
- cron: "0 0 * * *" # 每天UTC时间00:00或者UTC+8时间08:00运行
jobs:
run-main: # 定义名为'run-main'的job
runs-on: ubuntu-latest # 在最新版本的Ubuntu上运行job
steps:
- name: Checkout code # 步骤:检出代码仓库
uses: actions/checkout@v2 # 使用'actions/checkout' action
- name: Run main.py # 步骤:运行'main.py'文件
run: python main.py # 使用Python运行'main.py'文件
尾记:
这篇文章一开始只是为了试一试github action的操作,但是在使用的过程中逐渐发现一些问题,同时也因此不得不学习了一些新技术,遂决定将这个部分开成一个系列:【白嫖GitHub】系列,启动!<\del>