conan-io / conan-package-tools

Conan Package Tools. Helps with massive package creation and CI integration (Travis CI, Appveyor...)
MIT License
166 stars 71 forks source link

Use of CONAN_LOGIN_USERNAME for private conan repo #399

Open chulup opened 5 years ago

chulup commented 5 years ago

Description of Problem, Request, or Question

I run private Conan repository which I am able to upload packages from console. At the same time I cannot configure cpt to upload packages there.

I followed the instructions initially and got the message "Upload skipped, credentials for remote 'private_repo' not available", even though I specified CONAN_LOGIN_USERNAME.

The problem code was found through PDB as there's no docs for that as far as I aware: you need to set env variables CONAN_LOGIN_USERNAME_private_repo and CONAN_PASSWORD_private_repo.

So, question is, am I able to use the Conan installation and settings that are already in the system without specifying CONAN_PASSWORD in my build scripts?

Environment Details

Steps to reproduce (Include if Applicable)

Build logs (Include if Available)

chulup commented 5 years ago

OK, that's another case of skipping docs. For those who find that later: there is Reference at the end of README.md

Solution:

CONAN_UPLOAD="https://private-repo.com/conan_path@True@my_private_repo" CONAN_LOGIN_USERNAME_my_private_repo="my_username" CONAN_PASSWORD_my_private_repo="my_password" CONAN_USERNAME="repo_name"

This will upload "package/1.2.3@repo_name/stable" to Conan repository from CONAN_UPLOAD

uilianries commented 5 years ago

The "documentation" is in README file, there is a specific topic about upload:

https://github.com/conan-io/conan-package-tools#upload-packages

Only CONAN_LOGIN_USERNAME, CONAN_PASSWORD and CONAN_UPLOAD should be enough for uploading your package.

If you need to specify the repo name as suffix, is because you are not running Conan Package Tools, or your environment variables are isolated and not been consumed by CPT.

If you need so set CONAN_UPLOAD or any env var as parameter in your script, you can pass directly to ConanMultiPackager constructor, as specified on parameters topic:

https://github.com/conan-io/conan-package-tools#conanmultipackager-parameters-reference

chulup commented 5 years ago

Thanks for the answer!

Is there a way to use logged in Conan user instead of supplying your own login/password through environment or arguments?

uilianries commented 5 years ago

No because it's a mandatory step. It could be logged in before starting CPT, but it will check if you filled username and password, otherwise it won't upload your package.