Add possibility to upload "transactional"
See original GitHub issueHi,
I would like a feature where all binary packages and the receipt are make available on the server only if all uploads have succeeded and are finished. If one upload fails, nothing should be available on the server.
Maybe a feature line --all --as_transaction
.
We are currently building a lot of different configurations of one package on our CI System. When all builds are finished (currently 4, Release/Debug and x64/x86, this will get more when more compilers need to be supported), I upload them to our conan server using the --all
flag.
The problem is that the receipt is publish first, and then the binary packages are uploaded. This currently takes up to 2 minutes, and sometimes an upload fails. Then, other CI builds are using the newly uploaded component and building them “on the fly”, because the binary package is not available on the server. This is not desired, as some of the base components take some time to build.
Best, Claas
Issue Analytics
- State:
- Created 7 years ago
- Reactions:2
- Comments:22 (14 by maintainers)
I think that quick, atomic move operation for remote server can solve the problem. One can upload packages from CI builders to ci channel and then “promote” them to stable:
conan move MyPackage/0.1/demo/ci demo/stable -r conan_server
The move operation can be useful also for local cache.
Regards, Romek
Hi,
Yes, they are. You need create and maybe overwrite permissions on one repo and delete permissions on the other.
We use both, here is an example script for using JFrog CLI to login using Jenkins credentials and move a conan package.