Domain: jenkins-ci.org
Stories and comments across the archive that link to jenkins-ci.org.
Comments · 8
-
Re:Ugh
This reminds me of the Jenkins (centos) RPM. It used to do all the package extract and then did a 'chown -R
/var/lib/jenkins' - innocuous enough, given everything in there should be owned by Jenkins anyway. The trouble was, some of us had gigabytes of files and jobs in there (in my case, it got so big we had to put it on an NFS share), so the chown would literally take hours/days. It took 2 years to get the issue fixed: https://issues.jenkins-ci.org/...OS packaging is actually pretty hard unless you know everything about everything. Keeping things simple (ie. not root owned) makes life considerably less risky.
-
TL;DR GitLab/Git
As far as your basic requirements are concerned, pretty much any major (git, svn, mercurial) open source version control system will cater for them, with some third party (mostly) free tools. Local server, well established, open source, email notification via hooks, extensive (if not easy to read) documentation
... all of these would be covered by the VCS itself. Single sign on integration with Active Directory (AD) can probably be set up using an LDAP extension. Many windows clients exist, most catering to several VCSs at once; which are good and which are bad, I often find is a matter of personal taste. Tortoise* and sourcetree seem to be the most popular at the moment. Tests are generally a matter for the project itself, i.e. part of the code, and automating testing based on source control activity (e.g. test on new commits) can also be done using scripting hooks, although you might prefer some kind of continuous integration system like jenkins.For your 'nice-to-haves'; you would be looking at a third party stack. I personally would recommend gitlab. It comes with baked in issue tracking, project wikis for documentation/planning, email notifications without you having to script hooks, LDAP/AD integration (iirc, never used it myself), merge/pull requests (i.e. a form of code review). You can attach/upload files of any type to issues/comments/wiki pages, not sure if that's what you are looking for. Alternatively, you could look at gitstack, which just fits into your price range and covers most of the maintenance/admin headaches by the looks of it. I've never used, found it by googling.
Finally, git (and possibly mercurial and svn) has a way to sign off commits using a GPG key. This work flow is also accessible through gitlab. Basically, a change is made and committed to branch which is then pushed to the gitlab server. This generates a pull request to some pre-designated branch (e.g. trunk/development/whatever). When the pull request is approved, it can be signed using the approver's GPG key. I'm not sure is this covers your specific use case; I'm afraid I'm not sure exactly what you want from the signing part of your requirements
DISCLAIMER: This advice is based exclusively on personal experience, does not constitute legal advice, makes no guarantee of merchantability or fitness to a particular purpose implied or otherwise, did not harm any kittens in the making thereof, and may cause the reader distress by making them learn something.
-
Re:Continuous integration
You could try out Jenkins (a fork of Hudson) which is under active development and integrates fairly well with some of the other project management tools (e.g. Jira, Trac, etc.) people tend to use for bug tracking. Its also FOSS and under active development.
It's got a fair bit of community support in terms of plugins, so even if you're doing something a little bit niche, there's a reasonable chance that someone else might have built a plugin to solve those needs. -
Run docker in a virtual machine
I recommend git. It's fast, it's easy, it's decentralized so code cowboy can't burn your project. And there are gui's for it for windows as well: https://git-scm.com/download/g...
Since IT has set the policy to a Windows operating system only server, you've had your hands tied as to what technology you can use. Fortunately for you, you can run Docker on Windows: https://docs.docker.com/instal..., which means you'll have access to tens of thousands docker containers for various purposes such as gitlab: https://github.com/sameersbn/d...
For basic test on the code (Syntax errors, pytest/nose/or alike with coverage (of tests), check coding style) it sounds like what you're looking for might be jenkins: https://en.wikipedia.org/wiki/... and you can create a docker container for running jenkins on your server: https://github.com/jenkinsci/d... or https://wiki.jenkins-ci.org/di...
-
Jenkins
Jenkins would probably be useful in this case, with this plugin:
https://wiki.jenkins-ci.org/display/JENKINS/Amazon+EC2+Plugin
-
Jenkins Continuous integration game
see https://wiki.jenkins-ci.org/display/JENKINS/The+Continuous+Integration+Game+plugin
Continuous integration, together with a basic set of automated tests, ensures good quality all the times. And the game ensures that all participants want to get a good score :)
Maybe you can add some (very basic) static code analysis - just some rules where everybody agrees that they are essential for good code. -
Jenkins for deployment
Use Jenkins for deployment. You can automate the entire process. For example, imagine automatically deploying after checking in a revision that contains the word "***DEPLOY***" in the commit comment.
-
Jenkins / Hudson
I wish they would've taken this approach with the Hudson CI server rather than fragmenting the community.