Bamboo fails to push tags to Git repo

Config Manager
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 27, 2013

I am using Bamboo 5.2 to build and test solutions stored in Git and managed by Stash 2.8

At the end of a build I want to create a Git tag and push it back to the Stash-managed repo. There appears to be no built-in support for this for Git, just for SVN - is this to be provided in a future release?

Lacking this, I have created an inline script which issues a number of commands

cd ${bamboo.build.working.directory}\solution
"C:\Program Files (x86)\Git\bin\git.exe" tag "${bamboo.buildKey}_${bamboo.buildNumber}"
"C:\Program Files (x86)\Git\bin\git.exe" remote add origin ssh://git@ip_addr:7999/project/solution.git
"C:\Program Files (x86)\Git\bin\git.exe" push --tags origin

The "tag" and "remote" commands execute but the push hangs, resulting in the build hanging and no log file (presumably buffered in memory and lost on stopping the build). If I type these exact commands in a bash or command window as the same user as that running the build agent, they work.
I googled for help and found https://confluence.atlassian.com/display/BAMKB/Merging+and+pushing+to+remote+repository+fails which suggests a work around but I couldn't get it to work either.

I also note that a similar question at https://answers.atlassian.com/questions/215482/bamboo-failing-to-git-push-changes has gone unanswered...

What am I missing?

6 answers

1 accepted

1 vote
Answer accepted
Config Manager
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 1, 2013

Thanks for the advice. I've tried the relatively unsecure http with password as Charles suggests and it has worked. i.e.

"C:\Program Files (x86)\Git\bin\git.exe" push --tags http://user:password@ip_addr:7990/scm/project/solution.git

I had tried disabling shallow clones as comments elsewhere on the internet suggested that there may be problems - this is why I had defined the remote as not being a full clone meant that it was not set up by default. But it made no difference.

I will now re-experiment with SSH, and try the Cygwin version as well. If I have to leave it like this then this won't really be a problem as we have a standard build user account with password that most people know and so the security risk is low.

I'll leave off accepting until I've looked into this a bit more (tomorrow) and post an update.

1 vote
Marco_Wlotzka October 7, 2014

We're using bamboo on windows and checkout via https there. This is my solution:

Create _netrc file under bamboo service user account home.

git.mycompany.com
login username
password password

 

Source: http://stackoverflow.com/questions/6031214/git-how-to-use-netrc-file-on-windows-to-save-user-and-password

Then, create a script task with following content to change remote url right after checkout

git remote set-url origin ${bamboo.repository.git.repositoryUrl}

And don't forget to set the git user:

$ git config --global user.name "bamboobuild"
$ git config --global user.email bamboobuild@mycompany.com
 

The log:

build	08-Oct-2014 09:45:49	GitTag:
build	08-Oct-2014 09:45:49	  Read C:\b\SA-ICG0-JOB1\tagversion.txt
build	08-Oct-2014 09:45:49	  git tag -a "v1.2.1" -m "Release from master tagged with v1.2.1!" -m"***NO_CI***"
build	08-Oct-2014 09:45:49	  git push origin "v1.2.1"
build	08-Oct-2014 09:45:51	  To https://git.mycompany.com/team/foobar.git
build	08-Oct-2014 09:45:51	   * [new tag]         v1.2.1 -> v1.2.1


 

1 vote
Sean Wolf May 7, 2014

The authenticity of the host was not verified.. git was asking you to type 'yes' or 'no'

0 votes
Rajendra Talluri May 4, 2014

Hi

In mycase i am trying to push the jar generated back to Git.

So i have created and inline script with

git init

git add myjar and

Tried wit the http://user:pwd@github.com/myrepo.git

but this was not worked any idea or sugession please

0 votes
Przemek Bruski
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 30, 2013

Try redirecting the input to git from NUL like "git whatever <NUL" - maybe there's some interactive input required?

Also if you're using SSH distributed with Git, it's horrible - try using the one from Cygwin, it's approximately 10 times faster (also more stable).

0 votes
cofarrell
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 30, 2013

Hi,

The hanging is very strange. Do you have any kind of passphrase on the SSH key? As an experiment you could try use the HTTP URL (and hard code the username/password). If that works it's probably something to do with SSH.

You might want to disable 'shallow clones', it's an option under 'advanced' and I believe it's the default. I don't see how that would cause the hanging, but it's worth a shot.

I'm afraid I work on Stash and I couldn't say if Git will be added to the VCS Tagging plugin in future.

Cheers,
Charles

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events