Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-4922

Deploy maven artifacts post-build doesn't work with maven encrypted passwords

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • maven-plugin
    • None
    • Platform: All, OS: All

      We have a maven repository set up to require basic HTTP auth, and the passwords
      are encrypted in the settings.xml using the master password in
      security-settings.mxl in the usual way.

      In an M2 build, setting the build goal to "clean deploy" works fine, and the
      jars are correctly pushed to the repository. Using the post-build "Deploy
      artifacts to maven repository" task, however, fails with the following error:

      FATAL: java.lang.IllegalArgumentException: Illegal character(s) in message
      header value: Basic
      dmFsdWF0aW9uczp7dWZYc01lMVZGUVVISzMxcCtoZWx6N3VYdTAyUk1RK3FWVEdod0lGMnhYMD19

      java.lang.RuntimeException: java.lang.IllegalArgumentException: Illegal
      character(s) in message header value: Basic
      dmFsdWF0aW9uczp7dWZYc01lMVZGUVVISzMxcCtoZWx6N3VYdTAyUk1RK3FWVEdod0lGMnhYMD19

      at
      sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:883)
      at
      sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:1904)
      at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:376)
      at
      org.apache.maven.wagon.providers.http.LightweightHttpWagon.put(LightweightHttpWagon.java:153)
      at
      org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:244)
      at
      org.apache.maven.artifact.manager.DefaultWagonManager.putArtifact(DefaultWagonManager.java:160)
      at
      org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:80)
      at hudson.maven.reporters.MavenArtifactRecord.deploy(MavenArtifactRecord.java:119)
      at
      hudson.maven.reporters.MavenAggregatedArtifactRecord.deploy(MavenAggregatedArtifactRecord.java:79)
      at hudson.maven.RedeployPublisher.perform(RedeployPublisher.java:96)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:541)
      at
      hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:527)
      at hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:594)
      at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:499)
      at hudson.model.Run.run(Run.java:1199)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:304)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:123)

      Given the extra line breaks after the encoded password, this appears to be
      related to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4615330 - so it
      looks like somewhere the password has \n appended when it's encoded.

            Unassigned Unassigned
            ashley_mercer ashley_mercer
            Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: