本帖最后由 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 gist true
0|wangda | sync cookie to local true
0|wangda | pageBuild true
0|wangda | sync cookie to gitee gist true
0|wangda | build ok
|