Skip to content

Instantly share code, notes, and snippets.

@danielmartins
Created May 22, 2013 13:13
Show Gist options
  • Save danielmartins/5627450 to your computer and use it in GitHub Desktop.
Save danielmartins/5627450 to your computer and use it in GitHub Desktop.
Run Satis Build on Webfaction via CronJob
#!/usr/bin/python2.7
# -*- coding: utf-8 -*-
import subprocess
from os import putenv
PHP_ABS_PATH = '/home/danielm/bin/php'
SATIS_ABS_PATH = '/home/danielm/satis/bin/satis'
PACKAGIST_BUILD_CONF_PATH = '/home/danielm/packagist/config.json'
PACKAGIST_OUTPUT_PATH = '/home/danielm/webapps/lumecomposerpackages/'
def make_env():
putenv('HOSTNAME', 'web246.webfaction.com')
putenv('TERM', 'xterm')
putenv('SHELL', '/bin/bash')
putenv('HISTSIZE', '1000')
putenv('USER', 'danielm')
putenv('LS_COLORS', 'no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:')
putenv('MAIL', '/var/spool/mail/danielm')
putenv('PATH', '/home/danielm/bin:/home/danielm/tools/wp-cli/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/danielm/bin')
putenv('INPUTRC', '/etc/inputrc')
putenv('PWD', '/home/danielm')
putenv('LANG', 'en_US.UTF-8')
putenv('SHLVL', '1')
putenv('HOME', '/home/danielm')
putenv('LOGNAME', 'danielm')
putenv('CVS_RSH', 'ssh')
putenv('LC_CTYPE', 'UTF-8')
putenv('LESSOPEN', '|/usr/bin/lesspipe.sh \%s')
putenv('MAILFROM', '[email protected]')
putenv('G_BROKEN_FILENAMES', '1')
putenv('_', '/bin/env')
def exec_build():
make_env()
process = subprocess.Popen(['/bin/bash'], shell=False, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
cmd = '%s %s %s %s %s' % (PHP_ABS_PATH, SATIS_ABS_PATH, 'build', PACKAGIST_BUILD_CONF_PATH, PACKAGIST_OUTPUT_PATH)
out = process.communicate(' %s --no-interaction' % cmd)
if __name__ == '__main__':
exec_build()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment