-
Notifications
You must be signed in to change notification settings - Fork 365
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
[question] deploy vs deployer #3958
Comments
Hi @jsallay Thanks for your questions.
The The rule is more or less the opposite: the principle of "least surprise" of Conan is that any
The rule in this case is the one that "the most downstream consumer has precedence". In this case the Please let me know if this clarifies a bit the behavior. Thanks for the feedback! |
Thanks for explaining it, I think that makes sense. I always call deploy with specific deploy arguments like As far as the two pieces working together, I had assumed incorrectly that the |
Yes, this is by far the most common use case, installing packages in the Conan cache and using them from there, without deploying. Like 99% of the usage is this way, and deployment is only done by some users at the very last mile when they need to deploy the final artifacts by other means (creating an installer for the customer, or a .deb package to deploy in servers).
Yes, they are not really connected. I am not sure if connecting them would be that great, as there are many different corner cases, like for example what if calling several deployers like |
I think my confusion comes from not understanding that these are orthogonal features. It is confusing since they both contain deploy. I think it would be helpful to update the documentation to reflect this: Something like: |
Also, I understand the use case of installing into the cache without wanting to deploy anywhere. That is what I use the majority of the time as well. What I hadn't considered was deploying without using the |
Thanks for the feedback @jsallay, sorry that I didn't follow up earlier. |
What is your question?
I'm trying to understand deployment from the conan cache to final systems and I'm confused on the interaction of the
deploy
function in a conanfile anddeployer
s. I have a conanfile with a custom deploy function that updates some of the files and I want to run a deployer such asruntime_deploy
.First off, why is calling the conanfile
deploy
function optional? I have to specify which packages I want via thedeployer-package
argument. I might be missing something but in my case, the function is required for the package to work post deployment. So it is an unpleasant surprise to the user that it is required.Second, it looks like the
deploy
function and theruntime_deploy
run independently. If I runconan install --requires mypkg/1.0.0 --deployer-package=mypkg --deployer=runtime_deploy
. It looks like it calls mydeploy
function and then later calls theruntime_deployer
which overwrites the files from my deploy function.I am confused as to how these should (or shouldn't) interact. Is there a better way to accomplish what I am trying to do?
Have you read the CONTRIBUTING guide?
The text was updated successfully, but these errors were encountered: