2017-07-13 9 views
0

私はJenkinsを初めて利用しています。私は作業コピーがWindowsサーバー上にあり、メインのリポジトリとして機能するリモートLinuxサーバーにコードをコミットする単純な接続を試みています。JenkinsローカルコミットからのLinuxでのSVNアップデート

私の配置コードは、私がJenkinsをインストールした場所にあり、作業コピーに何かをコミットするとすぐにSVN UPDATEを実行したいと思っています。私はポストコミットの接続を行っているし、Jenkinsも適切なリビジョンとコードのアップデートでこれについてアップデートしていますが、物理的なSVN UPDATEはそのサーバでは起こっていません。私は間違って何をしていますか?

# Working Copy - Windows 
# Main Repo - Linux Machine 
# Code Deployment Server - Another Linux Machine [Here I am getting intimation about what changes are committed with revision number but physical "SVN COMMIT" is not happening] 

### post-commit code on Main Repo machine: 
------------------------------------------------ 
#!/bin/sh 

CRUMB=$(curl -s 'http://username:[email protected]:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)') 

curl -X POST -H "$CRUMB" "http://hostname:8080/job/title/build?token=svnwillbetriggeredremotely" --user username:password 

できるだけ早く私は、Windowsマシン(作業コピー)にコミットとして、それは私が働いて「SVNのUPDATE」を必要とする主なDeploymentサーバー上で、次の私を与える:

Workspace of titlename on master 
[I get all the filenames as updated with proper content and revision number] 

私が欲しいものです"SVN UPDATE"を展開サーバーディレクトリで実行します。

マイ・ジェンキンス構成:

Subversion URL - MainRepoHostname 
Local module directory - Path for the local deployment directory where I need SVN UPDATE to work 
Check-out Strategy - Use 'SVN Update' as much as possible. 
+1

フォーマットのために質問を理解することは難しいです。 – bahrep

+1

[もっと速い回答を得るために、どのような状況で私の質問に「緊急」やその他の類似のフレーズを追加することができますか?](// meta.stackoverflow.com/q/326569) - 要約はこれがボランティアに対処する理想的な方法であり、おそらく回答を得ることは非生産的です。これをあなたの質問に追加しないでください。 – halfer

答えて

0

私は解決策を自分自身を発見しました。

実際には、ワークスペースディレクトリで更新されており、絶対パスを直接与えることはできません。これを行うには、シェルexecuteを使用する必要があります。私はそれをして "Execute Shell"にコマンドを入れ、それがうまくいった。

関連する問題