程序小牛

来了就随便看看,虽然没有什么好看的~~

编写脚本一键部署发布博文 (一)

事情起因是每次修改了博文都要执行 hexo clean hexo g hexo d一套来清除,重新编译,部署完成一套操作,这对于追求极客效率的开发来说必是要想办法优化的,怎么做编写一个一键部署的脚本呢,考虑到之前还没怎么编写过bat批处理脚本,本次借着时间来尝试一下

一、目标

1、执行脚本可以确认执行或者关掉窗口不执行,确认执行将依次执行hexo cleanhexo g指令

2、弹出指示询问是否部署到Github上,输入yes将部署,输入no,提示自己选择了不部署,然后关闭窗口即可

3、在任意界面能够执行脚本,这个之前分享的技巧可以结合,具体请移步通过指令快速打开软件

二、具体实现

1、实现一

  1. 先是编写确认,主要是pause指令,作用是会在dos窗口显示 请按任意键继续. . . 如果想反悔不执行了直接关闭dos窗口即可
1
2
3
4
5
6
7
8
9
10
11
@echo off
cls
echo **********************************************
echo.
echo 一 键 布 署 发 布
echo.
echo 安装请按任意键,退出直接关闭窗口
echo.
echo **********************************************
echo.
pause
  1. 依次执行hexo cleanhexo g指令,注意使用到了call指令,放在了hexo指令的前面,主要作用是执行完指令后任然返回到当前窗口,可以继续执行下面指令,不然一些指令本身带退出指令,就会造成下面指令无法执行。具体作用还请各位各自查询之~~~
1
2
3
4
5
6
7
8
9
10
:step1
cd /d d:\blog
echo Please wait
call hexo clean
echo clean finished...

:step2
call hexo g
cls
echo generate finished...
  1. 询问是否部署到GitHub,这里主要是做了一个输入判断
1
2
3
4
5
6
7
8
9
10
11
12
:step3
set /p o=要部署到GitHub上吗? (YES NO):
if /i "%o%"=="yes" goto yes
if /i "%o%"=="no" goto no
goto step3
:yes
call hexo d
echo deploy to GitHub finished...
pause
:no
echo 你选择了不部署!
pause

3、实现三

根据我们之前的技巧,只需要将我们编写的脚本放到加入环境变量的文件夹中即可

image-20211113083252420

然后快捷键WIn+R调出运行框,输入hexocgd.bat确定即可

image-20211113083548405

三、实现效果

image-20211113084544330

选择no,不部署

image-20211113092540550

选择yes,部署

image-20211113092614842

四、脚本获取

hexocdg.bat脚本获取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@echo off
cls
echo **********************************************
echo.
echo 一 键 布 署 发 布
echo.
echo 安装请按任意键,退出直接关闭窗口
echo.
echo **********************************************
echo.
pause

:step1
cd /d d:\blog
echo Please wait
call hexo clean
echo clean finished...

:step2
call hexo g
echo generate finished...

:step3
set /p o=要部署到GitHub上吗? (YES NO):
if /i "%o%"=="yes" goto yes
if /i "%o%"=="no" goto no
goto step3
:yes
call hexo d
echo deploy to GitHub finished...
pause
:no
echo 你选择了不部署!
pause