38

Ubuntu 12.04 に Jenkins をインストールしたばかりで、プロジェクトを複製してビルドするだけの簡単なビルドを作成したいと考えていました。

タグ付けできないので失敗。どうやらgit設定のUserNameとUserEmailを設定していないため、「あなたが誰であるかを教えてください」とエラーになるため、タグ付けできません。

しかし、それらを設定する必要はありません.Jenkinsはリポジトリをクローンするだけです.変更をプッシュしないのになぜ資格情報が必要なのですか?タグを作成する必要があるのはなぜですか?

完全なエラー ログは次のとおりです。

Started by user anonymous
Checkout:workspace / /var/lib/jenkins/jobs/Foo.Bar.Baz/workspace - hudson.remoting.LocalChannel@38e609c9
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
Fetching upstream changes from git@mygithost.mydomain.local:foo-bar-baz/foo-bar-baz.git
Seen branch in repository origin/1.0
Seen branch in repository origin/1.5.4
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Commencing build of Revision 479d37776b46283a946dd395c1ea78f18c0b97c7 (origin/1.0)
Checking out Revision 479d37776b46283a946dd395c1ea78f18c0b97c7 (origin/1.0)
FATAL: Could not apply tag jenkins-Foo.Bar.Baz-2
hudson.plugins.git.GitException: Could not apply tag jenkins-Foo.Bar.Baz-2
at hudson.plugins.git.GitAPI.tag(GitAPI.java:737)
at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1320)
at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1268)
at hudson.FilePath.act(FilePath.java:758)
at hudson.FilePath.act(FilePath.java:740)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1268)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1193)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:565)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:453)
at hudson.model.Run.run(Run.java:1376)
at hudson.matrix.MatrixBuild.run(MatrixBuild.java:220)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:175)
at hudson.model.OneOffExecutor.run(OneOffExecutor.java:66)
Caused by: hudson.plugins.git.GitException: Command "git tag -a -f -m Jenkins Build #2 jenkins-Foo.Bar.Baz-2" returned status code 128:
stdout: 
stderr: 
*** Please tell me who you are.

    Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident  <jenkins@somehostname.(none)> not allowed

    at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:786)
    at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:748)
    at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:758)
    at hudson.plugins.git.GitAPI.tag(GitAPI.java:735)
    ... 13 more
4

5 に答える 5

37


リポジトリのプル/クローン作成時のタグ付けの考え方は、Hudson-Jenkins だけでなく、CruiseControl (によって決定されるビルド ラベルlabelincrementer)、またはRTC Jazz Build Engine (「スナップショット」と呼ばれる場所) など、ほとんどの Build Scheduler に共通しています。

アイデアは、ビルドへの入力の永続的な記録を設定することです。
そうすれば、プルしているコードは、タグ付けされていなくても、ビルド スケジューラによって自動的にタグ付けされ、後でその特定のビルドに戻ることができます。

そのポリシー (常にビルド前にタグ付けする) が設定されている場合、Jenkins は git タグを作成するために、あなたが誰であるかを知る必要があります (これは、作成者が添付された git オブジェクトです: user.nameand user.email)。

ただし、「Why hudson/jenkins attempts to make commit?」で述べたように:

セクション " "Skip internal tagの " " の下にある " " 構成をチェックします。 Advanced...Source code management

これにより、不要と思われる追加のタグ付け手順を回避できます。

ここに画像の説明を入力

于 2012-06-20T23:46:32.973 に答える
27

user.email と user.name の設定方法については、jenkins で [Manage Jenkins] > [Configure System] に移動し、[Git plugin] まで下にスクロールすると、 Git プラグインのスクリーンショット

メールアドレスと名前を入力してください。

于 2013-07-31T03:20:56.037 に答える
3

上記のソリューションを iecanfly で使用しました。私のgitユーザー名とパスワードを使用しても機能しませんでした。入力しました

ユーザー名:ジェンキンス

電子メール: jenkins@localhost

これで問題は解決しました。

于 2014-05-23T10:43:29.747 に答える
1

Jenkins に SSH 接続してワークスペース ディレクトリに移動することもできます。その後、git config user.name および user.email コマンドを通常どおり実行できます。

于 2013-06-07T13:52:04.700 に答える
0

Jenkins を Docker コンテナーで実行している場合は、コンテナーに対してdocker exec -it <CONTAINER_ID> sh実行し、提案された git コマンドをメールと名前で実行する必要があります。

于 2019-05-07T19:58:19.637 に答える