“成功(活动)”来自GitLab CICD的Azure WebApp部署实际上不会更新应用程序

bwitn5fc  于 2023-11-21  发布在  Git
关注(0)|答案(1)|浏览(186)

我有一个Azure WebApp,我将从GitLab CICD管道部署到该应用程序。该应用程序是一个用Java 11编写的SOAP WebService,作为WAR部署到Windows上的免费(F1)SKU。
最初,我从GitHub通过UI设置了部署,它运行得很好,我的应用程序已经部署好了,我从Postman测试了它,收到了预期的SOAP响应,证明应用程序实际上已经启动并运行。
然后我把我的仓库移到GitLab,并开始使用一个新的CICD管道进行部署。这似乎很好用,因为我可以清楚地看到每个管道都作为一个新的部署条目运行,在Deployment Center下的Logs中显示为Success -最后一个显示为Success(Active)。但实际上应用程序似乎并没有随着更改而更新。这一点从我已经更新了响应对象但我仍然在Postman中获得旧的响应对象这一事实中可以清楚地看出。
x1c 0d1x的数据
我遗漏了什么?是缓存问题吗?还是成功的部署实际上并不真实?
注一:此外,我还尝试设置一个全新的WebApp,并立即从GitLab部署到那里。这里的表面行为看起来是一样的,部署中心的日志部分显示成功,但这次我的应用似乎根本没有部署,因为我从Azure获得的不是应用的SOAP响应,而是通用的“Microsoft Azure应用服务-欢迎”HTML页面。
注二:在我的管道中,我还运行Ansible来注入一个环境变量(APP_VERSION),它在部署作业之后运行。我可以看到这个变量在配置/应用程序设置下随着每次部署而更新,所以很明显,管道正在做它应该做的事情,除了应用程序代码本身似乎没有以某种方式更新。请参见下面的屏幕截图。



因此,在这一点上,似乎部署实际上并没有部署任何东西。任何提示,请?谢谢!/András

cxfofazt

cxfofazt1#

为了让您的Gitlab部署通过Azure Web App中的Deployment Center成功,您需要遵循某些步骤,请参阅以下内容:-
请参考我的SO线程答案,以通过Gitlab将CI/CD成功部署到Azure Web应用。
在您的Azure Web应用中访问以获取ssh密钥> https://webapp-name.scm.azurewebsites.net/api/sshkey?ensurePublicKey=1
x1c 0d1x的数据

将ssh密钥复制到Gitlab secrets,如下所示:
访问您的Gitlab项目>左侧部分>设置>存储库>部署密钥>扩展>复制ssh密钥,如下所示



现在访问您的 Azure Web应用部署中心>选择外部git并复制Gitlab java项目存储库克隆URL并添加分支名称>保存设置,您的部署将如下所示开始:-



部署成功,如下图所示:-

x1c4d 1x的
如果有任何更改要部署在Web应用程序中,您可以将其部署在单独的插槽中,或者只需单击Sync即可将源代码控制的最新更改部署到Azure Web应用程序中,如下所示:



现在检查您的Java文件是否正确部署在kudu控制台中,如下所示:


通过Bash选项SSH进入您的Web应用程序,并检查部署的文件如下:-

ls
cd site
ls
cd wwwroot

字符串



此外,请检查Azure Web应用程序日志流,以查看文件是否在启动期间正确加载:


相关问题