2
I have an automatic build script for my build server that builds Android applications. As part of this building process, I need to pull the current sources from the repository to make a release and make a push command at the end of the build process to update the repository with the files that were changed during the build process by the build server.
So I have to build the following bash script:
#!/bin/bash
clear
echo "Start of Pull command"
git pull
echo "End of Pull command"
echo "Start of incrementedRelease build"
gradle incrementedRelease
echo "End of incrementedRelease build"
echo "Start of Commit command"
git commit -a -m "======================== Commit to change Manifest Version ======================"
echo "End of Commit command"
echo "Start of Push command"
git push
echo "End of Push command"
The issue is in the command of git push
and git pull
, git prompts me for a password.
Now I tried to run this command to create a password store, before entering the password for git.
sudo git config --global credential.helper store
with and without the sudo
command, but next time I run the script it's still prompts me for a password.
Could some one tell me how I can store the git password so I won't be prompted for each pull or push command? preferably take it from a file, and not use ssh, because I don't have access to the git server in order to generate the keys there..
UPDATE: This are the folder I have in the user's home folder:
Thanks in advance.
Well yeah, I see from the docs that it should work, but for some reason it does not. And I can't find a good explanation why. – Emil Adz – 2014-09-23T10:07:50.257
1@EmilAdz How's your ~/.git-credentials file? Does it exist and have correct file permissions? Is there something in it? – Likeyn – 2014-09-23T12:03:00.563
For some reason I can't find this file, maybe I just don't understand where it should be located in linux. – Emil Adz – 2014-09-23T12:18:25.750
@EmilAdz It should be in the home folder of the user running the git commands, usually /home/username. Also note that files starting with a "." (dot) are hidden. – Likeyn – 2014-09-23T13:14:32.037
please see the the update of the folder I have under home/user. I think this folder is not existing for me. – Emil Adz – 2014-09-23T13:25:04.847
@EmilAdz Hmm there's no .git-credentials file and your local .gitconfig file seems to be owned by 'root' when I think it should belong to 'user'... Try running
git config -l | grep credential
. If your config option is properly set, it should appear in the result. If it doesn't,chown user:user
the .gitconfig file, edit it to add your config option in it, and try using the credential store again. – Likeyn – 2014-09-23T15:11:29.440Thanks for this informative comments, I'm an amateur in Linux and having struggle doing the simplest staff. I will try your tips and let you know if it's worked. – Emil Adz – 2014-09-23T15:38:31.370
When I run the grep command the result is: credential.helper=store so I guess the config file is configured properly. – Emil Adz – 2014-09-23T15:42:20.283
@EmilAdz Seems like it yeah, although it's kinda odd. Last thing I can think of: check the user owns and can actually write to its own home folder. – Likeyn – 2014-09-23T16:04:00.497
Seems like because the link the source server was an ssh link I had no other way but to use ssh keys to make the connection secure and without password prompts. – Emil Adz – 2014-10-02T15:54:25.767