Github Actions GLaDOS自動簽到

2021-10-10 16:46:02 字數 2863 閱讀 5708

glados-checkin

name: glados-checkin

on: push:

# 分支 現在預設是main,而不是master

branches: [ main ]

# 將工作流程配置為在至少乙個檔案不匹配paths-ignore的paths時執行

# 忽略readme.md和imgs資料夾

paths-ignore:

- 'readme.md'

- 'imgs/**'

schedule:

# 定時執行 utc 1點30分(北京時間 9點30分)

- cron: 30 1 * * *

# 標星時執行

watch:

types: [started]

jobs:

build:

runs-on: ubuntu-latest

steps:

# checks out a copy of your repository on the ubuntu-latest machine

# 必須,不然到執行 node checkin.js 時會報錯

- uses: actions/checkout@v2

- name: setup node.js

# 理論上也可以自己命令列安裝node

uses: actions/setup-node@v1

with:

node-version: '12.x'

- name: install axios

run: npm install axios

- name: checkin

run: node checkin.js

# 設定環境變數

env:

sckey: $}

cookie: $}

稍微修改下就可以變成其他**登入的指令碼

const axios = require("axios");

const sckey = process.env.sckey;

axios.defaults.headers.common.cookie = process.env.cookie;

const checkin = () =>

})}const status = () => )

}const server = (checkinmessage, leftdays) => .send`,

params: 天後到期,$`}})

}axios.all([checkin(), status()])

.then(axios.spread((checkinresult, statusinfo) =>

})).then(data => = data;

if (sckey)

});

checkin.js就是簡單地使用axios傳送請求,checkin.yml的疑問點,簡單的在上面已經做了注釋,下面是我自己嘗試過程中比較困惑過的:

github 官方表示,從 2020 年 10 月 1 日起,在該平台上建立的所有新的源**倉庫將預設被命名為 "main",而不是原先的"master",以避免聯想奴隸制。

# 標星時執行

watch:

types: [started]

官網文件 watchevent

標星 rest api

關注者api更改帖子

# 必須,不然到執行 node checkin.js 時會報錯

- uses: actions/checkout@v2

在 官方文件 - github actions 快速入門 - 建立第乙個工作流程 中有這麼一條注釋

- uses: actions/checkout@v2語句的作用是在伺服器上檢出我們倉庫的副本,沒有這條語句的話,執行到node checkin.js時會報錯,因為到這步時伺服器上相當於只安裝了node.js和axios請求庫,沒有我們的專案,所以執行node checkin.js時會找不到check.js

官方文件中有較為詳細的解釋 關於加密密碼

著重看下 在工作流程中使用加密密碼

我使用的是環境變數的做法,所以在check.js中就要去獲得環境變數sckey和cookie

如何從 node.js 讀取環境變數

加簽驗籤的理解

對加簽驗籤的理解 加簽驗籤模組早已做完了,從剛開始的一臉懵逼,到上線,前前後後兩周多吧,現在整理一下思路,記錄一下。加簽驗籤,傳送訊息方,對訊息加簽名 接受訊息方,驗證簽名是否正確。做加簽驗籤的目的主要目的就是,驗證訊息的完整性 簡單來說,傳送訊息方 1 根據訊息內容形成摘要 2 根據摘要形成簽名字...

spring mvc 加簽驗籤方案

一 請求格式要求 1.get 請求 url示例 http xx api test.do?a 1 b 2 c 3 d 4 content type 簽名key值與a 1 b 2 c 3 d 4 進行一定處理後加密得到 2.post請求 url示例 http xx api test.do content...

RSA 加密 解密 加簽 驗籤

1.公鑰與私鑰碼生成 2.獲取公鑰 獲取公鑰 return private publickey getpublickey catch exception e 獲取私鑰 獲取私鑰 return private privatekey getprivatekey catch exception e bas...