网站同步设置

这个同步设置在调试的时候遇到了点问题。就是如果私钥设置了密码,在ansible-playbook工作时并不出弹输入密码的要求。会一直卡在这一步,没有反应。

由于ansible git module 没有 git push,只能用手动或者写个脚本代替。
这个issue已经有些年头了,看来是不想处理。
git add 和 git commit都要自己手动处理下。这个配置以后还是有机会再改进的,现在已经能很好工作。

当前用户目录的 .ssh 目录中config追加git指定使用私钥的路径。

cat << EOF >> ~/.ssh/config
host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa
User git
EOF

下面是 yaml 设置。

---
- hosts: web
remote_user: hexo
gather_facts: no
tasks:
- name: "update dengyt.net website"
git:
repo: [email protected]:YOULOGINNAME/mywebsite.git
dest: ~/mywebsite
refspec: "+refs/pull/*:refs/heads/*"

- name: "deploy and generate"
command: /usr/bin/node /usr/bin/hexo deploy --generate
args:
chdir: ~/mywebsite/