吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7248|回复: 1
收起左侧

[其他转载] 宝塔面板实现Hexo博客自动部署

[复制链接]
椒拌糖 发表于 2019-2-28 11:29
服务器闲着也是闲着,不如把博客放在上面?
那就开干!
前提使用宝塔面板
安装webhook
进入宝塔面板,依次进入:软件管理->宝塔插件,在列表里可以看到宝塔WebHook插件,点击后面的安装即可。一、在服务器上生成部署公钥
1
ssh -keygen
直接回车后面直接回车,不要输入密码,这样使用公钥的时候就无需密码了
生成的公钥默认存放在用户目录下的.ssh目录,默认名称为id_ras和id_ras.pub,其中id_ras.pub为公钥文件,你需要打开复制二、在github上对项目作部署配置添加公钥进入添加公钥界面,填写标题和内容,标题随意,内容为第一步生成的公钥的内容,保存后添加成功把你刚才复制的公钥放在key里面

因为是危险操作,需要输入用户github的密码来确认 添加成功
三、添加webhook
这里先随便输入一个符号(在编辑的时候重新添加shell命令进去,在上图输入框输入的命令会被过滤) 点击提交后,在编辑,输入下面的脚本:
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
36
37
38
39
40
41
#!/bin/bash
echo ""
# 输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
# 判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
          echo "param参数错误"
          echo "End"
          exit
fi
# git项目路径
gitPath="/www/wwwroot/$1"
# git 网址
gitHttp="http://git.xxxxx.com/$1.git"

echo "Web站点路径:$gitPath"

# 判断项目路径是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        # 判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                git clone $gitHttp gittemp
                mv gittemp/.git .
                rm -rf gittemp
        fi
        # 拉取最新的项目文件
        git reset --hard origin/master
        git pull
        # 设置目录权限
        chown -R www:www $gitPath
        echo "End"
        exit
else
        echo "该项目路径不存在"
        echo "End"
        exit
fi
添加完成以后,查看密钥

组成的链接是这样的: http://面板Ip加端口/hook?access_key=密钥&param=项目在/www/wwwroot/目录下的目录
当前shell命令把目录作为了变量 param 传输 考虑多项目的情况
四、配置github webhooks钩子把组成链接填在payload URL里,Secret可不填

完成配置
大公高成
1
hexo g -d

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wack. 发表于 2019-3-16 17:04
可不可以部署到云服务器上
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 05:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表