scala – 如何将我的喷雾API部署到生产中?
发布时间:2020-12-16 09:42:42 所属栏目:安全 来源:网络整理
导读:我正在考虑将我本来已经在本地测试的休息api部署到云端的过程,让我们将基础设施即服务(而不是像Heroku这样的服务平台)称为亚马逊。 我的本地环境与sbt建立起来,但我的问题是如何在生产环境中部署? 定义一个进程是否合理,其中devops从git repo中提取最新
我正在考虑将我本来已经在本地测试的休息api部署到云端的过程,让我们将基础设施即服务(而不是像Heroku这样的服务平台)称为亚马逊。
我的本地环境与sbt建立起来,但我的问题是如何在生产环境中部署? 定义一个进程是否合理,其中devops从git repo中提取最新的更改,然后简单地执行sbt run? 我想知道使用scala spray sbt的团队如何将他们的apis部署到生产环境中。 解决方法
我们服务的核心是scala akka spray mongo。所以我们使用GitHub进行版本控制。在合并检查公关到主分公司后,jenkins自动测试“建造”项目。如果所有测试都成功,Jenking会运行几个脚本:
>增加项目版本(目前写在shell中,但会更改为sbt) 在第三步的基础上你有几个选择: 使用IO / Spray启动文件制作一个可运行的jar: object Boot extends App { implicit val system = ActorSystem("ServiceName") val log = system.log val service = system.actorOf(Props[Service],name="serviceActor") IO(Http) ! Http.Bind(service,interface = host,port = port) } 做一个可运行的jar作为Akka的微内核: 在这种情况下,您应该扩展Bootable trait并覆盖启动和关闭方法: class Kernel extends Bootable { // many lines of code def startup() { scheduler.start() SomeActorSystem.startup() } def shutdown() { scheduler.shutdown() SomeActorSystem.shutdown() system.shutdown() } } 使用TypeSafe startscript: 不能显示一个例子,但它有一个很好的介绍github =) 在不同的情况下,我们都以这种方式使用。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |