小编Seb*_*ees的帖子

带有json注释的Lombok @SuperBuilder示例

有人可以请给我一个lombok @SuperBuilder实验注释的工作实例吗?

我无法让它运行,并且没有可用文档的代码示例.

目前我的代码如下所示:

超类:

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "type")
@JsonSubTypes({
  @JsonSubTypes.Type(value = SubA.class),
  @JsonSubTypes.Type(value = AnotherSub.class)
})
@Getter
@Accessors(fluent = true, chain = true)
@SuperBuilder
public abstract class AbstractA {

    @JsonProperty
    protected final String superProperty;
}
Run Code Online (Sandbox Code Playgroud)

而子类:

@Getter
@EqualsAndHashCode(callSuper = true)
@Accessors(fluent = true, chain = true)
@SuperBuilder
@JsonDeserialize(builder = SubA.SubABuilder.class) // class not found?
@JsonTypeName("SubA")
public class SubA extends AbstractA {

    @JsonProperty
    private final String fieldA;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

java lombok

9
推荐指数
2
解决办法
6527
查看次数

firebase 从远程部署托管(谷歌存储)

我有一个单页应用程序,我想在不同的 gcp 项目中托管它,即不同的 firebase 项目。

部署应该持续到我的 firebase 托管,我想分开持续构建和持续部署步骤,因此我不想从我的本地机器手动部署到我的所有 firebase 项目。

我的问题是:

当我不想从本地机器部署时,是否有部署到 Firebase 托管项目的最佳实践?


以我天真的方式,我将设置以下内容:

我需要构建一个 zip 文件,其中包含所有静态 html 和 js 文件以及我上传到存储桶的 firebase.json 和 .firebaserc 文件。有了这些文件,firebaseCLI 工具就可以执行firebase deploy --only hosting:mytarget. 谷歌云构建器可以在 git push(例如来自 github.com)上运行这个命令,它知道我想要将单页应用程序部署到的所有 gcp 项目......

然而,这是很多工作,也许有一个更好的解决方案。我试图将 gs:// 链接直接放到 firebase.json 托管/公共部分,但是 firebase CLI 无法识别(它需要一个本地文件夹):-(

{
  "hosting": [
    {
      "target": "mySPAApp",
      "public" : "gs://mystorage-containing-files-for-hosting/",
      "rewrites": [
        {
          "source": "apps/myapp/**",
          "destination": "myapp/index.html"
      }]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我的直觉是,必须有一种更简单的方法,甚至可以使用gcloudCLI 将一堆文件部署到 Firebase 托管。在 firebase 内部,功能应该与此类似,因为在 …

google-cloud-storage firebase google-cloud-platform firebase-hosting

5
推荐指数
1
解决办法
304
查看次数

将谷歌端点中的路径参数传递给后端不起作用

我的设置包含以 google-cloud-functions 作为后端的 google-endpoints。

Google 端点使用以下 swagger v2 yaml 定义:

swagger: "2.0"
info:
  description: "yada..."
  version: "0.0.1"
  title: "yadada.."
  termsOfService: "http://swagger.io/terms/"
  contact:
    name: "blah"
    email: "email@mail.com"
    url: "https://example.com"
host: "(generated service url by google when endpoints is deployed, i.e. 'api-gateway-xyz123123-ew.a.run.app')"
tags:
  - name: "Documents"
    description: "blah"
schemes:
  - "https"
paths:
  /api/documents:
    post:
      tags:
        - "Documents"
      summary: "Add a new document"
      description: ""
      security:
        - firebase: []
      operationId: "addDocument"
      x-google-backend:
        address: "(cloud functions http url)/documents"
      consumes:
        - "application/json"
      produces:
        - "application/json" …
Run Code Online (Sandbox Code Playgroud)

google-cloud-endpoints google-cloud-platform google-cloud-functions

4
推荐指数
1
解决办法
1176
查看次数

在 github 工作流程中使用 github 组织秘密

我想在我的 github 操作工作流程中使用 github 组织机密,但无法使其正常工作。

Github 于 5 月 14 日发布了该新功能 ( https://github.blog/changelog/2020-05-14-organization-secrets/ )。当然,我阅读了文档并添加了一个新的组织范围的秘密(在https://github.com/organizations/(myOrganization)/settings/secrets上)。秘密“存储库访问”设置为“私有存储库”。

我使用了之前在 4 个私有存储库中使用的相同秘密名称。这些存储库的工作流程以这种方式使用秘密:

- uses: actions-hub/gcloud@master
        env:
          PROJECT_ID: ${{ env.ARTIFACT_PROJECT }}
          APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }}
          CLI: gsutil
        with:
          args: cp ....
Run Code Online (Sandbox Code Playgroud)

当我“覆盖”每个项目中的组织秘密时,访问通过${{secrets.GOOGLE_CREDENTIALS}}起作用(这是组织秘密功能发布之前的情况)。

当我删除项目秘密时,秘密不存在并产生空值。

有人遇到同样的问题并且知道如何解决吗?

github github-actions

4
推荐指数
1
解决办法
9433
查看次数