我正在尝试使用 ansible 执行 git pull/push。我在一台服务器上运行 ansible,并希望在远程主机上自动化或协调 git pull/push。
现在,由于我没有在 ansible doc 网站上找到执行此操作的 mmodule,因此我决定使用脚本模块进行脚本路由
问题是,当运行脚本中调用的 git pull 时,ansible 会出现问题
有人知道如何使用 ansible 运行 git pull/push 吗?
谢谢
答案1
Ansible 的 Git 模块就“拉”而言,它会为您完成这一操作,只需确保运行该命令的用户具有基于密钥的 git repo 访问权限。
您可以通过在任务中添加“sudo_user”参数来指定以哪个用户身份运行命令:
- name: Get stuff from git
git:
repo: [email protected]:you/your-git-repo.git
dest: /opt/git-stuff
sudo_user: <your user that has the ssh key>
看https://docs.ansible.com/playbooks_intro.html有关使用 sudo_user 的更多信息。
答案2
它应该是这样的:-
tasks: - name: pull from git git: repo: [email protected]:xyz.git dest: /root/Development/abc update: yes version: master
注意:此处远程用户是root
答案3
你可以尝试这个
- git:
repo: 'https://foosball.example.org/path/to/repo.git'
dest: /srv/checkout
version: release-0.22
完整文件https://docs.ansible.com/ansible/latest/modules/git_module.html
答案4
你可以直接拉取 repo:
- name: GIT pull
become: true
tags:
- git_pull
git:
repo: "https://{{ gituser | urlencode }}:{{ gitpassword | urlencode }}@git.example.ir/scm/devops/repo.git"
dest: "{{ repo_path }}"
update: yes
clone: no
version: master
注意clone: no
以上内容!