需要帮助设置 Google App 脚本的 CI/CD?

问题描述 投票:0回答:2

我们正在使用 Google App Script 构建一个插件,并希望将其发布到 Google Workspace MarketPlace。我们可以使用应用程序脚本的管理部署功能来发布版本化部署。

我们希望为 App Script 插件配置 CI/CD(每当提交到 git 分支的更改时,都应创建一个新的部署 ID,并应在 Google Workspace MarketPlace 上发布相应的代码)。

我们没有找到任何解决方法来为应用程序脚本配置 CI/CD。我们首选用于 CI/CD 的 Azure。

google-apps-script devops
2个回答
1
投票

您可以组合使用

Apps 脚本 API

您可以在其中管理部署和版本。

工作区市场API

您可以在其中控制您的应用程序列表。

您可能无法完成所有事情,但这将是您最好的起点。

我对 Azure 不熟悉,但每当你向主分支提交时,你都可以查看 git actions 来运行对上述 API 的一些 API 请求。


0
投票

您可以使用App script API,使用各自的客户端库将代码发布到Apps脚本项目,在我的例子中,我使用了golang和库https://pkg.go.dev/google.golang.org/api/script /v1.

推送代码示例。请参阅他们的文档 https://developers.google.com/apps-script/api/quickstart/go

有关使用 go 库创建新部署,请参阅文档:https://pkg.go.dev/google.golang.org/api/script/v1#ProjectsDeploymentsService.Create

使用已生成的 id 进行部署的示例代码

    versionStruct := &script.Version{
    Description: "Version Description",
    ScriptId:    scriptId,
}

version, err := srv.Projects.Versions.Create(scriptId, versionStruct).Do()
if err != nil {
    // The API encountered a problem.
    log.Fatalf("The Version API returned an error: %v", err)
}

deploymentConfigObj := &script.DeploymentConfig{
    Description:      "Deployment Description",
    ManifestFileName: "appsscript",
    VersionNumber:    version.VersionNumber,
    ScriptId:         scriptId,
}

UpdateDeploymentRequestObj := &script.UpdateDeploymentRequest{
    DeploymentConfig: deploymentConfigObj,
}

注意:需要先创建新版本,然后再进行部署。

© www.soinside.com 2019 - 2024. All rights reserved.