Inertia

invoke

rake 같은 것을 python세계에서 fabric을 사용하고 있었는데, fabric이 invoke로 이름이 바뀌었다. 앞으로 이것으로 사용해 봐야겠다.

설치는 아래처럼 하면 되고

pip install invoke

디렉토리에 tasks.py에 아래와 같은 태스크를 정의하면

1
2
3
4
5
6
7
from invoke import task

@task
def co(c, branch):
c.run("git checkout -b {}".format(branch))
def db(c):
c.sudo('ssh -L 33:<remote_db_url>:3306 dev',password='<sudo_password>')

inv db

을 바로 부를 수 있다. 좋은 것은 상위 디렉토리에 있는 tasks.py를 recursive하게 보기 때문에 위 폴더에 상위 폴더의 task가 inherit된다.