Andrey Hihlovskiy
Professional blog on groovy, gradle, Java, Javascript and other stuff.
Tag Archives: git
How to install and use Gollum on vanilla Debian/Ubuntu/Mint machine
May 19, 2014
Posted by on Suppose you have a vanilla Debian/Ubuntu/Mint machine and you want to use Gollum – wiki system, built on top of Git and used internally by Gihub wiki pages. Here are the necessary steps:
- Install required components from OS repositories:
sudo apt-get install ruby ruby-dev libz-dev libicu-dev build-essential
-
Install Gollum from gems repository:
sudo gem install gollum
-
Create test git repository and run Gollum on it:
mkdir testwiki cd testwiki git init gollum
Check: you should see messages like this:
user@host:~/Projects/testwiki$gollum [2014-05-19 18:58:02] INFO WEBrick 1.3.1 [2014-05-19 18:58:02] INFO ruby 1.9.3 (2012-04-20) [x86_64-linux] == Sinatra/1.4.5 has taken the stage on 4567 for development with backup from WEBrick [2014-05-19 18:58:02] INFO WEBrick::HTTPServer#start: pid=27319 port=4567
that means: Gollum is up and running on port 4567.
Now you can launch you favourite browser, enter addresss http://localhost:4567 and start editing wiki pages:
Whenever you save a page, Gollum commits it to git repository. Optionally you can add a message to commit.
It is worth noting, that Gollum supports many important markup languages: AsciiDoc, Creole, Markdown, MediaWiki, Org-mode, Pod, RDoc, reStructuredText, Textile.
When wiki pages are ready to be presented to the world, you push them to github wiki pages. Instructions on pushing to a remote repository are found here.
Gitbucket – your own github-like web-application without a hassle
January 25, 2014
Posted by on Meet gitbucket – your own github-like web-application, requiring minimum configuration:
https://github.com/takezoe/gitbucket
Features:
- out-of-the-box HTTP access to git repositories (in browser and from command line)
- web-based user management
- web-based repository management
- issue management, pull-requests, wiki, etc.
Not yet implemented features:
- out-of-the-box SSH support (or integration with SSH-supporting solutions like gitolite)
- online editing
My impression: this is very interesting application that I will certainly use as soon as missing features get implemented.
Meet Gretty: advanced gradle plugin for running web-applications under Jetty and Tomcat
June 14, 2013
Posted by on I created little gradle plugin for running web-applications under Jetty 8.1.8.
The main advantage for a programmer is that now it’s possible to use servlet-api 3.0 and higher (under standard gradle-jetty plugin it was not possible, because jetty was too old).
Full sources, documentation and examples here:
https://github.com/akhikhl/gretty
Update 24.02.2014:
Now gretty supports jetty 7, 8 and 9 and servlet API 2.5, 3.0.1 and 3.1.0, as well as it brings many new interesting features!
Update 07.10.2014
Now Gretty supports Tomcat 7 and 8, as well as SpringBoot, spring-reloaded and jacoco!
Gradle script: multiproject git-gradle management
June 7, 2013
Posted by on Suppose you build your software project from many open-source components, most of which are already available via git. How to automate clone/pull/build/install cycle, especially across projects from different git-repositories? How to establish high-level inter-project dependencies?
For that I wrote gradle script, which implements multiproject git-gradle management. It works as follows: you write configuration file, name it “config.gradle”, put it to the same folder as “build.gradle” (of multiproject git-gradle) and then run “gradle build”.
Full documentation and sources are available at:
Automated git-pull
June 7, 2013
Posted by on Suppose you have 20 git-repositories, which you actively pull and push from/to central location (e.g. github). Don’t you think pulling them by hand is too mechanical? And what if you forget to pull some?
I wrote little gradle script capable of automated git-pull:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
buildscript { | |
repositories { mavenCentral() } | |
dependencies { classpath 'org.ajoberstar:gradle-git:0.5.0' } | |
} | |
import org.ajoberstar.gradle.git.tasks.* | |
def onEachGitFolder(File folder, Closure closure) { | |
File gitServiceFolder = new File(folder, ".git") | |
if(gitServiceFolder.exists() && gitServiceFolder.isDirectory()) | |
closure(folder) | |
else | |
folder.eachDir { subFolder -> | |
onEachGitFolder(subFolder, closure); | |
} | |
} | |
task pull | |
onEachGitFolder projectDir, { folder -> | |
def taskName = folder.name + "_pull" | |
project.task (taskName, type: GitPull) { | |
setRepoPath folder.absolutePath | |
} | |
project.tasks.pull.dependsOn project.tasks[taskName] | |
} | |
defaultTasks "pull" |
You drink morning coffee and the machine does the job for you.
Credits come to the creators of excellent gradle-git plugin:
Recent Comments