evlon 发表于 2022-12-29 17:08

使用Nodejs 代码发布gitee pages

本帖最后由 evlon 于 2022-12-29 22:25 编辑

## 背景

爬到的内容,希望进行发布到gitee pages 里面,但是需要手动去点击,于是写程序模拟了一下。同时,考虑到在别处登录gitee 会有安全提醒,所以我们把登录后的Cookie 存储到gitee的代码片段中,后面直接复用,避免总是异地登录提醒。
               
## 使用方法

#### 运行环境: Linux + Nodejs 14+
#### 配置参数 .env 文件
```
GITEE_USERNAME=evlon
GITEE_PASSWORD=your password
GITEE_REPO=your repo
GITEE_BRANCH=main
GITEE_DIRECTORY=/
GITEE_HTTPS=1
GITEE_GIST_TOKEN=tokenstring
GITEE_GIST_ID=gist_id
CONFIG_DELAY_FETCH=2000
```
#### 编写脚本 update-gitee-pages.mjs
```
import pageBuild from 'gitee-pages-build'

async function main_by_obj(){
    await pageBuild.gitee_login_with_obj_cookie();

    await pageBuild.pagebuild_with_obj_cookie();
}
main_by_obj()
```

#### 在shell 中调用
```
#!/bin/bash
cd ctos
git pull --all
git add $1
git commit -m "$2"
git push origin
echo 'git push ok'
cd ..
node ./update-gitee-pages.mjs

```

#### 最后看一下日志输出

```
/root/.pm2/logs/wangda-out.log last 15 lines:
0|wangda   |create mode 100644 ccf94812-270d-4afc-9ac1-329169712c1f/0_4a1aabf73-d71d-48f1-8671-869f835e9578.m3u8
0|wangda   |create mode 100644 ccf94812-270d-4afc-9ac1-329169712c1f/0_551330257-d63c-484d-ae18-5af0b028dc13.m3u8
0|wangda   |create mode 100644 ccf94812-270d-4afc-9ac1-329169712c1f/0_642a35ac1-3213-4de8-b249-2cacc8e52bcf.m3u8
0|wangda   |create mode 100644 ccf94812-270d-4afc-9ac1-329169712c1f/0_79bf6069f-19fc-4485-88d1-cc7a19f5c184.m3u8
0|wangda   |create mode 100644 ccf94812-270d-4afc-9ac1-329169712c1f/0_88b02dec0-0f6b-4003-97a1-1857efdb3005.m3u8
0|wangda   |create mode 100644 ccf94812-270d-4afc-9ac1-329169712c1f/0_9c00339d9-8704-4fd1-9681-3934980eb2fc.m3u8
0|wangda   |create mode 100644 ccf94812-270d-4afc-9ac1-329169712c1f/data.json
0|wangda   | git push ok
0|wangda   | sync cookie to local true
0|wangda   | login true
0|wangda   | sync cookie to gitee gisttrue
0|wangda   | sync cookie to local true
0|wangda   | pageBuild true
0|wangda   | sync cookie to gitee gisttrue
0|wangda   | build ok
```

sunzhw 发表于 2022-12-29 19:45

感谢大神分享,学习了

kevinchenyuan 发表于 2022-12-30 08:41

没看懂没看懂

constwm 发表于 2022-12-30 08:53

感谢分享

涛之雨 发表于 2022-12-30 09:41

我是推送到github,
通过 https://github.com/marketplace/actions/hub-mirror-action 同步到gitee,
最后通过 https://github.com/marketplace/actions/gitee-pages-action 进行部署。

其中,https://github.com/marketplace/actions/hub-mirror-action 支持双向同步。

全程 github action 自动操作,免费高效,看看国内某些垃圾平台,这个收费那个抽成,开个源还要审核搞个page还要实名

evlon 发表于 2022-12-30 14:13

涛之雨 发表于 2022-12-30 09:41
我是推送到github,
通过 https://github.com/marketplace/actions/hub-mirror-action 同步到gitee,
最 ...

你这个方案很好。

我这里是国内的服务器,推送到github 总是出问题。 所以我直接推送到gitee比较快。

所以,我才直接用国内服务器直接发布 gitee pages 。
页: [1]
查看完整版本: 使用Nodejs 代码发布gitee pages