-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Separate manifest generation, bundle generation, and bundle deployment #268
Comments
There's no reason we can't do this. We've also had customers request that we save the manifest somewhere useful, where it would could be recycled using a method like the one you describe. (Today, the manifest exists only temporarily on the local machine.) We can't re-use the packrat lockfile, though; the packrat lockfile and the manifest include snapshots which are different in subtle but important ways. This issue has the gory details: Can you write a little more about your use case? (i.e. if you're only just looking to use rsconnect to bridge content from one connect server to another, maybe we should just allow uploading the .tar.gz bundle wholesale?) |
So if we do have the With respect to the use case, I am thinking along the lines of what @slopp was talking about in #143 . Ultimately, the goal is determining the minimal set of files that are necessary to drive a deployment. If we can determine that set of files, then we just need:
This will help with strides towards the following use cases:
|
@jmcphers I definitely think fire-and-forget tarball deploy would be useful. In particular, having a canonical way to prepare content for deploy without actually deploying it, and deploying prepared content without having to prepare it, would simplify a lot of the design choices in a handful of stories in our Connect backlog. @colearendt IIRC:
It might be a good idea for this repo to define a specification for |
Full write up of goals here: https://docs.google.com/document/d/1PpDa-oIRuZUT9mJGrbofI8jhQlO_sdVMRgNeS3XLi0I/edit?usp=sharing |
Also note that the bundle includes full DESCRIPTION files for the dependent packages. Lines 563 to 587 in 31aaf03
Related PR (see the linked issues): |
I've updated the issue title to better align with our prior conversations on this topic. I think we've agreed that there are three distinct operations we need to expose:
Right now |
Hello! |
@johanneswaage yes - this feature is complete and is scheduled for release with RSC 1.7.0 later this week. Please let us know if the new capabilities meet your needs, and we would be happy to talk through the process if any parts of the new documentation are unclear. (See the RStudio blog for the release announcement which will include links to relevant docs). |
Hi again. I see Connect 1.7 has been updated with programmatic deployment through API, but how about through the rsconnect package, as described in this thread? Thanks |
@johanneswaage - the process would be:
Examples of step 3 are included here: https://github.com/rstudio/connect-api-deploy-shiny |
Thanks, that is handy, but a future request would definitely be to have manifest/bundle/deploy in rsconnect as well. |
Can you elaborate on your use case? What are you trying to do? cc: @colearendt |
I'm closing since this is old, and looks mostly resolved, and for the bits that arent, I think #471 will help. |
Is there a reason that
rsconnect
requires buildingmanifest.json
for each deploy?I think it makes sense that if the user already had a
manifest.json
file (i.e. after downloading a.tar.gz
bundle from Connect), then there should be no reason for them to reinstall packages in order to generate another one. In theory, they should be the same.Adding a parameter which defaults to NULL but passes the output to
rsconnect:::bundleApp
and allows bypassing themanifest.json
build should be backwards compatible and would make migrating content from one Connect server to another much easier.Of course, I might be missing an obvious reason that this is not available as an option. Not sure if
packrat/packrat.lock
file needs to be included in this discussion or not. In the case that you have downloaded a.tar.gz
from Connect, you should have that file ready to go as well.The text was updated successfully, but these errors were encountered: