我在Github上托管了一些小型开源项目,我希望通过Maven为其他人提供这些项目。我有一个小网站空间,我可以托管静态文件。我怎样才能创建回购?另外,如果可能的话,我想从那里删除旧快照。
答案 0 :(得分:3)
Standard maven repository实现几乎都是Tomcat Web应用程序。每个人都应该有一个静态存储库,就像你的local repository一样。 webapp用于搜索和管理存储在该静态存储库中的工件。
如果您只想使用静态Web访问来托管存储库,则必须手动执行管理并提供静态手动生成的html页面,其中包含repo中所有工件的GAV coordinates。除非您提供密码或启用匿名FTP访问,否则没有其他用户可以上传到存储库。
如果maven在deploy
阶段之前没有尝试将任何内容上传到repo,那么这种方法仍然可以部分使用,因为运行mvn clean deploy
会失败。
您可以检查这是否可行(我想您在本地仓库中有这些项目):
打开settings.xml文件并在<mirrors>
节点添加:
<mirror>
<url>http://your/url/repo</url>
<mirrorOf>*</mirrorOf>
</mirror>
并查看mvn clean install
是否成功。请反馈。
答案 1 :(得分:2)
在这个SO answer中,我概述了我设置我的OSS项目的方式,这些项目都在Github中托管。实际上,当您想要运行OSS项目时,可以使用许多免费服务。
我建议发布到Maven Central,如果您的插件经过充分测试并且预计也会带来其他人的好处。您可以将CloudBee的BuildHive用作免费的Jenkins CI。
答案 2 :(得分:1)
根据我的经验,静态回购非常有用。
我将我的本地存储库写入静态Apache服务器。合法回购。当然不像真正的回购那样容易维护,但如果你已经拥有一个简单的香草网络主机那么便宜了。
除了正确设置权限(与浏览文件夹所需的权限相同)之外,这是一个非常轻松的过程。
我做的唯一两件事就是让它变得更合理 1 - 写了一个脚本给&#34; rm -rf ....&#34;在我的本地仓库的大多数内容上,所以我唯一要部署的是那些在一般仓库中没有的工件。 2 - 在搜索我的网络主机之前首先将其打开。
希望这有帮助。
下面的那个人做了类似的事情,只使用FTP,如果他经常更新他的二进制文件,可以为他节省大量的工作。
http://stuartsierra.com/2009/09/08/run-your-own-maven-repository
答案 3 :(得分:0)
我想我现在知道怎么做了。我现在正在使用mvn deploy
在文件系统上创建本地存储库,然后将其上传到网络服务器。如果我没错,甚至不需要成为文件列表。
我正在使用的命令是:
mvn deploy -DaltDeploymentRepository=local::default::file:./repo
这会自动创建/更新本地存储库,因此可以将repo与服务器同步。