リモート サーバーで C/C++ プログラムをコンパイルしたいと考えています。コンパイラは、1 台の PC (サーバー) と、LAN/WLAN 経由でサーバーに接続された他のクライアント PC にあります。クライアントはプログラムを作成し、サーバーに送信します。サーバーはプログラムをコンパイルし、出力/エラーをクライアント PC に送信します。どうすればこれを行うことができますか?このプロジェクトを開始する方法と場所は?
3 に答える
分散 C/C++ コンパイラであるDistCCを試してください。
Jenkins はときどき非常に遅くなり、多くのメモリ リークが発生します。サーバーの速度が遅い場合は、Buildbot を使用するか、リポジトリへの新しいコミット後にトリガーされる独自のスクリプトを作成することをお勧めします。python.git があります。
https://gitorious.org/git-python
ubuntuでは次のとおりです。
sudo apt-get install gitpython
前回の非常に人気のあるソリューションの1つは、Jenkinsです。 http://jenkins-ci.org/。
Jenkinsは、リポジトリ(SVN、GITなど)によってトリガーできます。ウォッチドッグのように-リポジトリに新しいコミットがあることがわかったら、何かをします。たとえば、GITリポジトリにコミットすると、サーバー上でスクリプトが自動的に実行されます。
そのスクリプトは値を返すことができます。(例では)falseが返される場合、ビルドは壊れており、赤いボールがjenkins HTTP Webサイトに表示され、ユーザーは電子メールを受信します。これはそれがどのように見えるかです:
http://www.findbestopensource.com/AppImages/Article/jenkins-img1.jpg
ジェンキンスはうなずくことができます。メニューにはコンソール出力、blame、diff、そしてたくさんの無料プラグインがあります。ITに関係のない人でも設置はとても簡単です。
したがって、jenkinsをローカルマシンに接続する必要があるのは、現在使用しているリポジトリだけです;)