首页 > 解决方案 > 使用 Github 操作为 GCP 功能无服务器部署存储 json 密钥文件的最佳方式

问题描述

我使用serveless&Github actions来部署 GCP 功能。

无服务的.ylm

service: serverless-test

provider:
  name: google
  runtime: go113
  project: my-gcp-project
  credentials: ./gcp_keyfile_serverless.json

frameworkVersion: '2'

plugins:
  - serverless-google-cloudfunctions

package:
  exclude:
    - .gitignore
    - .git/**

functions:
  hello-world:
    handler: Hello
    events:
      - http: path

deploy_gcp_go.yml

name: Deploy master branch

on:
  push:
    branches:
      - master

jobs:
  deploy:
    name: deploy
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [14.x]
    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - run: npm ci
    - name: serverless deploy
      uses: serverless/github-action@master
      with:
        args: deploy
      env:
        SERVERLESS_ACCESS_KEY: ${{secrets.SERVERLESS_SECRET_KEY}}

有没有办法直接将gcp_keyfile_serverless.json文件存储在 Github 存储库中?(在serverless.yml文件中使用)

标签: google-cloud-functionsgithub-actionsserverless-framework

解决方案


添加一个构建步骤,用于解密*.json使用Cloud KMS加密的文件。

或者这里是另一个例子,做的差不多,但是用pgp.


推荐阅读