首页 » Maven实战 » Maven实战全文在线阅读

《Maven实战》15.7 部署站点

关灯直达底部

为了方便团队和用户得到必要的项目信息,我们需要将Maven站点部署到服务器上。Maven支持多种协议部署站点,包括FTP、SCP和DAV。

如下代码就配置了一个基于DAV协议的站点部署地址:

上述代码中,url的值以dav开头,表示服务器必须支持WEBDAV。此外,为了确保安全性,服务器的访问一般都需要认证。这个时候就需要配置settings.xml文件的server元素,这一点与部署构件至Maven仓库类似。需要注意的是:要确保server的id值与site的id值完全一致。

需要提醒的是,如果在部署的时候遇到问题,请尝试配置最新的maven-site-plugin。到本书编写时为止,2.x的最新版本为2.1.1,3.x的最新版本为3.0-beta-2。

如果想要使用FTP协议部署站点,那么除了配置正确的部署地址和认证信息外,还需要配置额外的扩展组件wagon-ftp,如代码清单15-13所示。

代码清单15-13 使用FTP协议部署站点

上述代码中最重要的部分是通过extension元素配置了扩展组件wagon-ftp,有了该组件,Maven才能正确识别FTP协议。该代码中为maven-site-plugin和wagon-ftp都配置了最新的版本,这么做是为了避免之前版本中存在的一些bug。

如果希望通过SCP协议部署站点,只需要相应地配置distributionManagement元素即可。如下:

与DAV和FTP不同的是,SCP协议通常使用密钥进行认证,因此在settings.xml中配置认证信息的时候,就可能需要passphrase和privateKey元素。如下:

上述代码中,privateKey表示私钥的地址,passphrase表示私钥的口令。

站点部署地址及认证信息配置完成后,只需要输入以下命令就能让Maven部署站点了:

site-deploy是site生命周期的一个阶段,其对应绑定了maven-site-plugin的deploy目标,该目标的工作就是部署Maven站点。