diff --git a/.github/workflows/deploy_tencent_scf.yml b/.github/workflows/deploy_tencent_scf.yml index 844d094e..70d6d17e 100644 --- a/.github/workflows/deploy_tencent_scf.yml +++ b/.github/workflows/deploy_tencent_scf.yml @@ -18,10 +18,10 @@ jobs: with: node-version: ${{ matrix.node-version }} - - name: "安装依赖和serverless工具" + - name: "安装依赖" run: | npm install - sudo npm install serverless -g + npm install tencentcloud-sdk-nodejs - name: "将Secrets里面配置的变量添加到severless.yml里面作为环境变量" run: | @@ -157,8 +157,10 @@ jobs: DREAMFACTORY_FORBID_ACCOUNT: ${{ secrets.DREAMFACTORY_FORBID_ACCOUNT}} JDFACTORY_FORBID_ACCOUNT: ${{ secrets.JDFACTORY_FORBID_ACCOUNT}} + - name: "压缩文件夹" + run: zip -r myfile.zip ./* - name: "部署到腾讯云函数" - run: serverless deploy + run: node tencentscf.js env: STAGE: dev SERVERLESS_PLATFORM_VENDOR: tencent diff --git a/tencentscf.js b/tencentscf.js new file mode 100644 index 00000000..ca20172c --- /dev/null +++ b/tencentscf.js @@ -0,0 +1,35 @@ +// Depends on tencentcloud-sdk-nodejs version 4.0.3 or higher +const tencentcloud = require("tencentcloud-sdk-nodejs"); +const fs = require('fs') +const file_buffer = fs.readFileSync('./myfile.zip'); +const contents_in_base64 = file_buffer.toString('base64'); + +const ScfClient = tencentcloud.scf.v20180416.Client; + +const clientConfig = { + credential: { + secretId: process.env.TENCENT_SECRET_ID, + secretKey: process.env.TENCENT_SECRET_KEY, + }, + region: "ap-hongkong", + profile: { + httpProfile: { + endpoint: "scf.tencentcloudapi.com", + }, + }, +}; + +const client = new ScfClient(clientConfig); +const params = { + "Handler": "index.main_handler", + "FunctionName": "jd", + "ZipFile": contents_in_base64 +}; +client.UpdateFunctionCode(params).then( + (data) => { + console.log(data); + }, + (err) => { + console.error("error", err); + } +);