推荐容器化部署,直接构建 Docker 镜像
docker build -f MultistageDockerfile -t miracle-service:latest .
若提示
is not a valid repository/tag: invalid reference format
则说明主机的 docker 版本过低,可以选择升级,也可以不采用多阶段构建,但需要有 maven 的支持:
mvn package
docker build -t miracle-service:latest .
若不选择容器化部署,只是想推送到私有 maven 仓库,直接使用 jar,可以参考以下步骤
- 将 repository/url 改为私有 maven 仓库地址
<groupId>io.daocloud</groupId>
<artifactId>miracle</artifactId>
...
<distributionManagement>
<repository>
<id>nexus-maven</id>
<name>Nexus Maven</name>
<url>http://${MAVEN-SERVER}:${PORT}/repository/maven-releases/</url>
</repository>
</distributionManagement>
- 将 server/id 保持与 pom 中的 repository/id 一致,并在 server/username 和 server/password 中填入私有 maven 仓库的账号密码
- 将 repositories/repository/url 和 pluginRepositories/pluginRepository/url 都改成私有 maven 仓库地址
<server>
<id>nexus-maven</id>
<username>admin</username>
<password>admin123</password>
</server>
...
<repositories>
<repository>
<id>nexus</id>
<url>http://${MAVEN-SERVER}:${PORT}/repository/maven-releases/</url>
...
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://${MAVEN-SERVER}:${PORT}/repository/maven-releases/</url>
mvn --settings settings.xml deploy
用部署类项目中的 YAML 文件通过 DCS 部署 miracle 和 miracle-frontend。若不会编写部署 YAML 文件,可以利用 DCS 部署时在线生成 YAML 模板的功能。
curl ${IP}:8080/health # 返回success的字符串说明启动成功
http://${IP}:8080/index
将 src/main/java/io/daocloud/miracle/controller/MainController.java 下的如下代码
Resource cpr = new ClassPathResource("static/indexA.jpg");
改为
Resource cpr = new ClassPathResource("static/indexB.jpg");