前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用bat脚本部署hexo到coding和github

使用bat脚本部署hexo到coding和github

作者头像
易墨
发布2018-09-14 15:46:47
6760
发布2018-09-14 15:46:47
举报
文章被收录于专栏:一个爱瞎折腾的程序猿

因项目的不同适当的改造吧,本文以hexo为例。

拉取coding.net的代码和github的代码到本地

  1. 确保代码能够正常的运行,commit,push
  2. 在项目的目录外新建一个push.bat文件

快速预览

如何一步到位提交到仓库

脚本中的变量说明

  • artsPath 新增文章的目录
  • codingPath coding的目录
  • githubPath github的目录

复制文章然后自动执行命令进行部署

修改脚本中对应的路径后执行push

代码语言:javascript
复制
xcopy F:\CodingRepos\ymhexo\arts F:\CodingRepos\ymhexo\yimocoding\source\_posts /Y
cd F:\CodingRepos\ymhexo\yimocoding
call git pull
call hexo clean
call hexo d -g
call git add *
call git commit -m AddArticle
call git push

优化v1-加入变量并读取第一个参数为注释

查阅了果然cmd是有变量的,所以提前了路径到变量中,注释也可以传入了 使用push 修改文章,提交之后注释为update_修改文章,可省略参数

代码语言:javascript
复制
set artsPath=F:\CodingRepos\ymhexo\arts
set codingPath=F:\CodingRepos\ymhexo\yimocoding
set githubPath=F:\CodingRepos\ymhexo\yimogit.github.io

xcopy %artsPath% %codingPath%\source\_posts /Y
cd /d %codingPath%
call git pull
call hexo clean
call hexo d -g
call git add *
call git commit -m update_%1
call git push

优化v2-多个仓库的部署

复制粘贴是最简单的了,but~ 我感觉还能再优化下 定义变量,然后保存到字符串str中,通过赋值str后调整到for取下一个值实现一个路径的先入先出的T_T【笑哭】可以算作循环数组的方法了

代码语言:javascript
复制
@echo off
set artsPath=F:\CodingRepos\ymhexo\arts
REM coding的目录
set codingPath=F:\CodingRepos\ymhexo\yimocoding
REM github的目录
set githubPath=F:\CodingRepos\ymhexo\yimogit.github.io
REM 默认注释add_article,第一个参数为注释
set notes=%1 
if "%1"=="" set notes=add_article
REM 拼接coding和github的目录地址,路径中不能含有空格
set str="%codingPath% %githubPath%"

:STR_START
for /f "tokens=1,*" %%a in (%str%) do (
    REM 复制文章到此仓库
    xcopy %artsPath% %%a\source\_posts\ /Y
    REM 重定向到此仓库
    cd /d %%a
    REM 更新推送等操作
    call git pull
    call hexo clean
    call hexo d -g
    call git add *
    call git commit -m %notes%
    call git push
    REM 重新将新字符串赋值个str,并重新开时循环新的字符串
    set str="%%b"
    goto STR_START
)

过去过不去的都会过去

不愿干重复的事情~ 就是如此的懒~ 能一个脚本干完所有事简直完美~ 不知道有没有比这种方法更好的实现

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-05-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 拉取coding.net的代码和github的代码到本地
  • 如何一步到位提交到仓库
  • 复制文章然后自动执行命令进行部署
  • 优化v1-加入变量并读取第一个参数为注释
  • 优化v2-多个仓库的部署
  • 过去过不去的都会过去
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档