MCPcopy Index your code
hub / github.com/rilldata/rill / DeployCmd

Function DeployCmd

cli/cmd/project/deploy.go:259–310  ·  view source on GitHub ↗
(ch *cmdutil.Helper)

Source from the content-addressed store, hash-verified

257}
258
259func DeployCmd(ch *cmdutil.Helper) *cobra.Command {
260 opts := &DeployOpts{
261 ProdVersion: "latest",
262 }
263
264 deployCmd := &cobra.Command{
265 Use: "deploy [<path>]",
266 Short: "Deploy project to Rill Cloud by using a Rill Managed Git repo",
267 RunE: func(cmd *cobra.Command, args []string) error {
268 if len(args) > 0 {
269 opts.GitPath = args[0]
270 }
271 opts.Managed = true
272 err := opts.ValidateAndApplyDefaults(cmd.Context(), ch)
273 if err != nil {
274 return err
275 }
276 return DeployWithUploadFlow(cmd.Context(), ch, opts)
277 },
278 }
279
280 deployCmd.Flags().SortFlags = false
281 deployCmd.Flags().StringVar(&opts.GitPath, "path", ".", "Path to project repository (default: current directory)") // This can also be a remote .git URL (undocumented feature)
282 deployCmd.Flags().StringVar(&opts.SubPath, "subpath", "", "Relative path to project in the repository (for monorepos)")
283 deployCmd.Flags().StringVar(&ch.Org, "org", ch.Org, "Org to deploy project in")
284 deployCmd.Flags().StringVar(&opts.Name, "project", "", "Project name (default: Git repo name)")
285 deployCmd.Flags().StringVar(&opts.Description, "description", "", "Project description")
286 deployCmd.Flags().BoolVar(&opts.Public, "public", false, "Make dashboards publicly accessible")
287 deployCmd.Flags().StringVar(&opts.Provisioner, "provisioner", "", "Project provisioner")
288 deployCmd.Flags().StringVar(&opts.PrimaryBranch, "primary-branch", "", "Git branch to deploy from (default: the default Git branch)")
289 deployCmd.Flags().IntVar(&opts.Slots, "prod-slots", local.DefaultProdSlots(ch), "Slots to allocate for production deployments")
290 deployCmd.Flags().IntVar(&opts.DevSlots, "dev-slots", local.DefaultDevSlots(ch), "Slots to allocate for dev deployments")
291 deployCmd.Flags().BoolVar(&opts.PushEnv, "push-env", true, "Push local .env file to Rill Cloud")
292 if !ch.IsDev() {
293 if err := deployCmd.Flags().MarkHidden("prod-slots"); err != nil {
294 panic(err)
295 }
296 if err := deployCmd.Flags().MarkHidden("dev-slots"); err != nil {
297 panic(err)
298 }
299 }
300
301 deployCmd.Flags().BoolVar(&opts.SkipDeploy, "skip-deploy", false, "Skip the runtime deployment step (for testing only)")
302 if !ch.IsDev() {
303 err := deployCmd.Flags().MarkHidden("skip-deploy")
304 if err != nil {
305 panic(err)
306 }
307 }
308
309 return deployCmd
310}
311
312func ValidateLocalProject(ch *cmdutil.Helper, localGitPath, subPath string) (string, string, error) {
313 var localProjectPath string

Callers 1

ProjectCmdFunction · 0.70

Calls 6

DefaultProdSlotsFunction · 0.92
DefaultDevSlotsFunction · 0.92
DeployWithUploadFlowFunction · 0.85
ContextMethod · 0.65
IsDevMethod · 0.45

Tested by

no test coverage detected