我无法让我的服务器代码进行更新。我在GAE上运行PHP实例,无论我做什么,文件都不会更新。在源代码视图中,我可以看到文件已更新,但是当我尝试访问更新的文件时,我仍然在查看旧版本。我还尝试断开我的Bitbucket仓库并使用public static void extractAttachments(String src, String dir) throws IOException
{
File folder = new File(dir);
folder.mkdirs();
PdfReader reader = new PdfReader(src);
PdfDictionary root = reader.getCatalog();
PdfDictionary names = root.getAsDict(PdfName.NAMES);
System.out.println(""+names.getKeys().toString());
PdfDictionary embedded = names.getAsDict(PdfName.EMBEDDEDFILES);
System.out.println(""+embedded.toString());
PdfArray filespecs = embedded.getAsArray(PdfName.NAMES);
System.out.println(filespecs.getAsString(root1));
for (int i = 0; i < filespecs.size();)
{
extractAttachment(reader, folder, filespecs.getAsString(i++),
filespecs.getAsDict(i++));
}
}
protected static void extractAttachment(PdfReader reader, File dir, PdfString name, PdfDictionary filespec)
throws IOException
{
PRStream stream;
FileOutputStream fos;
String filename;
PdfArray parent;
PdfDictionary refs = filespec.getAsDict(PdfName.EF);
//System.out.println(""+refs.getKeys().toString());
for (Object key : refs.getKeys())
{
stream = (PRStream) PdfReader.getPdfObject(refs.getAsIndirectObject((PdfName) key));
filename = filespec.getAsString((PdfName) key).toString();
// System.out.println("" + filename);
fos = new FileOutputStream(new File(dir, filename));
fos.write(PdfReader.getStreamBytes(stream));
fos.flush();
fos.close();
}
}
命令,但是当我尝试访问它们时,文件并不令人耳目一新。我不知道如何强制进行更改。
我的app.yaml包含以下代码
appcfg.py update project-name
所以文件应该被读取,对吧?
答案 0 :(得分:1)
我能够弄清楚出了什么问题。我使用appcfg.py download_app -A <your_app_id> -V <your_app_version> <output-dir>
下载了我的代码,并注意到我正在下载旧版本的文件(并没有下载新文件)。原来使用GAE中的源代码控制将上传新代码,但不会部署它。我试图再次使用appcfg.py update project-name
,但它没有用。事实证明我没有断开我的Bitbucket帐户(可能已经发誓我做了......)。断开连接后,我可以使用appcfg.py update project-name
更新项目。当我想到这一点时,我联系了谷歌支持并收到了这条消息:
要使用推送部署功能,您需要启动Jenkins 关于GCE(谷歌计算引擎)的实例,然后它将采取 更新代码并在环境中执行它。通过[1]了解具体方法 根据启用Jenkins实例及其配置 不同的运行时间。
在您的问题中,您只是将Bit Bucket中的代码镜像到Cloud 存储库,因为它只是在进行版本控制 应用程序不执行应用程序。所以基本上你有 如上所述使用Jenkins实例来测试的选项 不同版本的代码或使用appcfg.py更新命令 来自您当地的存储库。
我没有尝试安装和使用Jenkins,因为我在断开我的Bitbucket帐户后修复了它,但它可能会帮助其他遇到此问题的人。