We are looking to incorporate continuous integration/nightly builds into the development process of two of our products. One is to be written in Java using JavaFX for interface, the other is to be written in ASP .Net MVC using C# as our coding language.
The question is pretty straightforward: considering the fact that we have those two products and we want to use the same CI server for both of them, which one would be the best pick? Are there any known issues regarding either language that we should be aware of? Considering we're a very small team, is either one considerably easier to maintain and configure than the other? Any insight will be helpful!
Please read this : How to choose between Hudson and Jenkins?
Generally use Jenkins, it is Hudson fork with better support and have much more plugins.
Hudson died the day the entire developer community followed Kohsuke over to Jenkins.
Jenkins power is in its plugins of which Jenkins has over 1000. Hudson has virtually no more than the day the community stopped developing Hudson and started moving Jenkins forward.
Jenkins has a rich developer community, Hudson (owned / killed by Oracle) has one guy: no contest!
Related
We are planning to implement jenkins for the whole organization. We want to go with single jenkins instance that will be used by many teams with Slave architecture. I want to know if there are any best practices for Plugin management. Since teams would request for installing different plugin, how can i manage these plugsin installation.
Thanks in advance for all your help
I would install Docker on all agent machines and instruct teams to make use of Docker containers in their Pipelines as much as possible. Thereby you forego the need of installing different programming languages and plugins on all your agents.
For plugins that really have to be added to Jenkins, I'd set up a test instance of your Jenkins server, to try out the plugin, and see whether it clashes with existing plugins. Try to keep the number of plugins low, suggest people to only use quality plugins that get recent upgrades, and remove plugins when you no longer need them.
One issue you will encounter is Jenkins has no (as far as I can find) authorization strategy for plugins. Basically, all plugins are available to everyone. Thia may be an issue if teams have different and contraindicated requirements (eg: a team not allowed to use ssh or HTTP requests). If you have a homogeneous approach to SW development, code, infra, tools, etc, then it becomes a matter of scale only..
In a large org, you also may have issues with a single Jenkins merely finding maintenance windows. It also creates a single point of failure.Are you OK w/that or need H/A?
You may benfit from several masters (per business unit or product) and use JCasC to manage common configurations overview, plugin to make your life easier.
Is Continuous Integration feasible for iOS.
Again my Jenkins build fails with “Your session has expired. Please log in.” and I begin to ask myself if Continuous Integration is at all feasible for iOS development.
How can you set up a reliable unattended build system that demands a user logged into some web service which might expire your login at any moment? As far as I see it the answer is: You can't.
It's just not possible. It will always be an unreliable system which will stop building for no apparent reason.
Or am I missing something?
As an answer to the discussion in the comments, it is feasible. There is no simple way to explain everything that you need but in a short summary.
If you using Jenkins,
You need access to MacOS, Jenkins running on MacOs or Jenkins Slave which is with MacOS.
Xcode on the machine from point 1. with xcode(xcode comand tool) xcbuild.
Fastlane integrations (check here)
The last thing is fine-tuning with your process, haw and when to increase builds and etc.
At some providers like Azure DevOps, it was easy to add all these BIG steps with build in components of the system.
In general, I never found a good tutorial about this how to be done end to end. But with a lot of reading and trying it was done from me, without to have big experience in the dev-ops world.
P.S. It will be nice if you do a good tutorial for how this can be done when you made it(I didn't have time to do it :( ).
What are peoples opinions on jira studio? i.e. using the hosted product for a large company. Especially with hosted source control and reliability of the service?
Is this product up to large scale implementations yet?
I've been using JIRA Studio (hosted) extensively over the last few weeks with a Java project. So far my experience has been resoundingly positive, with the following caveats:
Setting up Elastic Bamboo requires filing a support ticket. While admittedly the process is fully automated and very easy, it can still take a day or two before you can begin setting up your builds;
In my opinion, SVN hosting is limiting. I've been very much looking forward to working with git or Mercurial, but I'm not aware of any plans to add support for those. You can certainly find a separate host for your sources, but you'd be losing on ease of use, out-of-the-box integration with issue tracking and the JIRA dashboard (which I've grown to absolutely love) and will have to sign with a second provider.
I would rate the primary advantages as:
Very low integration cost (compared to e.g. setting up your own Bugzilla+Mediawiki+Hudson setup);
Relatively low TCO, particularly if you have a small staff and no Linux hackers to get you started up;
Very smooth administration and usage experience. I've very rarely had to look in the documentation, and then it was usually clean and informative.
I am looking for a comparison between IBM Build Forge (Rational) and Hudson CI.
At work we have full licenses for BuildForge but recently we started using Hudson for doing continuous integration and automating other tasks.
I used BuildForge very little and I would like to see if there are any special advantages of BuildForge over Hudson.
Also it would be very helpful to see a list of specific advantages of Hudson over BuildForge.
I not sure if it important or not, but I found interesting that Build Forge is not listed under continuous integration tools at wikipedia.
Thanks for bringing attention to the fact it was not on the wikipedia list of continuous integration applications. I have now added it. Build Forge has been a leader in providing continuous integration capabilities by use of it's SCM adapters for many, many years. Build Forge has a strength in supporting many platforms through its use of agents. These agents can run on Windows, Linux, AIX, Solaris, System Z, and many more -- they even give you the source code for the agents for free so you can compile it on just about any platform. The interface allows you to easily automate tasks that run sequentially or in parallel on one or multiple boxes. Selectors allow you to select a specific build server by host name or by criteria such as "any windows machine with 2gb of ram" from a pool of available agents. The entire process is fully auditable, utilizes role based permissions, and is stored in a central enterprise database such as DB2, Oracle, SQL Server, and others.
One of the most compelling reasons to use Build Forge is it's Rational Automation Framework for WebSphere. It allows a full integration into WebSphere environments to automate deployments and configurations of WebSphere through out of the box libraries. The full installation, patching, deployment of apps, and configuration of WAS and Portal can be performed using these libraries. To find out more, it is best to contact your IBM Rational representative.
You can use RAFW (IBM Rational Automation Framework for WebSphere) with BuildForge. It does not make sense to use RAFW with other ci servers, since RAFW requires BuildForge.
You have support for BuildForge and it integrates with other IBM software like ClearCase. Theoretically you have only to deal with one vendor if something in the chain does not work, but IBM has different support teams for their products and you might become their ping pong ball. :(
Hudson is open source (if you like that), that means you can get the source and modify it to serve you better. But the release cycle is very short (about 1 week, agile development). There is a more stable version with support available now (for cash of course) from the company of the main author of Hudson.
Hudson is currently main stream and is actively developed. I don't know how the usability of BuildForge is, but Hudson is good (not always perfect). The plugin concept of Hudson is a great plus, not sure if BuildForge has it as well.
Currently, we are using Hudson, but BuildForge was not looked at in detail.
You need to define what you would need continuous integration for (e.g. building, testing). Having used Hudson, I can vouch for its usefulness and effectiveness. There are many plugins that extend Hudson that can suit various needs. And you can't beat the price point (free).
You need to inquire as to why a BuildForge license was obtained at your place of employment. Perhaps someone on your team knows why this was done. If it isn't necessary for your needs, don't renew your BuildForge license and simply continue using Hudson.
Being a BuildForge/RAFW user, I have to object to one point stated above. It is perfectly possible to use RAFW without BuildForge. It is driven by a command line script, and you could use for example Hudson and RAFW together just fine.
A sample command would look like:
rafw.sh -e env -c cell -t was_common_configure_start_dmgr
The primary differentiators IMO:
Hudson/Jenkins is more readily extensible with the many existing plugins. It has a large active community and plenty information and documentation.
BuildForge can be configured with agents running on multiple machines and tasks can be assigned to run on a target agent. Reliable vendor support.
My company are imposing Jira and Zephyr on us for defect tracking and test management. We're quite happily using TFS 2008 for both these jobs at the moment, but management have never let the fact that something isn't broken stop them from trying to fix it.
Are there any tools/plug-ins that will allow us to synchronise between the remotely hosted repositories and our in-house TFS server?
Probably too late, but the company might want to look at the new features for bug tracking and manual tests coming in the 2010 release. Nice as Jira is, I doubt it will integrate well with the historical debugger and the ability to include a video of the test, as well as information on the test environment, and have it all be part of the work item.