我已经在Go中创建了一个网络应用,我希望能够以最流畅的方式在服务器或应用引擎上运行它。
基本上,我创建了一个.exe(我正在Windows上开发)和一组带有静态文件的文件夹。此外,还有一个包含N个配置文件的文件夹。
这些配置文件包括设置数据库所需的所有配置,将日志写入其中的文件夹/路径等等。
在“时间0”,当我双击本地计算机上的.exe时,安装过程开始。它查看配置文件(如果它们不存在,甚至会创建它们)并根据我在控制台上给出的答案更新它们。 此外,该应用程序还会在文件系统上生成日志文件。
我的问题:我可以“按原样”在应用程序引擎上“上传”我的go代码,仅在yaml文件中包含一些特定于appengine的配置,还是我被迫修改MY Go代码,以便: 1)main()必须在app-engine的其他位置寻找配置文件 和 2)日志是从app引擎上的特定路径读取/写入的。
换句话说,我想知道我是否可以实现Web应用程序的“一次编写并在任何地方运行/部署”版本。
这是我对社区的第一个问题,所以我希望我能遵循所有说明。 谢谢。
答案 0 :(得分:0)
“是否可以在不修改我的代码的情况下进行部署”这个问题的答案为否,由于您设计应用程序的方式,这是不可能的。
Appengine创建按需服务器实例以响应请求,然后在没有Web请求发生时关闭该实例。 Appengine应用程序的设计方式必须不依赖于带有配置文件的单个服务器。
您可以选择设计一个应用程序,该应用程序依赖于单个服务器上的单个配置文件,但是对于Google Appengine而言,它并不是一个很好的选择。