typesafehub / conductr-lib

Other
8 stars 13 forks source link

Update Lagom to 1.2.0 #118

Closed fsat closed 7 years ago

fsat commented 7 years ago

Also revert back to Play 2.5.4

This is because Lagom 1.2.0 depends on Play 2.5.4 which has dependency on Async HTTP Client 2.0.2.

https://github.com/lagom/lagom/blob/1.2.0/build.sbt#L16

Moving to latest Play (2.5.10 at the time of the commit) will bring in AHC 2.0.11 that drops CleanupChannelGroup which is a public API, causing NoClassDefFoundError when used with Lagom.

https://github.com/AsyncHttpClient/async-http-client/commit/03ac5e18006b6c48984a7ca1d4b159b6b20cc44a

fsat commented 7 years ago

Manual test for the change is completed successfully.

Setup

Publish ConductR Lib locally using sbt publishLocal.

Modify SBT ConductR to depend on this ConductR Lib, and publish locally as well.

Felixs-MBP-2:sbt-conductr felixsatyaputra$ git diff
diff --git a/src/main/scala/com/lightbend/conductr/sbt/package.scala b/src/main/scala/com/lightbend/conductr/sbt/package.scala
index 631b8dc..5bd058e 100644
--- a/src/main/scala/com/lightbend/conductr/sbt/package.scala
+++ b/src/main/scala/com/lightbend/conductr/sbt/package.scala
@@ -76,7 +76,7 @@ package object sbt {
   }

   object Version {
-    val conductrBundleLib = "1.4.13"
+    val conductrBundleLib = "1.4.14-SNAPSHOT"
   }

   /**

Modify ConductR to depend on the locally published ConductR Lib and SBT ConductR.

diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index fd5fed4..57dfb73 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -16,7 +16,7 @@ object Version {
   val contrail               = "3.4.3"
   val commonsCompress        = "1.11"
   val commonsIO              = "2.5"
-  val conductrLib            = "1.4.13"
+  val conductrLib            = "1.4.14-SNAPSHOT"
   val constructr             = "0.15.0"
   val constructrZookeeper    = "0.3.0"
   val d3js                   = "3.4.11"

diff --git a/project/plugins.sbt b/project/plugins.sbt
index 86da9c5..38106a1 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -19,7 +19,7 @@ resolvers ++= Seq(
 // OSS
 addSbtPlugin("com.github.gseitz"      % "sbt-protobuf"        % "0.5.2")
 addSbtPlugin("com.lightbend.lagom"    % "lagom-sbt-plugin"    % "1.1.0")
-addSbtPlugin("com.lightbend.conductr" % "sbt-conductr"        % "2.1.17")
+addSbtPlugin("com.lightbend.conductr" % "sbt-conductr"        % "2.1.20-SNAPSHOT")
 addSbtPlugin("com.typesafe.play"      % "sbt-plugin"          % "2.5.9")
 addSbtPlugin("com.typesafe.sbt"       % "sbt-bintray-bundle"  % "1.1.1")
 addSbtPlugin("com.typesafe.sbt"       % "sbt-jshint"          % "1.0.4")

Build local docker image using sbt conductr/docker:publishLocal

Run the local sandbox using sandbox run 0.1.0 -n 3

Deploy the following bundles:

Felixs-MBP-2:conductr felixsatyaputra$ conduct info
Loading custom settings /Users/felixsatyaputra/.conductr/settings.conf
ID               NAME                           #REP  #STR  #RUN
14e8ede          eslite                            3     0     1
abf6045-a53237c  reactive-maps-backend-summary     3     0     3
ba46da0-4b25490  continuous-delivery               3     0     1

Test Result

CD can be completed successfully.

This asserts the following functionality.

Felixs-MBP-2:tmp felixsatyaputra$ sh cd-deploy.sh
+ HOST_PORT=192.168.99.100:9005
+ WEBHOOK=GnNDrC0VQ0CN1qbWFgnvLw==
+ curl -v -H 'X-Bintray-WebHook-Hmac: GnNDrC0VQ0CN1qbWFgnvLw==' -H 'Content-Type: application/json' -X POST -d '{"package":"reactive-maps-backend-summary","version":"v1-d073991ab918ee22c7426af8a62a48c5ebec737f53cfc4bccb0a4f712d76dd6a"}' http://192.168.99.100:9005/deployments/typesafe/bundle/typesafe
*   Trying 192.168.99.100...
* Connected to 192.168.99.100 (192.168.99.100) port 9005 (#0)
> POST /deployments/typesafe/bundle/typesafe HTTP/1.1
> Host: 192.168.99.100:9005
> User-Agent: curl/7.43.0
> Accept: */*
> X-Bintray-WebHook-Hmac: GnNDrC0VQ0CN1qbWFgnvLw==
> Content-Type: application/json
> Content-Length: 123
>
* upload completely sent off: 123 out of 123 bytes
< HTTP/1.1 200 OK
< Date: Thu, 01 Dec 2016 22:09:32 GMT
< Server: akka-http/10.0.0
< Content-Type: text/plain; charset=UTF-8
< Content-Length: 36
<
* Connection #0 to host 192.168.99.100 left intact
04638fdc-b510-4046-bfec-9a363ba384d6+ curl -v http://192.168.99.100:9005/deployments/events
*   Trying 192.168.99.100...
* Connected to 192.168.99.100 (192.168.99.100) port 9005 (#0)
> GET /deployments/events HTTP/1.1
> Host: 192.168.99.100:9005
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Thu, 01 Dec 2016 22:09:32 GMT
< Server: akka-http/10.0.0
< Transfer-Encoding: chunked
< Content-Type: text/event-stream
<
data: 04638fdc-b510-4046-bfec-9a363ba384d6
event: bundleDownload

data: 04638fdc-b510-4046-bfec-9a363ba384d6
event: configDownload

data: 04638fdc-b510-4046-bfec-9a363ba384d6
event: load

data: 04638fdc-b510-4046-bfec-9a363ba384d6
event: deploy

data: 04638fdc-b510-4046-bfec-9a363ba384d6
event: deploy

data: 04638fdc-b510-4046-bfec-9a363ba384d6
event: deploy

data: 04638fdc-b510-4046-bfec-9a363ba384d6
event: deploymentSuccess

Felixs-MBP-2:tmp felixsatyaputra$ conduct info
Loading custom settings /Users/felixsatyaputra/.conductr/settings.conf
ID               NAME                           #REP  #STR  #RUN
14e8ede          eslite                            3     0     1
abf6045-a53237c  reactive-maps-backend-summary     3     0     0
ba46da0-4b25490  continuous-delivery               3     0     1
d073991-a53237c  reactive-maps-backend-summary     3     0     3