元の質問
スクリプト内のSeleniumテストに続いて撮影したスクリーンショットをアップロードするためにAmazonS3を使用しているPythonスクリプトがいくつかあります。
現在、S3からGitHubを使用するように移行しているため、GitPythonを見つけましたが、実際にローカルリポジトリにコミットしてサーバーにプッシュするためにGitPythonを使用する方法がわかりません。
私のスクリプトは、ワークスペースと同様のディレクトリ構造を構築し、\images\228M\View_Use_Case\1.png
S3にアップロードするときは単純なプロセスでした。
for root, dirs, files in os.walk(imagesPath):
for name in files:
filename = os.path.join(root, name)
k = bucket.new_key('{0}/{1}/{2}'.format(revisionNumber, images_process, name)) # returns a new key object
k.set_contents_from_filename(filename, policy='public-read') # opens local file buffers to key on S3
k.set_metadata('Content-Type', 'image/png')
これに似たものはありますかgit add images
、それとも私が完全に見逃したGitPythonのbashタイプコマンドのような単純なものがありますか?
ファブリックで更新
そのため、kracekumarの推奨に従ってFabricをインストールしましたが、(GitHub)ホストを定義する方法に関するドキュメントが見つかりません。私のスクリプトは、アップロードを機能させるのに非常に簡単です。
from __future__ import with_statement
from fabric.api import *
from fabric.contrib.console import confirm
import os
def git_server():
env.hosts = ['github.com']
env.user = 'git'
env.passowrd = 'password'
def test():
process = 'View Employee'
os.chdir('\Work\BPTRTI\main\employer_toolkit')
with cd('\Work\BPTRTI\main\employer_toolkit'):
result = local('ant viewEmployee_git')
if result.failed and not confirm("Tests failed. Continue anyway?"):
abort("Aborting at user request.")
def deploy():
process = "View Employee"
os.chdir('\Documents and Settings\markw\GitTest')
with cd('\Documents and Settings\markw\GitTest'):
local('git add images')
local('git commit -m "Latest Selenium screenshots for %s"' % (process))
local('git push -u origin master')
def viewEmployee():
#test()
deploy()
それは\o/フラーで動作します。