This may be three separate issues: 1 - confusing workflow, 2 - fails with Bitbucket, 3 - Git SSH support
I'm operating in a new Jenkins X installation running locally in minikube on macOS. To get things running, I had to input a username and token giving access to the "cluster git repository", which was clear in the documentation and makes sense.
When attempting to create a new project with jx project quickstart, the authentication prompts did not make sense. Here was the first:
? please enter the git username to use for server https://github.com: <some username entered>
to create a git token click this URL https://github.com/settings/tokens/new?scopes=repo,read:user,read:org,user:email,admin:repo_hook,delete_repo,write:packages,read:packages,write:discussion,workflow
you can then copy the token into the following input...
? please enter the git API token to use for server https://github.com: <some token entered>
saved git credentials to file /Users/<user>/git/credentials
- Why does it specify "for https://github.com"? My project may be hosted somewhere else
- What is this username/token used for? Should it be credentials for the same bot user that had access to the cluster repository? My personal credentials?
Then the next prompts:
Username for 'https://github.com': <user>
Password for 'https://user@github.com': <pass>
- What is the difference in these credentials and the ones I just entered?
- Why do I need a username and password? I use only SSH to push/pull from repositories and those keys are configured in
~/.ssh/config and could potentially be pulled/stored in a secret the same way a user/pass might
- Again, why
github.com?
I decided to try jx project instead of jx project quickstart, and Import code from a git repository.
If I use a git SSH URL like git@bitbucket.org/user/project.git, it fails with error: failed to create authenticated git URL: failed to parse URL git@bitbucket.org:traackr/influencer-dashboard.git: parse git@bitbucket.org:user/project.git: first path segment in URL cannot contain colon (similar to the issue I reported here: jenkins-x-plugins/jx-admin#160).
If I use a Bitbucket HTTPS URL, I see this failure:
? Which git repository URL to import: https://bitbucket.org/user/project.git
error: failed to clone in directory '': failed to clone repository https://<github username>:<github access token>@bitbucket.org/user/project.git to directory: /tmp/project: failed to run 'git clone https://<github username>:<github access token>@bitbucket.org/user/project.git /tmp/project' command in directory '/tmp', output: 'Cloning into '/tmp/project'...
remote: Invalid username or password
fatal: Authentication failed for 'https://<github username>:<github access token>@bitbucket.org/user/project.git/''
- This seems to be the "import from any git URL" option. Why is it injecting the github credentials into the URL?
In summary:
- It's not clear from the prompts what the credentials are being used for
- I would prefer to use SSH URLs and SSH keys for git repository access. For API access (e.g. webhooks), I would prefer to use a separate non-user account and it should be very clear that I am configuring it for that purpose.
- I know that Github has the highest level of support, but I expected it to be able to fetch from any git repository
This may be three separate issues: 1 - confusing workflow, 2 - fails with Bitbucket, 3 - Git SSH support
I'm operating in a new Jenkins X installation running locally in minikube on macOS. To get things running, I had to input a username and token giving access to the "cluster git repository", which was clear in the documentation and makes sense.
When attempting to create a new project with
jx project quickstart, the authentication prompts did not make sense. Here was the first:Then the next prompts:
~/.ssh/configand could potentially be pulled/stored in a secret the same way a user/pass mightgithub.com?I decided to try
jx projectinstead ofjx project quickstart, andImport code from a git repository.If I use a git SSH URL like
git@bitbucket.org/user/project.git, it fails witherror: failed to create authenticated git URL: failed to parse URL git@bitbucket.org:traackr/influencer-dashboard.git: parse git@bitbucket.org:user/project.git: first path segment in URL cannot contain colon(similar to the issue I reported here: jenkins-x-plugins/jx-admin#160).If I use a Bitbucket HTTPS URL, I see this failure:
In summary: