[英]Is there a solution for automated / scripted Google AppEngine Java deployment?
我想在AppEngine Java上自动化/脚本部署我的应用程序。 据我所知,没有人提出一个可重复使用的良好开放解决方案......或者在那里?
理想情况下,它会执行以下任务:
我可以/将自己写这个,但我想知道是否有其他人之前已经走过这条道路或想要合作一个很多人可以使用的解决方案。
这是蚂蚁目标的核心,它们对我们来说非常有效。 上面步骤中没有实现的唯一部分是#7,因为AppEngine还不能实现。 我们发现使用日期作为版本号对于跟踪部署非常方便。
<target name="auth">
<java classname="com.google.appengine.tools.admin.AppCfg" inputstring="${appengine.pass}" fork="true">
<sysproperty key="appengine.sdk.root" value="${appengine.sdk.dir}" />
<classpath>
<fileset dir="${appengine.sdk.dir}/lib" includes="**/*.jar" />
</classpath>
<arg value="--email=${appengine.email}" />
<arg value="resource_limits_info" />
<arg value="war" />
</java>
</target>
<target name="optimize">
<delete dir="${staging.dir}" />
<mkdir dir="${staging.dir}" />
<copy todir="${staging.dir}">
<fileset dir="war">
<exclude name="WEB-INF/classes/**" />
<exclude name="WEB-INF/appengine-generated/**" />
<exclude name="include.js" />
<exclude name="js/app/**" />
<exclude name="js/tmpl/**" />
</fileset>
</copy>
<jar destfile="${staging.dir}/WEB-INF/lib/classes.jar" basedir="${classes.dir}" />
<exec executable="./scripts/optimize.sh">
<env key="PATH" value="/usr/bin:/bin:/usr/local/bin" />
</exec>
</target>
<target name="deploy-prod" depends="auth, optimize">
<property name="appid" value="voost0" />
<tstamp>
<format property="vnum" pattern="yyyy-MM-dd-HHmm"/>
</tstamp>
<echo message="Deploying to version: ${vnum}" />
<appcfg action="update" war="${staging.dir}">
<options>
<arg value="--application=${appid}" />
<arg value="--version=${vnum}" />
</options>
</appcfg>
<get src="http://${vnum}.${appid}.appspot.com/ping" dest="${build.dir}/warmup-garbage" verbose="true" />
</target>
<target name="deploy-prod-switch" depends="deploy-prod">
<appcfg action="set_default_version" war="${staging.dir}">
<options>
<arg value="--application=${appid}" />
<arg value="--version=${vnum}" />
</options>
</appcfg>
</target>
您可以使用他们的Gradle或Maven插件
Gradle: https : //github.com/GoogleCloudPlatform/gradle-appengine-plugin
Maven: https : //cloud.google.com/appengine/docs/java/tools/maven
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.