我写了一个有趣的剧本,它创建了一个新的BitBucket存储库。 现在,我要根据BitBucket中存储库源下面显示的说明配置存储库:
您有一个空的存储库要开始,您需要运行这些 终端中的命令。刚接触Git?学习基本的Git命令 使用存储库我的代码已经准备好推送 已经准备好将代码推送到此存储库,然后运行此代码 在您的终端中。
cd existing-project
git init
git add --all
git commit -m "Initial Commit"
git remote add origin http://xxxxxxx/scm/project/my-repo.git
git push -u origin master
My code is already tracked by Git
If your code is already tracked by Git then set this repository as your "origin" to push to.**
All done with the commands?
Refresh
我可以使用Git模块吗?或者如何在ansible中运行这些命令? 我只设法用Git模块克隆了仓库。
谢谢
答案 0 :(得分:2)
如@Dan Farrell Ansible Git的答案中所述,似乎不允许推送。
作为初始方法,您可以尝试类似的操作:
- name: Git push.
tasks:
- name: Set git origin
shell: "git remote set-url origin https://gitUserName:gitPassword@yourHost.com/storage/repo.git"
- name: Push to origin.
shell: "git push origin yourBranch"
答案 1 :(得分:1)
https://docs.ansible.com/ansible/latest/modules/git_module.html似乎支持拉取,但是我看不到使用该模块推的任何方法。
如果我没记错的话,用于ansible的git
模块只包装了git
可执行文件,因此将自己的shell
或command
任务编写为相对容易执行所需的git命令。
您可能希望将copy
模块和content
设置一起使用来创建一个新文件(git不允许“空”提交,因为它仅跟踪更改,因此如果没有,则不能提交更改),然后在文件更改时有条件地运行git add
和git commit
步骤。
以我的经验,创建git repos并使用Ansible管理其内容并不是一种常见的做法。我想知道它的实用性(假设您想将ansible本身检查到一个存储库中以跟踪对ansible的更改,因此无论如何您最终还是要执行手动git操作。)但是肯定可以。