mercurial をインストールして試した後、プロジェクトをビルドできるように Hudson でリポジトリをクローンしようとしています。
現時点では次のタスクが機能します。
- 外部ホストに同期すると、そのホストにコードが表示されます。
現在、ホスト上のコードにアクセスできるように hudson / jenkins を設定しようとしています。
しかし、残念ながらエラーが発生しています。
Started by user anonymous
$ hg clone --rev default https://bitbucket.org/*/testproject "F:\Hudson\jobs\testproject\workspace"
abort: http authorization required
ERROR: Failed to clone https://bitbucket.org/*/testproject
[workspace] $ hg log --rev . --template {node}
java.io.IOException: Cannot run program "hg" (in directory "F:\Hudson\jobs\testproject\workspace"): CreateProcess error=267, The directory name is invalid
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:698)
at hudson.Launcher$ProcStarter.start(Launcher.java:329)
at hudson.Launcher$ProcStarter.join(Launcher.java:336)
at hudson.plugins.mercurial.MercurialSCM.joinWithPossibleTimeout(MercurialSCM.java:298)
at hudson.plugins.mercurial.HgExe.popen(HgExe.java:191)
at hudson.plugins.mercurial.HgExe.tip(HgExe.java:171)
at hudson.plugins.mercurial.MercurialSCM.calcRevisionsFromBuild(MercurialSCM.java:254)
at hudson.scm.SCM._calcRevisionsFromBuild(SCM.java:304)
at hudson.model.AbstractProject.calcPollingBaseline(AbstractProject.java:1186)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1175)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:523)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:418)
at hudson.model.Run.run(Run.java:1362)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:145)
Caused by: java.io.IOException: CreateProcess error=267, The directory name is invalid
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 18 more
Finished: FAILURE
ユーザー名 x とパスワード y を使用してデータにアクセスするように Hudson に指示するには、どのような操作を行う必要がありますか?
編集済み=> ssh を統合する方法を見つけました。
ベストアンサー1
httpsの代わりにSSHを使用
PuTTYのウェブサイトからputty.exe、puttygen.exe、pageant.exe、plink.exeをダウンロードします。puttygenを起動してキーを生成します。OPENSSHフォーマット(ハドソン形式) (=>Svn + SSHの使い方)
「秘密鍵を保存」ボタンをクリックして、.PPK ファイルをどこかに保存します。「公開鍵を保存」ボタンをクリックして保存します。
ウェブサイトにアクセスし、公開SSHキーを入力します。
pageant.exe を実行します。ステータス トレイにページェント アイコン (帽子をかぶったコンピューター) が表示されます。
ページェントアイコンを右クリックして、「キーの追加」を選択します。先ほど保存した .PPK ファイルを選択し、そのパスフレーズを入力します。
以下 (最後の部分はコピー) は、Ted Naleid (ありがとうございます!) のブログから引用したもので、こちらでご覧いただけます。ハドソンをあなたの...に接続します
HudsonにMercurialプラグインをインストールする
後はMercurialプラグインをHudsonにインストールするだけです。ブラウザでhttp://IPアドレスを入力してください:8080ハドソンが出てくるはずだ。
「Hudson の管理」をクリックし、「プラグインの管理」に進みます。「利用可能」タブに移動し、「Hudson Mercurial プラグイン」をチェックして、「インストール」ボタンをクリックします。Hudson は再起動を促し、その後インストールされます。
その後、新しいジョブを作成すると、「ソース コントロール管理」セクションに新しい「mercurial」オプションが表示されます。それを選択し、「リポジトリ URL」フィールドに ssh URL を入力します。次に、「ブランチ」フィールドに「default」を入力し、ジョブの残りの部分をセットアップして、コードをビルド/テストします (読者の皆さんに演習を残しておきます)。
そして、これが最初の成功したビルドです!
結論: これは、インターネット上に散らばっている小さなブログ投稿の要約です。この投稿が、Hudson と Mercurial の起動に役立つことを願っています。