2011-11-14 9 views
2

何らかの理由で、私はリモートサーバ上で自分のプロジェクトをコンパイルしてテストする必要があります。私が使用リモートコンパイルとテストのベストプラクティス?

一つの解決策は、これは私が現在

# usage: make -f r_makefile 
all.remote: a.remote b.remote makefile.remote 

%.remote: %.c 
    scp $< remotehost:~/work/test 
    touch [email protected] 

makefile.remote: makefile 
    scp $< remotehost:~/work/test 
    touch [email protected] 

test: all.remote 
    ssh remotehost 'cd work/test && make test' 

そしてmakefileを使用r_makefileスクリプトで、ssh + makeです。

CC = gcc 
objects = a.o b.o 
a: $(objects) 
    $(CC) $(objects) -o a 

a.o: a.c 
b.o: b.c 

test: a 
    ./a 

今では私のために正常に動作しますが、私はmakefiler_makefileの両方を追跡する必要があります。コードが大きくなると(makefileがより複雑になります)、r_makefileを変更するのは難しくなります。

私のためにこれを行うツールがあるのだろうか、それともr_makefileを自動的に生成するのだろうかと思います。私は現在、バージョン管理のためにgitを使用しています。

リモートコンパイルとテストのベストプラクティスは何ですか?この目標を達成する別の方法はありますか?

+1

ディレクトリ全体を 'rsync'するだけでは簡単ではないでしょうし、' ssh make ... ' –

答えて

0

リモートテストのベストプラクティスはDejaGnuです。このプロジェクトは、ドキュメンテーションでは稀少なものですが、非常に強力で、リモートテストをサポートしています。

関連する問題