We are using gitolite to manage our central Git repository ( I wish we could move to stash, but it's not an option at the moment). The current process to clone a git repo in gitolite looks like :
git clone git@hostname:repo.git
where hostname is one of the host in our domain. Gitolite handles authentication via ssh keys stored in a gitolite repo. Doing a simple ssh git@hostname lists all the repos accessible. From a user perspective, we just need to have our rsa pubic key in the gitolite repo and that's it - no pwd to provide.
I can't get Bamboo to use one of the gitolite repository for cloning - the plan either:
* errors out before starting the build : (when specifying git as the username)
Error encountered while triggering manual build: com.atlassian.bamboo.repository.RepositoryException: myhost02:my_proj.git: Auth fail Plan 'MYPROJ-TEST' did not start
* fails to checkout during the build (when attaching the private key to the git repository configuration)
fatal: The remote end hung up unexpectedly 09-Aug-2012 15:25:36 Error occurred while running Task 'Checkout Default Repository(3)'. This build will fail. Caused by: 09-Aug-2012 15:25:36 java.lang.RuntimeException: com.atlassian.bamboo.plugins.git.GitCommandException: command [/usr/local/bin/git, fetch, ssh://firstname.lastname@example.org:34552/my_project.git, +refs/heads/dev:refs/heads/dev, --update-head-ok] failed. Working directory was `/home/user/bamboo/myagent05/xml-data/build-dir/MYPROJ-TEST-JOB1'. stderr: SSH Proxy error: Error starting ssh client stdout: [git@myhost02/10.236.120.112:22] Error starting ssh client: Session is closedfatal: The remote end hung up unexpectedly 09-Aug-2012 15:25:36 at com.atlassian.bamboo.executor.RetryingTaskExecutor.rerun(RetryingTaskExecutor.java:119) 09-Aug-2012 15:25:36 at com.atlassian.bamboo.executor.RetryingTaskExecutor.runTask(RetryingTaskExecutor.java:79) 09-Aug-2012 15:25:36 at com.atlassian.bamboo.executor.RetryingTaskExecutor.retry(RetryingTaskExecutor.java:174) 09-Aug-2012 15:25:36 at com.atlassian.bamboo.plugins.vcs.task.VcsCheckoutTask.execute(VcsCheckoutTask.java:97) 09-Aug-2012 15:25:36 at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:180) 09-Aug-2012 15:25:36 at com.atlassian.bamboo.task.TaskExecutorImpl.executePreparationTasks(TaskExecutorImpl.java:64) 09-Aug-2012 15:25:36 at com.atlassian.bamboo.build.pipeline.tasks.PrepareBuildTask.call(PrepareBuildTask.java:66) 09-Aug-2012 15:25:36 at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:202) 09-Aug-2012 15:25:36 at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:103) 09-Aug-2012 15:25:36 at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:109) 09-Aug-2012 15:25:36 at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) 09-Aug-2012 15:25:36 at
The second case looks like a bug that we've fixed in Bamboo 4.2 (which should be released in a matter of days). For the time being, are you able to specify the repository address in a format other than git@hostname:repo.git ?
For example git@hostname:/full/path/to/repo.git
:) we also use gitolite for our git repositories.
The biggest pain in the butt is that you have to add the openssh private key to the repository definition in the plan.
You can set the repository location to ssh://git@mygitservername/path/to/the/repo.git'
notice that I dont have a ":" in there...
But I would say the best thing is to look at the format of the url (since the format I just provided works with our bamboo to hit our gitolite instance) and to make sure that a correct openssh formatted private key is added to the plan's repository definition (bamboo ignores ~/.ssh/id_rsa and doesnt process ~/.ssh/config)
Over the next several weeks we'll be sharing some of our Getting Started guides here in the community. Throughout this series of posts, we'd love to hear from customers and non-customers ab...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs