I keep on getting this 504 every other time I try to publish to an
Artifactory repo:
java.io.IOException: PUT operation to URL
https://repo.woodenstake.se/libs-snapshots-local/4bodyandmind/4bodyandmind_2.10/0.1-SNAPSHOT/4bodyandmind_2.10-0.1-SNAPSHOT.war
failed with status code 504: Gateway Time-out
at org.apache.ivy.util.url.AbstractURLHandler.validatePutStatusCode(AbstractURLHandler.java:82)
at org.apache.ivy.util.url.BasicURLHandler.upload(BasicURLHandler.java:231)
at org.apache.ivy.util.FileUtil.copy(FileUtil.java:150)
at org.apache.ivy.plugins.repository.url.URLRepository.put(URLRepository.java:84)
at org.apache.ivy.plugins.repository.AbstractRepository.put(AbstractRepository.java:130)
at org.apache.ivy.plugins.resolver.RepositoryResolver.put(RepositoryResolver.java:234)
at org.apache.ivy.plugins.resolver.RepositoryResolver.publish(RepositoryResolver.java:216)
at sbt.IvyActions$$anonfun$publish$3.apply(IvyActions.scala:259)
at sbt.IvyActions$$anonfun$publish$3.apply(IvyActions.scala:258)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:60)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
at sbt.IvyActions$.publish(IvyActions.scala:258)
at sbt.IvyActions$$anonfun$publish$1$$anonfun$apply$1.apply$mcV$sp(IvyActions.scala:93)
at sbt.IvyActions$$anonfun$publish$1$$anonfun$apply$1.apply(IvyActions.scala:93)
at sbt.IvyActions$$anonfun$publish$1$$anonfun$apply$1.apply(IvyActions.scala:93)
at sbt.IvyActions$.withChecksums(IvyActions.scala:102)
at sbt.IvyActions$.sbt$IvyActions$$withChecksums(IvyActions.scala:97)
at sbt.IvyActions$$anonfun$publish$1.apply(IvyActions.scala:93)
at sbt.IvyActions$$anonfun$publish$1.apply(IvyActions.scala:87)
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:114)
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:114)
at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:102)
at sbt.IvySbt.liftedTree1$1(Ivy.scala:49)
at sbt.IvySbt.action$1(Ivy.scala:49)
at sbt.IvySbt$$anon$3.call(Ivy.scala:58)
at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:75)
at xsbt.boot.Locks$GlobalLock.withChannelRetries$1(Locks.scala:58)
at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:79)
at xsbt.boot.Using$.withResource(Using.scala:11)
at xsbt.boot.Using$.apply(Using.scala:10)
at xsbt.boot.Locks$GlobalLock.liftedTree1$1(Locks.scala:51)
at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:51)
at xsbt.boot.Locks$.apply0(Locks.scala:30)
at xsbt.boot.Locks$.apply(Locks.scala:27)
at sbt.IvySbt.withDefaultLogger(Ivy.scala:58)
at sbt.IvySbt.withIvy(Ivy.scala:99)
at sbt.IvySbt.withIvy(Ivy.scala:95)
at sbt.IvySbt$Module.withModule(Ivy.scala:114)
at sbt.IvyActions$.publish(IvyActions.scala:87)
at sbt.Classpaths$$anonfun$publishTask$1.apply(Defaults.scala:925)
at sbt.Classpaths$$anonfun$publishTask$1.apply(Defaults.scala:924)
at sbt.Scoped$$anonfun$hf3$1.apply(Structure.scala:579)
at sbt.Scoped$$anonfun$hf3$1.apply(Structure.scala:579)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:49)
at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
at sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:41)
at sbt.std.Transform$$anon$
5.work(System.scala:71)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at
sbt.Execute.work(Execute.scala:238)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232)
Running sbt publish again - it typically works. I've never had any
problems deploying to this repo from Maven. Is there any Ivy-settings
or the like that I might need to look into?
I seem to have struck this problem:
http://forums.jfrog.org/Snapshot-versioning-td7480017.html - my war is
typically a different version than doc, sources and pom:
https://docs.google.com/file/d/0B0CpRUD54crQZnB2ZXRMc3FDOVU/edit?usp=drive_web
I guess it's related. Is there a way I can fix the build order to make
Artifactory happy?
It's a jenkins build so I really need it to work the first and every time :)
Another thing I would like to check if it's better to publish locally
by-passing ssl and my nginx. Thing is, the Artfactory repo is actually
on the same machine, but I still just have:
publishTo <<= (version) { v =>
if (v endsWith "SNAPSHOT")
Some("Wooden Stake Snapshots Local" at
"
https://repo.woodenstake.se/libs-snapshots-local")
else
Some("Wooden Stake Releases Local" at
"
https://repo.woodenstake.se/libs-releases-local")
}
so I can publish from anywhere. Is there a way to override this
temporarily/per profile so that I go to say localhost:8088, just from
Jenkins? Maybe it could be worth trying to bypass nginx, but I still
think it's the publish order that is the real problem.
Any help highly appreciated!
Thanks,
Viktor