Pushing repository to remote after a successful build

Johannes P. September 7, 2015

I have a bamboo plan set up to pull from a bitbucket repository. It builds every time a push is made to the repo. If and only if the plan successfully completes, I want to push the changes (the ones I originally pushed to bitbucket which triggered the plan) to a remote git server.

 

So far I did the following:

  • The first stage pulls the repo, and shares the '.git' directory as an artifact
  • A few stages build and test the repository
  • The last stage has the '.git' repository as an artifact dependency. I use a script to add the remote repo and then push to it.

If I set the 'Source Code Checkout' task to 'Force Clean Build' this works and every commit I make is built on the server, then pushed to the remote repository. This is what I want.

 

However if I don't force a clean build, the first build's push is sent to the remote, but consequent builds are not. If I navigate to the Job's directory (for me /var/atlassian/application-data/bamboo/xml-data/build-dir/<JOB_NAME>) and run 'git status' I get: "HEAD detached at 0631325" - showing the short version of the hash of the latest commit.


I'm not familiar enough with git to understand exactly how to deal with this in an efficient manner. I know pulling the repo again completely to another location would technically work, but I feel that that is unnecessary since to build the plan the repo was pulled already. The files are already there.

 

Is there a recommended way that I could push the changes from this headless repo to a remote repo, instead of pushing from the outdated origin branch?

 

 

1 answer

1 accepted

0 votes
Answer accepted
Johannes P. September 13, 2015

I ended up resolving this issue by explicitly pushing from the head:

git push backup HEAD:master
git push backup HEAD:master --tags

where 'backup' is a remote set via https:

git remote add backup https://USER:PASSWORD@URL/TO/REPO.git

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events