我在Django上开发了一个应用程序并配置为在AWS Elastic Beanstalk上部署它。该应用的早期版本已启用管理员。我在新应用中禁用了相同内容。
以下是该应用的url.py。
from django.conf.urls import patterns, include, url
#from django.contrib import admin
#from django.contrib import admin.site.urls
#admin.autodiscover()
urlpatterns = patterns('',
# Examples:
url(r'^$', 'firstapp.views.home', name='home'),
url(r'^jd/', include('jd.urls')),
# url(r'^admin/', include('admin.site.urls')),
)
但是当我浏览应用程序的URL时,所提供的应用程序仍然是旧版本。我ssh-ed到服务器并检查了文件。这些文件是旧应用程序的文件。 AWS EB控制台显示部署到环境的新应用程序版本。我还从AWS EB面板下载了代码,代码属于新应用程序。
Elastic Beanstalk env的URL是: http://secondapp-env.elasticbeanstalk.com/
可以在此处访问管理面板: http://secondapp-env.elasticbeanstalk.com/admin/ 理想情况下,此网址应为404.
问题在于,在整个AWS EB控制台中,我看到新版本的应用程序已部署并投放(我已尝试使用git aws.push推送代码以及在aws eb控制台上传)但实际上驻留在ec2服务器上的代码仍然是旧版本的应用程序。
如何强制上传代码?实际部署是否有延迟 代码(虽然我部署新代码已经过了一个多小时 版本和代码非常小)
答案 0 :(得分:0)
如果AWS Management Console显示您部署的新AWS Elastic Beanstalk应用版本,实际情况应该是这样,其他所有内容都是AWS端的严重错误,因此有点可疑
从这个角度来看,我希望您可能不会以某种方式查看正确的资源 - 例如,您是否意外地将一个版本部署到不同的区域? (在使用AWS时,在某些时候几乎每个人都可能会看到错误的区域;)
当然,您不能拥有两个具有相同环境URL的已部署应用程序,因此实际上需要部署一个不同的应用程序(可能Elastic Beanstalk已自动选择一个,这可能会发生,具体取决于部署方案) - 这里有几件事要尝试:
两者都会证实你怀疑你正在运行两个环境,发现另一个环境应该很简单。
祝你好运!答案 1 :(得分:0)
您很可能引用了两个不同的文件或结构。
根据您使用的API,其中很多都有npm build
个功能。您可能正在编辑" raw"代码,而不是构建,然后部署相同的构建文件。如果是这种情况,您将需要运行构建工具:gulp,webpack或grunt,然后再次部署。