fabric

hugoをインストールしたものの使い方がよく分からなくて、PPC64にhugoをインストールしなくちゃいけないのかと思い、PPC64のパッケージを探すが無いしgo言語の1.4のバージョンを入れるところから始めなくてはいけないが、そもそも適合アーキタイプじゃないのでクロスコンパイルするが…断念。疲れて時間だけが過ぎていった。

サーバーにGitをインストールしてデプロイしたらいいのかと思いやってみたが、よく分からんファイルがあっただけだった。
しばし考えてローカルのファイルをサーバーにコピーするにはrsync使ってみることにしてみました。
pythonでシェルスクリプトを簡単に実行出来るfabricがあったので使ってみました。

#sudo pip install fabric

pip使ってfabricをインストールする。

#vim fabfile.py  

hugoのドキュメントルートで作る。

#!/usr/bin/env python
#" --- coding: utf-8 ---"

from fabric.api import env, run, roles, cd  
from fabric.contrib import project, console  
from contextlib import closing  
from fabric.contrib.project import rsync_project  

env.hosts = ["toyholic.com"]  
env.user = 'root'  
env.key_filename = ['/var/root/.ssh/id_ecdsa']  
def rsync():  
      project_path = '/var/www'  
      local_path = '/Users/yui/toyholic/public/*'  
      with cd(project_path):  
        exclude = ["*.py","*.pyc", "*~", ".DS*", "*.swp", ".git", ".DS_Store"]  
        rsync_project(project_path, local_dir=local_path, exclude=exclude)
#hugo && sudo fab rsync  

しかし無駄に楕円曲線暗号を入れてみたりと、カオスな実生活と同じようなサーバー構成になるんだろうな。

追記:後日fabricのバージョンが2.0になってapiが大幅に変更になったので…

$ pip install "fabric<2"