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

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

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

快速预览

如何一步到位提交到仓库

脚本中的变量说明

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

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

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

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_修改文章,可省略参数

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【笑哭】可以算作循环数组的方法了


@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
)

过去过不去的都会过去

不愿干重复的事情~

就是如此的懒~

能一个脚本干完所有事简直完美~

不知道有没有比这种方法更好的实现

使用bat脚本部署hexo到coding和github的更多相关文章

  1. 使用Travis CI自动部署Hexo博客

    自从使用GitHub Pages和Hexo来发布博客之后,不得不说方便了许多,只需要几个简单的命令博客就发布了.但在不断的使用中发现每次的发布操作也挺耗时的. 我一般的操作是将平时整理好的md文件放到 ...

  2. Hexo部署到Gitee/Coding常见的错误

    全网最全小白搭建Hexo+Gitee/Coding 全网最全小白搭建Hexo+Gitee/Coding 本站内容已全部转移到https://www.myyuns.ltd,具体请移步到www.myyun ...

  3. github travis-ci持续部署hexo博客

    引言 目前我的博客源码是在coding上的,因为有很方便的持续部署,但是coding目前还不提供push文件的开放API. 因为最近做了一个一键分发平台,将博客分发到简书.CSDN等等的平台,但是我的 ...

  4. 使用Travis CI自动部署Hexo到GitHub

    原文链接(转载请注明出处):使用Travis CI自动部署Hexo到GitHub 前言 使用 hexo + gitPages 搭建个人博客的人都知道,每当要发表一篇博文,第一步得手动使用 hexo g ...

  5. 服务器A制定计划任务,BAT脚本自动备份oracle数据文件,拷贝至服务器B的共享目录。

    运行环境:windows server 2008 R2 目的:在数据库服务器A进行数据库自动备份,并且保留5天. 为了安全,需要在web应用服务器B进行数据库的冗余备份,建立双保险.(保留15天) A ...

  6. 使用bat脚本调用py文件直接获取应用的包名和targetversion

    背景: 在上一篇已经介绍过如何利用python调用aapt获取包名 https://www.cnblogs.com/reseelei-despair/p/11078750.html 但是因为每次都要修 ...

  7. Bat脚本备份sqlserver 表结构、存储过程、函数、指定表数据

    Bat脚本备份sqlserver 表结构.存储过程.指定表数据: @echo off cd /d %~dp0 ::备份表结构.存储过程和部分配置表的数据 set LogFile=report.log ...

  8. 基于bat脚本的前端发布流程设计与实现

    写在前面 本文大致向读者介绍了楼下几点知识,希望在编写bat脚本时候能够帮到读者,如果能够有所启迪,那就更好了. bat脚本的相关知识和案例编写 用windows自带的命令压缩文件 windows和l ...

  9. 基于bat脚本的前端发布流程的优化

    背景介绍 前面在基于bat脚本的前端发布流程设计与实现中,我已经介绍了设计与实现,这一篇主要是针对其的一个优化折腾(分两步走,第一步先搞出来,第二步再想着怎么去优化它),我主要做了以下几件事. &qu ...

随机推荐

  1. java 调用存储过程

    1.java 中调用pl/sql 中的存储过程 call 存储过程的名称(参数名称,参数名称)  在service 层中调用  存储过程  String  sql=" call  proc_ ...

  2. 设计模式之装饰者模式-java实例

    设计模式之装饰者模式 需求场景 我们有了别人提供的产品,但是别人提供的产品对我们来说还不够完善,我们需要对这个产品的功能进行补强,此时可以考虑使用装饰者模式. 我们已经有了产品,而且这个产品的功能非常 ...

  3. 使用gcc命令编译多个文件

    使用g++命令直接一次性编译多个文件 这里以简单的HelloWorld程序为例,假设我们一共有三个文件:main.cpp,HelloWorld.cpp和HelloWorld.h. 其中HelloWor ...

  4. Docker 镜像使用

    当运行容器是,使用的镜像如果在本地中不存在,docker就会自动从docker镜像仓库中下载,默认是从Docker Hub 公共镜像源下载. 下面我们来学习: 1.管理和使用本地Docker主机镜像 ...

  5. 2018-2019-2 《网络对抗技术》 EXP0 KALI安装 20165213 Week1

    kali安装过程 一.从官网下载kail 下载地址为:https://www.kali.org/downloads/ 选择下图中的kali下载 二.用VMware打开虚拟机 打开VMware,点击打开 ...

  6. 博客三--tensorflow的队列及线程基本操作

    连接我的开源中国账号:https://my.oschina.net/u/3770644/blog/3036960查询

  7. N2N windows下编译安装文件

    n2n安装 n2n原理编译版下载,可直接使用:windows下vpn客户端 n2n_v2_linux_x64 n2n_v2_Win32TAP网卡驱动 #linux环境编译yum install -y ...

  8. AX_ClassTemplate

    static void main(Args args) { THK_InterfaceDataExtract THK_InterfaceDataExtract; FormRun formRun = a ...

  9. lnmp 搭建 svn服务

    服务器环境 lnmp  环境搭建地址:https://lnmp.org/install.html 注意事项  服务器必须开放3690端口 安装过程 1.yum install subversion(安 ...

  10. 常用API2 正则表达式

    正则表达式 正则表达式的概念 正则表达式(Regular Expression ,在代码中常简写为regex) 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规 ...