GitHub Actions自动化部署+定时百度链接推送

这篇具有很好参考价值的文章主要介绍了GitHub Actions自动化部署+定时百度链接推送。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


# 前言 最近用VuePress搭建了一个静态网站,由于是纯静态的东西,每次修改完文章都要重新打包上传很是麻烦。虽然vuepress-theme-vdoing主题作者提供了GitHub Actions自动化部署的教程文章,但是过于简陋且是19年发布的。。 # 1. 创建一个GitHub仓库(私有仓库也可以) GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化 # 2. 设置服务器地址和 SSH 私钥 **服务器地址获取:** 这个不用说了。 **SSH私钥:** 自己到服务器服务商控制台获取。比如我是阿里云的轻量服务器 GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

在GitHub中设置服务器地址和SSH私钥变量:

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化
GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化
GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

3. 创建自动化部署必须文件

3.1 创建目录文件

  1. 在项目根目录创建一个目录:.github
  2. .github 目录创建 workflows 目录
  3. workflows 目录创建一个yml文件,名字可以随意。我这里叫 ci.yml

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

3.2 ci.yml配置(超详细每行都有注释)

# 工作流名称,可以根据你的需求进行命名
name: CI
# 这个部分定义了触发工作流程的事件,即在什么情况下工作流程会被触发。在这里,工作流会在master分支有push事件时被触发。
on:
  push:
    branches:
      - master
# 这是工作流程的主要部分,包含了一个或多个工作(jobs),每个工作都是一系列步骤的组合。
jobs:
  build:
    # 指定工作在哪种虚拟机环境中运行,这里是在ubuntu-latest(最新版本的Ubuntu)中运行。(注意:这里指的是GitHub托管的虚拟机,与你实际服务器没有直接关系)
    runs-on: ubuntu-latest
    # 这部分允许你定义一些矩阵策略,以在不同的条件下运行不同的步骤。在这里,使用了一个node-version矩阵,具体的版本是18.x。
    strategy:
      matrix:
      	# 一定要注意!这里一定要是自己项目所使用的node版本,否则在自动打包时会出错。
        node-version: [ 18.x ]
    # 这是工作的实际步骤。
    steps:
      # 步骤1 这是步骤的名称,表示将检出(克隆)代码库。
      - name: Checkout # 步骤1
        # 使用的动作。这里使用了actions/checkout@v1,这是一个官方的GitHub Actions动作,用于检出代码库中的代码。官方actions库:https://github.com/actions
        uses: actions/checkout@v1
      # 步骤2 这是步骤的名称,表示使用特定的Node.js版本。
      - name: Use Node.js ${{ matrix.node-version }}
        # 使用的动作。这里使用了actions/setup-node@v1,用于安装指定版本的Node.js。
        uses: actions/setup-node@v1 # 作用:安装nodejs
        # 这里是动作的输入参数,指定了要安装的Node.js版本,来自于上面定义的矩阵。
        with:
          node-version: ${{ matrix.node-version }} # 版本
      # 步骤3 安装依赖
      - name: npm install
        run: npm install
      # 步骤4 打包
      - name: build
        run: npm run build
      # 步骤5 部署
      - name: deploy
        # 使用动作:wlixcc/SFTP-Deploy-Action@v1.0
        uses: wlixcc/SFTP-Deploy-Action@v1.0
        with:
          # 这里是动作的输入参数,指定了要部署的服务器信息。
          username: 'root' #ssh user name
          # 服务器地址,我们在项目的secrets中配置的SERVER_HOST
          server: ${{ secrets.SERVER_HOST }}
          # 服务器私钥,我们在项目的secrets中配置的PRIVATE_KEY
          ssh_private_key: ${{ secrets.PRIVATE_KEY }}
          # 项目打包后的文件路径(根据你们实际的打包路径进行修改)
          local_path: './docs/.vuepress/dist/*'
          # 服务器上的项目路径(根据你们实际的项目路径进行修改)
          remote_path: '/xxx/xxx/xxx'
      # 步骤6 清理打包文件(根据你们实际的打包路径进行修改)
      - name: clean
        run: rm -rf ./docs/.vuepress/dist

3.3 提交新增的文件到GitHub仓库

我用的WebStorm提交的,也可以直接命令提交。
GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

提交后刷新一下就能看到了:

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

4. 测试自动化部署

前期的配置流程已经结束了,现在测试一下更新代码提交到仓库主分支,看会不会触发。

我随便修改了一些代码。然后提交:

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

ok,已经触发了。

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化
GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

点击左侧侧边栏jobs 中的具体任务,可查看具体日志:

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

展开可查看每一个步骤的具体日志:

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

任务完成没有出错,会变成绿色对号图标:

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

查看服务器是否已经有了:

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化
这样就ok了!!

5. 定时百度链接推送

.github/workflows 目录中创建一个针对百度推送的yml,我这里取名 baiduPush.yml

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

在项目根目录创建baiduPush.sh

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

yml配置:

## 利用GitHub Actions每天定时给百度推送链接,提高收录率 ##
name: baiduPush
# 两种触发方式:一、push代码,二、每天国际标准时间23点(北京时间+8即早上7点)运行
on:
  push:
  schedule:
    # 每天国际标准时间23点(北京时间+8即早上7点)运行
    - cron: '0 23 * * *' # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#scheduled-events-schedule
# on:
#   schedule:
#     - cron: '*/5 * * * *' # 每5分钟一次,测试用

jobs:
  bot:
    runs-on: ubuntu-latest # 运行环境为最新版的Ubuntu
    steps:
      - name: 'Checkout codes' # 步骤一,获取仓库代码
        uses: actions/checkout@v1
      - name: 'Run baiduPush' # 步骤二,执行sh命令文件
        run: npm install && npm run baiduPush # 运行目录是仓库根目录

baiduPush.sh脚本内容:

#!/usr/bin/env sh

# 确保脚本抛出遇到的错误
set -e

# 百度链接推送
curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=ytxy.xyz&token=Oo5Ue3daxKJxkPid"

rm -rf urls.txt # 删除文件

最后提交代码到GitHub仓库即可

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

测试推送成功:

GitHub Actions自动化部署+定时百度链接推送,前端,Git,其他,github,自动化

6. 注意

在自动化部署前或者部署后,你需要自己配置一下Nginx,才能让网站正常访问!
在自动化部署前或者部署后,你需要自己配置一下Nginx,才能让网站正常访问!
这里的自动化部署只是将打包后的文件上传到你服务器中的某个文件夹内。你需要自行配置访问。

Nginx或者其他方式配置,都请自行百度,这个太简单了,不再这里说了!!!文章来源地址https://www.toymoban.com/news/detail-660215.html

到了这里,关于GitHub Actions自动化部署+定时百度链接推送的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Github 自动化部署

    官方地址 点击进入 注册/登录 .githubworkflows 固定不变 develop.yml 文件名自定义 变量解释 secrets 是定义在github中的变量 通过 secerts.变量名 来取值 steps steps 是github action的 create_release 是上一个步骤的 id outputs.upload_url 是上一个步骤的返回结果 仓库地址:https://github.com/yi-

    2024年02月03日
    浏览(50)
  • Github 自动化部署到GitHub Pages

    前言 github仓库示例: automated-deployment 1.准备工作 新建仓库 新建项目 配置 vite.config.ts 部署应用包时的基本URL,例:vue-cli 5.x 配置 publicPath 推送到远程仓库 2.配置 GitHub Token 点击 Settings - Actions - General 找到 Workflow permissions,选中第一项并保存 工作流默认是没有推送代码的权限,

    2024年02月05日
    浏览(71)
  • github-action+docker实现项目可持续自动化部署

    这篇文章以部署vue3项目和nuxt2项目为例结合 github-action , docker , nginx 等介绍不同的项目自动部署流程 部署vue3项目 步骤: 1、腾讯云开启镜像仓库 2、github配置secrets 3、项目根目录创建dockerfile文件(在action工作流中创建镜像) 4、github配置action工作流(yml文件) 上面步骤执行结

    2024年04月26日
    浏览(43)
  • github-webhook+docker实现项目可持续自动化部署

    使用nginx+pm2+github-webhook+docker实现项目自动部署 注:docker也能实现pm2的守护进程功能(持续启动项目),所以使用了docker就不需要使用pm2了 但是需要注意的是使用node启动的webhook服务器不能使用docker,因为在webhook内部的sh脚本执行时需要到服务器的前后端项目文件中去执行,

    2024年04月12日
    浏览(65)
  • 通过 Github workflows CI/CD 自动化部署 Github Pages hugo 免费博客

    文章博客地址:https://blog.taoluyuan.com/posts/github-workflows/ GitHub Actions 介绍 GitHub 文档:https://docs.github.com/zh/actions/learn-github-actions/understanding-github-actions 官方介绍: GitHub Actions 是一种持续集成和持续交付 (CI/CD) 平台,可用于自动执行生成、测试和部署管道。 您可以创建工作流程来

    2024年02月07日
    浏览(57)
  • 使用 Github Actions 工作流自动部署 Github Pages

    actions顾名思义就是一堆动作,是一个持续集成服务,持续集成包含了拉代码、运行测试、编译代码、登录远程服务器,发布到第三方服务等等的操作,GitHub将这些操作称为actions。 概念:Workflows, Events, Jobs, Actions, Runners Workflows 工作流 一个 Workflow 由多个 Jobs 组成 Events 定义哪

    2024年02月07日
    浏览(72)
  • 04.使用 github actions+docker 自动部署前后端分离项目 zhontai (.net core+vue)

    Github Actions是什么?是 GitHub 提供的一种持续集成/持续部署(CI/CD)工作流程自动化服务,助力项目的自动化构建、测试和部署。 依托于平台,本文将分享使用 GitHub Actions 完成对一个.Net Core+Vue 的前后端分离项目 zhontai 的构建,并使用 docker 部署到云服务器(阿里云) 经过一番尝

    2024年02月11日
    浏览(61)
  • Selenium自动化测试,实现百度搜索

    目录 一.安装selenium第三方库 二.安装浏览器驱动 三.配置驱动器环境变量  1.项目环境变量 2.系统环境变量配置 四.项目实战 五.完整代码   使用pip安装第三方库selenium,直接使用pip安装第三方库,速度会比较慢,可以使用国内的源下载安装。这样速度会比较快。 pip install selen

    2024年02月06日
    浏览(36)
  • Java定时任务、自动化任务调度

    Java提供了多种方式来实现定时任务,使得开发人员能够在指定的时间间隔或固定时间点执行特定的任务。本文将介绍Java中实现定时任务的几种常用方法,并探讨它们的优势和适用场景。 Java中的Timer类是最早引入的定时任务工具,它可以用于执行一次性或重复性的定时任务。

    2024年02月16日
    浏览(52)
  • Django+Celery框架自动化定时任务开发

    本章介绍使用DjCelery即Django+Celery框架开发定时任务功能,在Autotestplat平台上实现单一接口自动化测试脚本、业务场景接口自动化测试脚本、App自动化测试脚本、Web自动化测试脚本等任务的定时执行、调度、管理等,从而取代Jenkins上的定时执行脚本和发送邮件等功能。** 自动化

    2024年04月15日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包