我已经构建了一个包含5个模块(4个)的多模块JavaSpringBoot项目 .war
&1个图书馆 .jar
). 我部署了每一个 .war
通过在根目录下构建我的项目,使标准tomcat获得成功:
mvn clean package -P production
到现在为止,一直都还不错。但我正在考虑使用app服务功能在azure上托管我的应用程序(我以前从未使用过),并从github导入它,所以我做了一个测试帐户来尝试。我发现了一些教程,比如将javaweb应用程序部署到azure云(因为我的一个应用程序使用vaadin框架)以及azure的多模块spring boot项目(因为多模块结构)。
所以我试了两种方法,但都不管用:
第一个不适合我的结构,因为我的所有应用程序都依赖于我的 .jar
项目中的库。
第二个似乎是正确的方向,我只是将我的项目从github repo导入到azure中,没有做任何更改。在github接口中,项目成功构建但未部署,我想我必须调整我的项目,使其可部署到azure,但我找不到我要做的:
我不知道我是否足够清楚,或者您是否需要从项目结构或代码中提取任何内容。告诉我是不是真的!
这是我的根的摘录 pom.xml
```
module1 <-- war
module2 <-- war
module3 <-- war
module4 <-- war (vaadin webapp)
module5 <-- jar library
pom
谢谢你的帮助。
更新:
我尝试部署一个没有模块的标准java项目,使用github非常简单。
我只需要有一个包含我要编译的项目的存储库,将它连接到将生成 `main_appName.yml` 包含所有编译和部署信息的文件,例如:
Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy WAR app to Azure Web App - test-azure
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Java version
uses: actions/setup-java@v1
with:
java-version: '8'
- name: Build with Maven
run: mvn clean install -P production
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: java-app
path: '${{ github.workspace }}/target/*.war'
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: java-app
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@v2
with:
app-name: 'APP_NAME'
slot-name: 'production'
publish-profile: ${{ secrets.AzureAppService_PublishProfile_6199c38980a7482abb04c6b0b39f2ba5 }}
package: '*.war'
这将自动构建和部署应用程序,并实现这一点。但现在我不得不使用 `.jar` 因此是一个多模块的项目。我开始只练习两个模块(我的 `.war` webapp和我的 `.jar` 但当使用相同的.yml文件时,它会尝试部署父模块,而父模块是 `.pom` 失败了。
我正在这个配置文件中寻找要编辑的内容,但找不到。
谢谢您!
1条答案
按热度按时间i86rm4rw1#
您可以在此处找到有关如何部署到azure云的分步教程:https://vaadin.com/learn/tutorials/cloud-deployment/azure