0%

WindowsServer使用Jenkins自动部署github博客网站的坑

前言

摸索了大半天终于弄好了。

有关github webhookjenkins的配置可以参考这篇文章

踩坑

SSL验证的问题


使用的https来传递信息触发构建事件,结果push上去后github webhook抛了个错误信息。

错误

原因是没有配置正确的SSL证书验证,于是从对应的云服务商(我用的腾讯云)那下载了之前申请好的SSL证书,下载格式选择为jks

证书下载

将下载好的证书放到jenkins的根目录,然后在配置文件jenkins.xml中的arguments节点项里添加如下参数。

1
--httpsKeyStore="%JENKINS_HOME%\证书名.jks" --httpsKeyStorePassword="证书校验密码"

argument

之后重启jenkins,然后让repo对应的webhook页面redelivery一下就行。

redelivery

批处理脚本命令无法执行的问题


构建时可以让jenkins调用本地bat脚本

build_bat

逻辑如下

1
2
3
4
5
6
7
8
9
10
11
12
echo  update blog
cd ./repo

if exist node_modules\ (
echo skip install npm_module
) else (
call npm install
)

call hexo clean

call hexo g

但是会报错找不到npmhexo等可执行程序。

原因是jenkins的运行环境是一个独立的沙盒环境,不会用到Windows系统自带的环境变量,所以这些可执行文件的PATH路径需要添加在全局配置当中。该配置在.jenkins文件夹下的config.xml文件里。

config

也可以通过jenkins 图形化控制台的Dashboard -> ConfigureSystem -> Global properties-> Environment variables配置。

gui_config