mirror of https://github.com/grafana/grafana.git
CI: Move `upload-cdn` subcommand from `grabpl` (#58957)
Move upload-cdn from grabpl
This commit is contained in:
parent
e823a90b82
commit
e37fc888c0
16
.drone.yml
16
.drone.yml
|
|
@ -1569,7 +1569,7 @@ steps:
|
|||
repo:
|
||||
- grafana/grafana
|
||||
- commands:
|
||||
- ./bin/grabpl upload-cdn --edition oss
|
||||
- ./bin/build upload-cdn --edition oss
|
||||
depends_on:
|
||||
- grafana-server
|
||||
environment:
|
||||
|
|
@ -2135,7 +2135,7 @@ steps:
|
|||
event:
|
||||
- tag
|
||||
- commands:
|
||||
- ./bin/grabpl upload-cdn --edition oss
|
||||
- ./bin/build upload-cdn --edition oss
|
||||
depends_on:
|
||||
- grafana-server
|
||||
environment:
|
||||
|
|
@ -2785,7 +2785,7 @@ steps:
|
|||
- success
|
||||
- failure
|
||||
- commands:
|
||||
- ./bin/grabpl upload-cdn --edition enterprise
|
||||
- ./bin/build upload-cdn --edition enterprise
|
||||
depends_on:
|
||||
- package
|
||||
environment:
|
||||
|
|
@ -2826,7 +2826,7 @@ steps:
|
|||
image: grafana/build-container:1.6.4
|
||||
name: package-enterprise2
|
||||
- commands:
|
||||
- ./bin/grabpl upload-cdn --edition enterprise2
|
||||
- ./bin/build upload-cdn --edition enterprise2
|
||||
depends_on:
|
||||
- package-enterprise2
|
||||
environment:
|
||||
|
|
@ -4156,7 +4156,7 @@ steps:
|
|||
include:
|
||||
- packages/grafana-ui/**
|
||||
- commands:
|
||||
- ./bin/grabpl upload-cdn --edition oss
|
||||
- ./bin/build upload-cdn --edition oss
|
||||
depends_on:
|
||||
- grafana-server
|
||||
environment:
|
||||
|
|
@ -4764,7 +4764,7 @@ steps:
|
|||
- success
|
||||
- failure
|
||||
- commands:
|
||||
- ./bin/grabpl upload-cdn --edition enterprise
|
||||
- ./bin/build upload-cdn --edition enterprise
|
||||
depends_on:
|
||||
- package
|
||||
environment:
|
||||
|
|
@ -4812,7 +4812,7 @@ steps:
|
|||
image: grafana/build-container:1.6.4
|
||||
name: package-enterprise2
|
||||
- commands:
|
||||
- ./bin/grabpl upload-cdn --edition enterprise2
|
||||
- ./bin/build upload-cdn --edition enterprise2
|
||||
depends_on:
|
||||
- package-enterprise2
|
||||
environment:
|
||||
|
|
@ -5512,6 +5512,6 @@ kind: secret
|
|||
name: packages_secret_access_key
|
||||
---
|
||||
kind: signature
|
||||
hmac: 77ae647c9addfcd9966d462ca9967b85a87e18adfe0e9e0a2c6b1cf5d7f42493
|
||||
hmac: bdde811590573d22162d8305ced15080e8b20f2180b7491891c461427810a4b3
|
||||
|
||||
...
|
||||
|
|
|
|||
|
|
@ -96,6 +96,14 @@ func main() {
|
|||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "upload-cdn",
|
||||
Usage: "Upload public/* to a cdn bucket",
|
||||
Action: UploadCDN,
|
||||
Flags: []cli.Flag{
|
||||
&editionFlag,
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "shellcheck",
|
||||
Usage: "Run shellcheck on shell scripts",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,75 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/grafana/grafana/pkg/build/config"
|
||||
"github.com/grafana/grafana/pkg/build/gcloud/storage"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
// UploadCDN implements the sub-command "upload-cdn".
|
||||
func UploadCDN(c *cli.Context) error {
|
||||
if c.NArg() > 0 {
|
||||
if err := cli.ShowSubcommandHelp(c); err != nil {
|
||||
return cli.NewExitError(err.Error(), 1)
|
||||
}
|
||||
return cli.NewExitError("", 1)
|
||||
}
|
||||
|
||||
metadata, err := GenerateMetadata(c)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
version := metadata.GrafanaVersion
|
||||
if err != nil {
|
||||
return cli.NewExitError(err.Error(), 1)
|
||||
}
|
||||
|
||||
buildConfig, err := config.GetBuildConfig(metadata.ReleaseMode.Mode)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
edition := os.Getenv("EDITION")
|
||||
log.Printf("Uploading Grafana CDN Assets, version %s, %s edition...", version, edition)
|
||||
|
||||
editionPath := ""
|
||||
|
||||
switch config.Edition(edition) {
|
||||
case config.EditionOSS:
|
||||
editionPath = "grafana-oss"
|
||||
case config.EditionEnterprise:
|
||||
editionPath = "grafana"
|
||||
case config.EditionEnterprise2:
|
||||
editionPath = os.Getenv("ENTERPRISE2_CDN_PATH")
|
||||
default:
|
||||
panic(fmt.Sprintf("unrecognized edition %q", edition))
|
||||
}
|
||||
|
||||
gcs, err := storage.New()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
bucket := gcs.Bucket(buildConfig.Buckets.CDNAssets)
|
||||
srcPath := buildConfig.Buckets.CDNAssetsDir
|
||||
srcPath = filepath.Join(srcPath, editionPath, version)
|
||||
|
||||
if err := gcs.DeleteDir(c.Context, bucket, srcPath); err != nil {
|
||||
return err
|
||||
}
|
||||
log.Printf("Successfully cleaned source: %s/%s\n", buildConfig.Buckets.CDNAssets, srcPath)
|
||||
|
||||
if err := gcs.CopyLocalDir(c.Context, "./public", bucket, srcPath, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
log.Printf("Successfully uploaded cdn static assets to: %s/%s!\n", buildConfig.Buckets.CDNAssets, srcPath)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
@ -354,7 +354,7 @@ def upload_cdn_step(edition, ver_mode, trigger=None):
|
|||
'PRERELEASE_BUCKET': from_secret(prerelease_bucket)
|
||||
},
|
||||
'commands': [
|
||||
'./bin/grabpl upload-cdn --edition {}'.format(edition),
|
||||
'./bin/build upload-cdn --edition {}'.format(edition),
|
||||
],
|
||||
}
|
||||
if trigger and ver_mode in ("release-branch", "main"):
|
||||
|
|
|
|||
Loading…
Reference in New Issue