Skip to content
This repository was archived by the owner on Mar 15, 2018. It is now read-only.

Commit ab22702

Browse files
committed
add fabfile for deployment (bug 904233)
1 parent 58a6eb3 commit ab22702

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

fabfile.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import os
2+
3+
from fabric.api import env, execute, lcd, local, parallel, roles, task
4+
from fabdeploytools.rpm import RPMBuild
5+
import fabdeploytools.envs
6+
7+
import deploysettings as settings
8+
9+
env.key_filename = settings.SSH_KEY
10+
fabdeploytools.envs.loadenv(os.path.join('/etc/deploytools/envs',
11+
settings.CLUSTER))
12+
ROCKETFUEL = os.path.dirname(__file__)
13+
ROOT = os.path.dirname(ROCKETFUEL)
14+
15+
16+
@task
17+
def pre_update(ref):
18+
with lcd(ROCKETFUEL):
19+
local('git fetch')
20+
local('git fetch -t')
21+
local('git reset --hard %s' % ref)
22+
23+
24+
@task
25+
def update():
26+
with lcd(ROCKETFUEL):
27+
local('npm install')
28+
local('make includes')
29+
30+
31+
@task
32+
@roles('web')
33+
@parallel
34+
def _install_package(rpmbuild):
35+
rpmbuild.install_package()
36+
37+
38+
@task
39+
def deploy():
40+
with lcd(ROCKETFUEL):
41+
ref = local('git rev-parse HEAD', capture=True)
42+
43+
rpmbuild = RPMBuild(name='rocketfuel',
44+
env=settings.ENV,
45+
ref=ref,
46+
cluster=settings.CLUSTER,
47+
domain=settings.DOMAIN)
48+
rpmbuild.build_rpm(ROOT, ['rocketfuel'])
49+
50+
execute(_install_package, rpmbuild)
51+
52+
rpmbuild.clean()

0 commit comments

Comments
 (0)