@@ -287,6 +287,14 @@ def content_args(func: Callable[P, T]) -> Callable[P, T]:
287287 is_flag = True ,
288288 help = "Don't access the deployed content to verify that it started correctly." ,
289289 )
290+ @click .option (
291+ "--draft" ,
292+ is_flag = True ,
293+ help = (
294+ "Deploy the application as a draft. "
295+ "Previous bundle will continue to be served until the draft is published."
296+ ),
297+ )
290298 @functools .wraps (func )
291299 def wrapper (* args : P .args , ** kwargs : P .kwargs ):
292300 return func (* args , ** kwargs )
@@ -918,6 +926,7 @@ def deploy_notebook(
918926 disable_env_management : Optional [bool ],
919927 env_management_py : Optional [bool ],
920928 env_management_r : Optional [bool ],
929+ draft : bool ,
921930 no_verify : bool = False ,
922931):
923932 set_verbosity (verbose )
@@ -977,7 +986,7 @@ def deploy_notebook(
977986 env_management_py = env_management_py ,
978987 env_management_r = env_management_r ,
979988 )
980- ce .deploy_bundle ().save_deployed_info ().emit_task_log ()
989+ ce .deploy_bundle (activate = not draft ).save_deployed_info ().emit_task_log ()
981990 if not no_verify :
982991 ce .verify_deployment ()
983992
@@ -1068,6 +1077,7 @@ def deploy_voila(
10681077 cacert : Optional [str ],
10691078 multi_notebook : bool ,
10701079 no_verify : bool ,
1080+ draft : bool = False ,
10711081 connect_server : Optional [api .RSConnectServer ] = None , # TODO: This appears to be unused
10721082):
10731083 set_verbosity (verbose )
@@ -1106,7 +1116,7 @@ def deploy_voila(
11061116 env_management_py = env_management_py ,
11071117 env_management_r = env_management_r ,
11081118 multi_notebook = multi_notebook ,
1109- ).deploy_bundle ().save_deployed_info ().emit_task_log ()
1119+ ).deploy_bundle (activate = not draft ).save_deployed_info ().emit_task_log ()
11101120 if not no_verify :
11111121 ce .verify_deployment ()
11121122
@@ -1149,6 +1159,7 @@ def deploy_manifest(
11491159 env_vars : dict [str , str ],
11501160 visibility : Optional [str ],
11511161 no_verify : bool ,
1162+ draft : bool ,
11521163):
11531164 set_verbosity (verbose )
11541165 output_params (ctx , locals ().items ())
@@ -1182,7 +1193,7 @@ def deploy_manifest(
11821193 make_manifest_bundle ,
11831194 file_name ,
11841195 )
1185- .deploy_bundle ()
1196+ .deploy_bundle (activate = not draft )
11861197 .save_deployed_info ()
11871198 .emit_task_log ()
11881199 )
@@ -1276,6 +1287,7 @@ def deploy_quarto(
12761287 env_management_py : bool ,
12771288 env_management_r : bool ,
12781289 no_verify : bool ,
1290+ draft : bool ,
12791291):
12801292 set_verbosity (verbose )
12811293 output_params (ctx , locals ().items ())
@@ -1331,7 +1343,7 @@ def deploy_quarto(
13311343 env_management_py = env_management_py ,
13321344 env_management_r = env_management_r ,
13331345 )
1334- .deploy_bundle ()
1346+ .deploy_bundle (activate = not draft )
13351347 .save_deployed_info ()
13361348 .emit_task_log ()
13371349 )
@@ -1395,6 +1407,7 @@ def deploy_tensorflow(
13951407 env_vars : dict [str , str ],
13961408 image : Optional [str ],
13971409 no_verify : bool ,
1410+ draft : bool ,
13981411):
13991412 set_verbosity (verbose )
14001413 output_params (ctx , locals ().items ())
@@ -1426,7 +1439,7 @@ def deploy_tensorflow(
14261439 exclude ,
14271440 image = image ,
14281441 )
1429- .deploy_bundle ()
1442+ .deploy_bundle (activate = not draft )
14301443 .save_deployed_info ()
14311444 .emit_task_log ()
14321445 )
@@ -1489,6 +1502,7 @@ def deploy_html(
14891502 token : Optional [str ],
14901503 secret : Optional [str ],
14911504 no_verify : bool ,
1505+ draft : bool ,
14921506 connect_server : Optional [api .RSConnectServer ] = None ,
14931507):
14941508 set_verbosity (verbose )
@@ -1539,7 +1553,7 @@ def deploy_html(
15391553 extra_files ,
15401554 exclude ,
15411555 )
1542- .deploy_bundle ()
1556+ .deploy_bundle (activate = not draft )
15431557 .save_deployed_info ()
15441558 .emit_task_log ()
15451559 )
@@ -1644,6 +1658,7 @@ def deploy_app(
16441658 token : Optional [str ],
16451659 secret : Optional [str ],
16461660 no_verify : bool ,
1661+ draft : bool ,
16471662 ):
16481663 set_verbosity (verbose )
16491664 entrypoint = validate_entry_point (entrypoint , directory )
@@ -1700,7 +1715,7 @@ def deploy_app(
17001715 env_management_py = env_management_py ,
17011716 env_management_r = env_management_r ,
17021717 )
1703- ce .deploy_bundle ()
1718+ ce .deploy_bundle (activate = not draft )
17041719 ce .save_deployed_info ()
17051720 ce .emit_task_log ()
17061721
0 commit comments