Another open source analogue of Github
At this point in time, there are the following github alternatives:
- Sam github fi (worth $ 5000, not open source)
- Gitorious (open source, written in RoR, uses ActiveMQ, in short - beast machine)
- Recently appeared gitlab (open source, written in ruby)
In this list, I would like to add my application. Maybe it is still useful to someone. What is inside?
- Written in Scala
- Lift is used
- Storage - MongoDB
- "Its" implementation of git, ssh, http daemon. The first is using Apache Mina Core, and the second is Mina SSHD, the last with Rest from Lift
- JGit is used to work with git.
I can boast that it is easier to put than competitors (which is on linux, which is on windows, provided that Mongo is available):
$ git clone git://github.com/btd/luna.git $ cd luna $ sbt package $ mkdir $JETTY_HOME/repo ( ) $ mv ./target/scala-2.9.1.final/.war $JETTY_HOME/webapps/
Honestly, I can not boast that everything works perfectly - there are bugs, I try to fix it as I find it.
Now my application can do the following things:
- User management. Users can add repositories to themselves, add collaborators to repositories.
- Repository management. You can set separate keys for the repository, forking. Public / private repositories
- Pull Requests
- The history of commits, viewing the source tree on a commit and viewing diff
- Access via ssh (read and write), git (read), http (read and write)
- Push alerts by email. Used camel so that in practice you can add other transports.
Profit for me:
- Learned scala and lift (this is my first scala application)
- I learned a bunch of new git
- Studied Apache Mina, Apache Camel, JGit library. Opened issue, added functionality (patches accepted).
- Another competitor to the systems at the beginning of the article.
Links and clarifications:
')
Source: https://habr.com/ru/post/133306/
All Articles