Skip to content

CloudBees' Blog - Continuous Integration in the Cloud
Syndicate content
CloudBees provides an enterprise Continuous Delivery Platform that accelerates the software development, integration and deployment processes. Building on the power of Jenkins CI, CloudBees enables you to adopt continuous delivery incrementally or organization-wide, supporting on-premise, cloud and hybrid environments.
Updated: 2 hours 46 min ago

Maybe CD Summit And Jenkins Could Have Saved The Phoenix Project?

Fri, 04/24/2015 - 16:09
Gene Kim, authorBy now, most everyone in the information technology (IT) business has probably read or heard about the seminal book, The Phoenix Project, by Gene Kim, Kevin Behr and George Spafford. If you haven’t read it, put it on your Kindle right now and get started. The Phoenix Project is a great novel about IT that is both engaging and enlightening. As we watch our hero, Bill, transform his IT organization from a broken and dysfunctional siloed mess to a modern, efficient and productive software and solution factory, we learn (painfully) about many of the challenges that face real-world IT organizations today. In fact these challenges actually impact more than just IT - they also impact the business. The Phoenix Project tells the powerful story of how one organization implemented continuous delivery in their DevOps transformation.

The book starts with the promotion of Bill Palmer from Director of Midrange Operations to VP of IT Operations (albeit a somewhat reluctant promotion on Bills part).  Bill quickly discovers that his newly inherited world of IT Operations is a bit of a disaster.  The first part of the book describes in painstaking detail, the various issues Bill faces: production failures, too many audit findings, technical debt, organizations at each others’ throats, and fragile artifacts and systems.  And on top of all of this, Bill is tasked with launching their next generation “bet the business” platform for ecommerce and point of sale systems, the Phoenix Project, which is already behind schedule and at risk.

The fun starts when Bill meets Erik, the mysteriously wisened “Obi Wan Kenobi”-like character that helps Bill find his way from chaos to DevOps nirvana.  Erik leads Bill through a transformation via a number of breakthroughs that improve how the IT organization runs.  They identify many of the root causes of the challenges they face such as:

  • The volume of the Work In Progress (WIP) that is bottlenecked and where (or who) those bottlenecks are (and how reducing the work going to the bottleneck can help).
  • The amount of unplanned work that impacts their operations (and how planned preventative work can help).
  • The lack of real understanding of how the work flows and what the handoffs are (and how proper documentation, planning and Kanban boards can help here).
  • The impact of audit and infosec requirements (and how correctly scoping these can REALLY help).
  • The real amount of manual labor involved in every aspect of their operations (and how automation technologies can be super helpful here).

Erik gradually leads Bill to the vision of continuous delivery and how leveraging automation in the application development and delivery lifecycle can resolve a number of these issues by optimizing the flow of WIP, insuring application quality at each stage of the journey, and by guaranteeing that the environments and applications are the same across the stages of the lifecycle.  Here’s how Erik puts it:

“Your next step should be obvious by now, grasshopper. In order for you to keep up with customer demand, which includes your upstream comrades in Development,” he says, “you need to create what Humble and Farley called a deployment pipeline. That’s your entire value stream from code check-in to production. That’s not an art. That’s production. You need to get everything in version control. Everything. Not just the code, but everything required to build the environment. Then you need to automate the entire environment creation process. You need a deployment pipeline where you can create test and production environments, and then deploy code into them, entirely on-demand. That’s how you reduce your setup times and eliminate errors, so you can finally match whatever rate of change Development sets the tempo at.”1

Erik is describing continuous delivery which is the application lifecycle management approach that is rapidly taking hold across industries.  And interestingly, there are technologies out there today that are specifically designed to help you implement continuous delivery.  Jenkins, the industry’s most popular continuous integration server is now being extended beyond the build and test stages to orchestrate full continuous delivery process. The Jenkins Workflow capability allows DevOps practitioners to create full Deployment Pipelines just as Erik describes.  If the Phoenix project had leveraged Jenkins for continuous delivery from day one, then the project would have surely been more successful, but it would also mean that this book would have been much less interesting!  As mentioned above, The Phoenix Project is a great read and should be required reading for all of us in this industry.



If you would like to learn more about how you can apply continuous delivery (CD) in your world (perhaps to ensure that no one writes a book about your software delivery disasters), come to the CD Summit World Tour this summer. In fact, Gene Kim, author of The Phoenix Project, will be a keynote speaker at the Washington DC and San Francisco events so bring your own copy of The Phoenix Project and have it autographed!




1) Kim, Gene; Behr, Kevin ; Spafford, George (2013-01-10). The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win (Kindle Locations 4373-4378). IT Revolution Press. Kindle Edition.







Dan Juengst

Senior Director, Product Marketing
CloudBees, Inc.
Follow Dan on Twitter: @DanJuengst
Categories: Companies

[Infograhic] What's Holding Up Speedier Software And Services Delivery?

Wed, 04/22/2015 - 20:30
 
Read the report here.

Christina PappasMarketing Funnel ManagerCloudBees
Follow her on Twitter
Categories: Companies

Jenkins User Conference Update -- Agenda is Up for U.S. East and Europe!

Wed, 04/22/2015 - 17:46
There is an exciting JUC update this week! The agendas are available for JUC U.S. East and JUC Europe. Click here to read more about the talks, presenters and schedules.
As with every JUC, there is a great lineup of speakers eager to share their experience, expertise and knowledge with the Jenkins community: Martin Hobson will be presenting “Visualizing VM Provisioning with Jenkins and Google Charts” at U.S. East, and Pradeepto K. Bhattacharya’s talk is called “Orchestrating Your Pipelines with Jenkins, Python and the Jenkins API” at U.S. Europe. Learn the who/what/where of all 2015 JUC locations here.

In each agenda, you will notice some familiar names: Andrew Bayer will be presenting his popular talk called “Seven Habits of Highly Effective Jenkins Users” at JUC Europe. (You will have to race to get a seat at that session...it will fill up!) Will Soula is back this year to JUC U.S. East to “chat” about “Chat Ops and Jenkins.” Lorelei McCollum is also returning with two sessions at JUC U.S. East: “Jenkins 101” and “Getting Groovy with Jenkins.”

You will notice a few differences in the JUC agendas for 2015. In the U.S. East, Europe and U.S. West locations, JUC will be a two-day conference! Another change is that each session has been assigned a category according to its content: Continuous Delivery, Large Scale Jenkins Implementations, DevOps, Scalability and more. This will help you decide which talks to attend. You will also see that several talks reflect the industry’s heightened interest in big data and Docker, especially in the agenda for JUC Europe.

The agendas are still in the works for JUC Israel and JUC U.S. West. There is still time to submit a speaking proposal for either of these JUC locations. The U.S. West deadline is May 3 and the Israel deadline is May 15.

JUC is the perfect opportunity for the Jenkins community to come together and network in person. You will meet Kohsuke Kawaguchi, creator of the Jenkins project, Gene Kim, author of The Phoenix Project and DevOps expert, and if you are lucky you may also meet the butler! This year, with the Jenkins project at over 100K active installations, the 2015 JUC World Tour will be the largest gathering of Jenkins users on earth.
Early bird pricing is still available for JUC U.S. East and Europe until May 1, so REGISTER NOW.
Sponsorships for the 2015 JUC and CD Summit World Tour are still available for all locations! Show your support for the Jenkins community.
Categories: Companies

2015 Jenkins User Conference World Tour - Early Bird Tickets, Keynote Speakers

Fri, 04/10/2015 - 21:52

The dates for the 2015 Jenkins User Conference (JUC) World Tour are coming up quickly! This year, with the Jenkins user community at its strongest and largest size yet (well over 100K active installations), each stop in the Jenkins World Tour 2015 will be the largest gathering of Jenkins users in the region.

Kohsuke Kawaguchi, the creator of the Jenkins project, will be the opening keynote speaker, just as he has been at past JUC conferences.

With the expansion of JUC this year to two days, we have added another keynote on the second day. We are pleased to announce that it will be Gene Kim, author of The Phoenix Project and a thought leader in DevOps. Learn more about Gene.

The Phoenix ProjectTo have both of these experts in one place will provide a tremendous opportunity to learn about Jenkins as the foundation for CD and DevOps practices - both the technologies that enable CD and DevOps and best practices for achieving CD and a DevOps culture.
This year, the Jenkins World Tour 2015 will be paired with the CD Summit conference. These two events will be run concurrently over two days (at U.S. East, Europe and U.S. West only), allowing attendees of either conference to attend any of the talks and presentations at the other event. That means a great mix of people to network with, from Jenkins developers and CD practitioners to managers, architects and directors/VPs of R&D. CD Summit was incredibly popular last year - if you didn't attend one of the seven that were held in 2014 around the world, you  missed out on a great learning opportunity. Learn more about the 2015 CD Summit conferences.

With the number of sessions and experts available to you throughout the Jenkins User Conference this year and the opportunity to crossover and attend CD Summit sessions, you have an amazing opportunity to gain insights into solving YOUR specific Jenkins and DevOps challenges.

Registration for JUC is now open for all locations. Register and take advantage of Early Bird pricing (ends May 1)!
The Call for Papers for JUC is still open for Israel and U.S. West. If you are interested in speaking or know of someone you would like to hear speak, here are the deadlines for abstract submissions:
The Call for Papers for CD Summit is open for U.S. West only:
Sponsorships are great ways to show your support for the Jenkins Community and passion for continuous delivery! Opportunities are available for all locations. Learn more here. 
Categories: Companies

Webinar Q&A: Continuous Delivery with Jenkins Enterprise and UrbanCode Deploy

Thu, 04/09/2015 - 23:30

Thank you to everyone who joined us for the webinar with IBM UrbanCode.


Following are answers to the questions we received during the webinar:
________________________________________________________________

Where can I see more examples and materials about jenkins and udeploy?
Instructions for configuring the publishing plugin are here: https://developer.ibm.com/urbancode/docs/integrating-jenkins-ibm-urbancode-deploy/

Can you illustrate some of large installations please?
Large installations of UrbanCode Deploy today manage deployments of hundreds of applications across thousands of servers.

Is the Jenkins and Puppet integration happening by Puppet plugin?
For jenkins/puppet/docker stuff I talked about, see https://github.com/jenkins-infra and https://github.com/jenkins-infra/jenkins-infra in particular. For workflow, see https://github.com/jenkinsci/workflow-plugin.

Is workflow plugin available in OSS version?
Yes, most of workflow is in OSS.

Do you have a trial download or POC sessions to test this tool?
For UrbanCode Deploy, you can register for an evaluation here: https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=RATLe-UCDeploy-EVAL&S_CMP=web_dw_rt_swd. We do recommend a formal PoC with assistance from our team. Please email ucinfo@us.ibm.com with any questions.

We have IBM Rational. What is the difference between IBM Rational & IBM UrbanCode deploy?
Rational is a brand with a lot of products so its hard to draw a clear distinction. IBM UrbanCode Deploy was part of that brand until recently, and does integrate with many of the Rational products including Team Concert, BuildForge, and ClearCase.

What do you recommend the "workflow" would look like between Jenkins & uDeploy?
Jenkins should clearly be doing all the builds. UrbanCode Deploy should take care of the mechanics of doing the deployments. Jenkins should drive UCD more than UrbanCode Deploy drives Jenkins.
It should also be where requests to deploy a collection of builds that have been tested together are promoted to production together. That leaves a question of where should the decision to promote a version that is independently tested be made. Either tool should be able to handle that request. The right place to do it likely depends on the teams’ culture and who is likely making that decision. That closer to development that decision is made, the more likely it happens in Jenkins.

Any plan on having "Thumbs up" support (Approval) at snapshot level?
Yes. Snapshots support “Quality Statuses” which is how UC Deploy tracks thumbs up.

We are a Microsoft house (and have no IBM presence). Do you support your products on Windows?
Yes. IBM UrbanCode Deploy is supported on Windows, and we integrate with a range of Microsoft Technologies from TFS to IIS to SharePoint.

Does Urbancode deploy take any DB backup, before upgrading the DB?
If you configure it to.

Can we publish code to several UCD components in the end of the build? Like fileA goes to componentA, fileB goes to componentB?
Yes. However, the current Jenkins plugin doesn’t support this. We’ve had a number of customers install the UCD command line tools

What are the key differentiators of UrbanCode Deploy and Chef or Puppet?
You have a directed, application centric, deployment automation tool versus convergent, node centric, configuration management tools. Explained in depth in our white-paper on why you would use us in addition to Chef (applies almost equally to Puppet/Chef/Ansible).  https://developer.ibm.com/urbancode/docs/5-reasons-use-ibm-urbancode-deploy-already-using-chef/

What about having to rollback a deploy? Is it up to a developer to manage the "unwinding" of any changes that happened? (think database migration and data migration)
For fully deployed things (like a Java war/ear or a .Net website) this is basically as easy as looking up the previously deployed versions and redeploying them. That’s handled out of the box. For incrementally deployed things, the rollback tends to need to run specialized reversing automation for each undesired version that was applied in the reverse order. UrbanCode Deploy handles the tracking of versions and the running of rollback in the right order out of the box, but does need to be told how to reverse your changes. We are not going to read you SQL scripts and guess at how to reverse them.

Does urban deploy help to define the workflow for enabling the downtime communication and also help the release engineer to get the required sign offs before and after deployments?
Yes, sign-offs or approvals are fully supported. Notifications of deployments starting are also supported. UrbanCode Release goes further in handling scenarios where an enterprise release might have comms going out a few hours before the event really starts (or making sure someone knows to leave the heat / air conditioning turned on that night), and needs to track the progress of numerous application deployments happening as part of the same night.

If Nexus is used for staged builds, how could uDeploy be configured to pull from both staged and released builds without defining separate components that pull from Nexus?
The pattern of promoting builds through multiple artifact repositories is generally redundant with UrbanCode Deploy. If you want a single version number to pull from one Nexus repo in lower environments and a different one in upper environments, you would parameterize the repo location in the download step using an Environment property. That sounds like it would introduce risk of not matching versions against repositories correctly, making traceability harder, and require fancier configuration for little benefit though.

Is UrbanCode Deploy compatible with Team City? 
Yes. UrbanCode Deploy supports the most popular continuous integration tools, as Jenkins is integrated with by most release automation tools.

Is there a supported pathway to move from IBM UrbanCode Deploy 6.1.1 to Deploy with Patterns?
Yes.

Will uDeploy support SQL Server updates and is there any plugin for running queries from Jenkins?
UrbanCode Deploy does support deploying to SQL Server through a direct integration, a JDBC based integration, and 3rd party DB updating tools including LiquidBase, Datical DB and dbMaestro. For a full list of database centric integrations, look here: https://developer.ibm.com/urbancode/plugins/ibm-urbancode-deploy/#filter=Database

What is the integration scenario with other Urbancode modules?
UrbanCode Deploy (and therefore Deploy with Patterns) is the only UrbanCode module with a direct link to Jenkins.

--Eric Minickhttps://developer.ibm.com/urbancode/

 Eric is the Release Automation Market Manager at IBM.


--Kohsuke Kawaguchi
www.cloudbees.com
 Kohsuke is the CTO at CloudBees.


Categories: Companies

CloudBees Jenkins Enterprise 14.11 available on Pivotal CF

Fri, 04/03/2015 - 15:47
CloudBees is delighted to announce the immediate availability of CloudBees Jenkins Enterprise 14.11 for Pivotal CF (version 1.3.8.3 on Pivotal Network - Jenkins Enterprise by CloudBees 1.580.13.1).

This new release will allow Pivotal CF users to leverage the new Jenkins Workflow capabilities introduced in CloudBees Jenkins Enterprise 14.11 and covers the fixes for the Jenkins Security Advisories 2015-02-27 and 2015-03-23.

Key benefits of CloudBees Jenkins Enterprise for Pivotal CF
The key benefits of deploying CloudBees Jenkins Enterprise on Pivotal CF are
Continuous deployment with CloudBees Jenkins Enterprise, Pivotal CF and Cloud Foundry
Buildpacks and Pivotal CF Services support
Available in a click!
Out-of the box integration with Pivotal CF (security ...)
 Deployment of Jenkins on the Pivotal CF servers and management of the Jenkins servers by Pivotal CF

Resources
For more details, please visit:
Categories: Companies

Webinar Q&A: Facilitating Continuous Delivery Pipelines with Jenkins Workflow

Thu, 03/26/2015 - 17:05


Thank you to everyone who joined us for the webinar with eSynergy--you can view the recording here.

Below are the link found in the slides from the webinar:

Get The Code:https://github.com/harniman/workflow-demos
https://github.com/harniman/spring-petclinic
https://github.com/jenkinsci/workflow-plugin/blob/master/COMPATIBILITY.md

Tutorial:https://github.com/jenkinsci/workflow-plugin/blob/master/TUTORIAL.md

Jenkins Enterprise by CloudBees Workflow-Related Functionality:http://jenkins-enterprise.cloudbees.com/docs/user-guide-docs/workflow.html

Following are answers to the questions we received during the webinar:
________________________________________________________________

Q: Can 'pause for input" can be accepted via api? A: Yes you can POST to a URL to proceed. 
Q: Any support for Android Emulator in workflow? A: No specific support yet that we are aware of. You can use `sh` steps to launch and tear down the emulator. 
Q: Are you developing any plugins/workflows that uses Puppet/Chef? A: Not currently, though of course you can run such commands from shell scripts. There is a plugin that allows tracking of puppet deployments. 
Q: Pending JENKINS-27295 Booleans end up as Strings in the Groovy script. Is there a workaround? A: Currently you would use Boolean.parse or just check MYPARAM == 'true' 
Q: Can the DSL be extended with new commands?, For example to call things specific to plugins and not present in core? Like running an xcode build. A: DSL steps are contributed to by plugins. 
Q: Is there a list of plugins compatible with Workflow? A: See https://github.com/jenkinsci/workflow-plugin/blob/master/COMPATIBILITY.md 
Q: Can the DSL functions be reused across jobs? A: You can `load` a file of Groovy functions you wrote, or commit a Groovy class to a Jenkins-managed Git repository and then import it from as many flows as you like. 
Q: Can we restrict checkpoint to a particular access group who can click ok? A: Not currently; just based on Job/Build permission. 
Q: If we have 10 commits then would all 10 builds pause at Staging using up 10 executors unless someone clicks yes or no? A: It is not using up executors while waiting (unless you are inside `node`). If you want to automatically cancel older prompts, that would be: https://issues.jenkins-ci.org/browse/JENKINS-27039 
Q: Do we have ability to integrate with Jira? Like opening a task in Jira when the tests fail. A: Its possible the JIRA plugin for Jenkins may implement this. Or if there is a way to access JIRA REST API e.g. from curl/wget you could do this today. 
Q: Do you plan to implement a “task list” screen for a user to see all tasks awaiting their input? A: Not at present. This would be a great RFE. 
Q: How to enable own jars in workflow lib? Is that possible. Is that possible to download workflow lib directory from external git (scm) instead of use of "static" content? A: External JARs in classpath (other than plugins) not currently supported. You can load *.groovy sources (interpreted) from the load step, or use a Jenkins-managed Git repo to save common classes/functions. 
Q: How to take standard input/error and error code in shell script to manage step (sh command)? A: See RFE: https://issues.jenkins-ci.org/browse/JENKINS-26133 which also contains workaround idioms. 
Q: Can you propose interfaces for some commands using not only String but also Arrays? I.e. it is not possible to send mail to many recipients or set more than one submitter in input phrase because of String, not String[] interface? A: For the `submitter` option to `input` you can set the name of an external group, for example LDAP group. Then anyone in that group may approve. In general yes steps can and do take arrays/maps where needed. Possible RFE, but I think https://issues.jenkins-ci.org/browse/JENKINS-27134 would be the better approach in general (integrates nicely with authorization strategy configuration for Jenkins overall). 
Q: How can I add RFE request? A: See https://github.com/jenkinsci/workflow-plugin#development 
Q: When I run the code on slave the current dir and context is set to the workplace directory. Is this way to automatically set it to the job-numbered dir or I have to do it manually? A: You can use the dir step to temporarily change directory (like pushd in shell scripts), or you can ask for a specific _locked_ workspace with the `ws` step. 
Q: Is that possible to put some links into workflow report screen and/or workflow step screen (i.e. to show sonar, junit links)? A: JUnit result archiving is supported. For Sonar use the https://wiki.jenkins-ci.org/display/JENKINS/Sidebar-Link+Plugin 
Q: Do you plan to provide ability to group steps in step list (now each sh is separate step) to improve readability? A: See https://issues.jenkins-ci.org/browse/JENKINS-26107 
Q: Does Input send email to alert the responsible party? A: No but you could use the distinct `mail` step to do so. 
Q: Does workflow support multiconfiguration jobs? E.g. can I define configurations within the workflow to run multiple concurrent builds on different platforms and have each of these follow a workflow? A: You can do so, although there is not currently a good way to separate displayed results by configuration. This is something we are thinking about adding. 
Q: How hard is it to implement the github triggers? A: See https://issues.jenkins-ci.org/browse/JENKINS-27136 You would need Java development experience and knowledge of Jenkins plugin APIs. 
Q: Is build promotions a feature of Workflow? What does build promotion look like in Workflow? A: The equivalent of the Promoted Builds plugin for Workflow would be build stages. 
Q: Does workflow provide functionality to capture test result output of test stages and aggregate it similar to the JUnit test result reports in the build stage? A: You can run test result archiving multiple times per build. Currently all such results are simply aggregated. https://issues.jenkins-ci.org/browse/JENKINS-27395 suggests refinements. 
Q: Is there more than the simple proceed / cancel functionality to the transitions between stages? A: https://issues.jenkins-ci.org/browse/JENKINS-27039 suggests other behaviors. 
Q: Are checkpoints and resuming from checkpoints a feature reserved only for Jenkins Enterprise? A: Yes. OSS Workflow does let builds survive simple Jenkins restarts (or slave disconnections and reconnections). 
Q: Can workflow accommodate a deployment model that is asynchronous? We use Puppet to deploy. The handshake is via MQ so the deployment status is not available immediately. A: I would suggest using the waitUntil step to wait for a deployment flag to be set. In the future there might be a step designed to wait for MQ events, or specifically for Puppet, etc. 
Q: Is wait until asynchronous? A: Yes, checks for the condition repeatedly, at increasingly long intervals if still false. 
Q: If we are using a separate tool for Deploying apps, something like IBM uDeploy how does it integrate into the workflow? A: You would use the `sh` (or `bat`) step to run it as an external process. 
Q: If you have jobs which now continue past a Jenkins reboot, how do you restart jobs that are stuck in a poor state or need some attention? A: You can cancel stuck builds if you need to. 
Q: Is it competing with XebiaLabs XLRelease and/or Nolio ReleaseAutomation? Does it have inframent abstractions, does it has easy keystores for passwords needed? A: Not really competing with that kind of product; more complementary. There is integration with the Credentials system in Jenkins. 
Q: Is it possible to just get an enterprise version of this plugin or does it only come as part of a package? A: Currently only as part of the Jenkins Enterprise package. 
Q: Is the entire pipeline defined in a single file? A: Yes. (Or you could define parts in a different file if that made things more readable.)
Q: Is the Job DSL plugin compatible with it? Or are they sort of competing plugins doing the same thing? (though I know Job DSL does not do workflows). A: Job DSL supports Workflow as of a recent release. 
Q: Can the Job DSL plugin generate workflow dsl? A: Yes it can. 
Q: Are there other ways to create workflow jobs? A: Yes, you can use the Jenkins Enterprise Templates capability. 
Q: Is there a way to have a particular user be able to authorize the proceed / cancel upon reaching an input point? A: Yes, `input message: '...', submitter: 'thatUserID'` 
Q: Can Jenkins be used as an artifact repository? Similar to Artifactory. A: You can archive artifacts from the build, though if you have big files, or want to use them from other tools, you are recommended to use Artifactory/Nexus/etc. 
Q: Is there a way to send an email to solicit input from non-technical users? A: There is a `mail` step. 
Q: Is there an option to launch Hadoop workflow jobs? A: If there is a cloud provider for Jenkins generally, it can be used to run Workflow `node` steps on that kind of slave. 
Q: Wanted to see if Jenkins can be a single place to launch jobs for hadoop, may internally Ooozie scheduler be used to launch, any option? A: If there is a shell command you can run to launch the job, then you can do it from Workflow. 
Q: Nowadays we rely on MultiBranch Project Plugin for support our development process based on Pull Request and Code Review. Is it possible to achieve the same result using workflow plugin? A: Not currently but I would like to add such support: https://issues.jenkins-ci.org/browse/JENKINS-26129 
Q: Where is there any source of work flow plugin job configurations aside from the github page? A: A new tag for StackOverflow has been proposed. 
Q: Is there perforce integration? A: The new Perforce plugin (from Perforce) recently added Workflow support. The older one does not have it. 
Q: Would you want to create a groovy script that contains functions that can be reused in other workflow builds, it should be a plugin? A: Need not be a plugin, can just live in your SCM, etc. 
Q: What is the recommended way to have reusable groovy parts shared among different jobs? A: You can use the `load` step, or you can define classes in a Git repo hosted by Jenkins and which are then available for immediate import. Other options may be added in the future. 
Q: Why is 'Surviving Restarts' implemented in a Plugin, and not in Jenkins Core? A: Technical reasons too involved to go into here. Basically Jenkins was not originally designed to make that possible. Jenkins Enterprise provides a plugin to support Long Running Builds. 
Q: Is Console output of parallel executions in any way grouped, or just all lines mixed up? A: With lines intermingled, but prefixed by branch name. 
Q: I have my workflow script in one SCM repo, but want to trigger the job from all changes in a different repo, can I do that? Or would I need to keep workflow script with my sources? A: Yes, you can use as many repositories are you like from a single build, which may or may not be where the Groovy script is kept. 
Q: Will there be an option to download the example workflow source? A: Yes - https://github.com/harniman/workflow-demos 
Q: How is the Jenkins workflow kept in a source code control system of some kind? For example to see what variables were defined as at some point in the past? A: You can load your whole flow script, or just a part of it, from source control.

--Nigel Harnimanwww.cloudbees.com

Nigel is a Senior Solution Architect at CloudBees.


Categories: Companies

Registration is Open for JUC 2015!

Wed, 03/25/2015 - 20:50
Attend THE conference for Jenkins users, by Jenkins users.Register and Learn More. Early Bird rate ends May 1!
 In the past, the Jenkins User Conference has been a one-day event, but this year for the first time ever it will be a two-day event in three cities, providing you with more content and more networking opportunities with more Jenkins users! (Refer to the graph below to see just how many attendees are expected.)

The main focus of JUC is the use of Jenkins for continuous integration (CI) and continuous delivery (CD) as the fundamental best practice for enterprise software delivery. All JUC presenters are experienced Jenkins developers, build managers, QA, DevOps practitioners, IT managers/executives, architects and IT operations who are luminaries within the Jenkins community. They represent the many organizations around the world that are leveraging the use of Jenkins within the software delivery lifecycle.
In 2014, the community saw an 80% increase in attendance
over 2013. This year, 800-1000 attendees are expected in
each city!
We welcome you and other leading Jenkins developers, QA, DevOps and operations personnel to the Jenkins User Conference World Tour. As the organizing sponsor of the Jenkins User Conferences, CloudBees has helped the community grow the Jenkins User Conferences worldwide over the last four years.

In 2015, the World Tour will bring together the full strength of the Jenkins community—now over 100,000 installations strong—and the ever expanding Jenkins partner ecosystem, allowing attendees to learn, explore, network face-to-face and to shape the next evolution of Jenkins development. Kohsuke Kawaguchi will kick off the event with a keynote address and lead us into the two-day conference. Attend a JUC to get the knowledge you need to make your current and future Jenkins projects a success.
Categories: Companies

Webinar Q&A: Continuous Delivery with Puppet Enterprise and CloudBees Jenkins Enterprise

Fri, 03/20/2015 - 17:40
Thank you to everyone who joined us for the webinar. You can view a recording of the webinar here.
Below are the questions we received from the Q&A: 
Q: Should Jenkins-Puppet comm be sync or async mode? How to configure both modes? In async, how does Jenkins know which environment Puppet deployed?A: Mostly sync. The best strategy is to have the Puppet master(s) be Jenkins slave nodes.  Jenkins can issue commands from there such as r10k runs or command and control tasks such as triggering puppet agent runs.
Q: How does puppet integrate with central authentication (such as Active Directory)?A: Puppet Enterprise includes Active Directory support for RBAC and user management.
Q: When you say "delivering infra services" do you include the underlying baremetal infra or just the apps built on top?A: We focus on underlying OS (network, NTP, SSH, auth, etc) and middleware application (Apache, Oracle DB, ISS, etc).  While Puppet Enterprise can be used to deploy application artifacts, we find we’re not commonly used for that purpose.  In the future, we will be releasing application management features in Puppet Enterprise that are intended to resolve common challenges of using Puppet Enterprise for application deployments.
Q: How to test puppet configuration through Continuous Delivery pipeline?A: We highly recommend using Beaker, our acceptance testing framework.
Q: Where can I find info about the Puppet & Jenkins HA?A: You can find more about Jenkins HA here.
Q: We're a windows shop, can you cover Puppet on Windows servers?A: Yes.  We have extensive Windows coverage to manage everything to system reboots, Registry keys, IIS, MSSQL Server, DSC, and more.
Q: Is there any other technology that can replace puppet in future?A: It’s unlikely. While there are many ways to manage application deployments such as containers, for example, there will always be the need for stateful management of the infrastructure including persistent user data stores, networking, and base OS management.
Q: Can we use puppet & CloudBees to manage application specifics settings?A: Yes. Puppet’s built for managing any configuration for any compute systems.  Puppet Enterprise can easily configure a service and ensure it’s running based on assigned roles and site specific data. Our Hiera tool and Node Classifier application make the management of application specific configuration easy and manageable by those unfamiliar with Puppet.A2: Cloud Features.
Q: Is packaging needed for deploying build artifacts to servers?A: It depends on what is being deployed. If its a java application, then yes but if its scripting languages, you may not need packaging.
Q: Functionality on windows seems to be limited (wikipedia). What are the restrictions?A: That’s out of date. Puppet Enterprise’s Windows support has grown tremendously over the past year and a half.  Puppet Labs takes Windows very seriously and have a dedicated team focused on continuously improving the resources we manage on Windows.
Q: How does continuous delivery work?A: Continuous delivery is about proving any change is deployable to production when the business is ready by deploying the change to a production like environment. Automation is relied upon heavily to minimize human error as much as possible. It is an extension of the continuous integration movement. CI is about automating the testing of software builds as often as technologically possible. The next natural step is automate the deployment of the builds to a production like environment to prove the build not only functions in QA, but continues to function when deployed to its end state. This final step requires automation to manage the bits-on-disk configuration, which is where Puppet Enterprise comes in.
Q: How do you use Cloud Bees and Puppet to deploy in place to clustered servers without having downtime or version mismatch concerns?A: We have a tool called MCollective that can be used for running puppet on cluster nodes, but restrict puppet to running on a percentage based subset at a time.
Q: How do you make the best use of these tools in today's DevOps scenario?A: By managing each Puppet module individually, any team within a given organization can contribute to the Puppet code and management. We recommend using Git for version control with each change utilizing the pull request method for peer review prior to inclusion in the main code base. Combined with automated testing with Beaker, teams can have early visibility when a change they introduce breaks other Puppet code. This inclusion and visibility promote a cross team management effort, enforcing a DevOps culture.
Q: How do you integrate Puppet code testing with Beaker and Jenkins?A: Beaker provides the rspec-beaker gem, which means Jenkins can run Beaker tests just like any other set of rspec tests.
Q: I need to know more about Infrastructure as Code and the scripting languages used to make it happen.A: The Puppet DSL is anti-scripting.  It’s not a programming language as much as a configuration language.  Luke Kanies, the author of Puppet and CEO of Puppet Labs, wrote a nice piece on it a few years ago: https://puppetlabs.com/blog/why-puppet-has-its-own-configuration-languageA2: Other than the Puppet DSL, we often utilize Ruby for custom types and providers in Puppet, as well as custom functions to be used in our DSL.  Further, the Beaker testing framework uses ruby with rspec.
Q: Implementing a DevOps culture, how do I make the transformation?A: I highly recommend “The Phoenix Project” book to understand the what, why and how of DevOps.
Q: What is the on-prem model pricing for enterprise Jenkins?A: Pricing is generally based on number of Jenkins Masters and executors. Please contact sales@cloudbees.com for further information.
Q: What are the differences between Open Source and enterprise versions?A: You can learn more about it here
Q: What type of applications can be used to automation the deployment process. e.g. Java, nodejs, etc.?A: Jenkins support deploying any type of applications including Java, C, C++, .NET, NodeJS etc. The automation and deployment process for each of these language varies and Jenkins provides integration with a variety of these through plugins.
Q: What are the start and End points of CI/CD?A: CI usually starts when a developer commits code and involves additional steps such as build, unit test, code coverage and integration tests.A2: CD builds on CI and takes the automation further adding additional stages such as functional testing, performance testing etc… and each of these stages prove certain level of code quality which eventually could be deployed to production (but not always).
Q: Will this be available offline?A: Yes.
Q: I would like to understand Git, Jenkins and Puppet Integration.A: Git is fully supported as an SCM within Jenkins.
Q: Can it be integrated with JOC?A: Jenkins Enterprise is fully integrated with JOC.
Q: How do we configure Puppet to report back to Jenkins?A: Yes. Jenkins typically is responsible for build and promoting code from lower environments to high environments while proving certain level of code quality and puppet could take the artifacts generated and deploy it to different environments.
Q: How does puppet manage tracking of events started though puppet (logs for example)?A: You can find more about it here
Q: How do you achieve deployment and rollback of services using puppet?A: We don’t talk in terms of rollback, but roll forward. There are several types of changes in infrastructure that are not possible to rollback to a previous state.  Instead, it’s important to understand how the process of changing something to a previous state differs than the process of changing something to a new state.
Q: How do you upgrade the version of Jenkins without downtime?A: Using Jenkins Enterprise HA plugin its possible to upgrade with minimum downtime. You can find more information about the HA plugin here
Q: What are the differences between standalone and master/node?A: Using a central Puppet master is important to gain visiblitity into reporting in addition to having central inventory and node management functionality with Node Manager and PuppetDB in Puppet Enterprise.
Q: What will be difference between if I say Jenkins and Enterprise Jenkins?A: Jenkins usually refers to the Jenkins Open source version where as Jenkins Enterprise refers to the CloudBees Jenkins Enterprise.
Q: Can I use Enterprise Jenkins freely without taking any subscription?A: Jenkins Enterprise requires subscription but trials are available up on request.
Q: For CI I am using Jenkins. For CD should I use Enterprise Jenkins?A: Jenkins Open Source has several plugins that can help you achieve CD as well. Jenkins Enterprise provide additional capabilities that let you scale, manage, optimize and secure your implementations.
Q: Can I use opensource Jenkins for CD?A: Yes. There are a lot of plugins, like workflow, in the community that can help in building CD.
Q: Can I use Enterprise Jenkins without Puppet lab?A: Yes, but if you’re doing continuous delivery of infrastructure configuration, you MUST use a configuration management tool.  Puppet is de facto configuration management tool.
Q: Also, how do you integrate Xebia into this setup?A: XebiaLabs has a plugin to Jenkins you can utilize.
Q: Is GIT the default Puppet repo?A: r10k, our code management tool, works with SVN or git, but we find git tends to be used more successfully in customer environments.
Q: How does CloudBees keep up with the frequent Jenkins releases?A: CloudBees Jenkins Enterprise is based on LTS release and support the same for a year.
Q: I can use Enterprise Jenkins freely but for Support do I need to pay?A: Jenkins Enterprise requires a license to use.
Q: How do you integrate rspec testing? Is that more of a component module testing framework?
A: We highly recommend using the Puppet Labs Beaker acceptance testing framework for module testing.

-- Udaypal Aarkoti
www.cloudbees.com

Udaypal is the Solutions Architect Director at CloudBees.

--Carl Caum
www.puppetlabs.com

Carl is the Technical Marketing Manager at Puppet Labs, Inc.
Categories: Companies

Deadlines Fast Approaching: JUC 2015 Call for Papers

Tue, 03/17/2015 - 22:28

Don’t miss your chance to speak at a 2015 Jenkins User Conference! JUC provides a great opportunity for Jenkins experts, beginners, fans and all in between to connect, learn and have fun celebrating what JenkinsCI can do.

Speaking at JUC is the best way to share your Jenkins experiences, stories and expertise. Submit your talk proposal by the below deadlines to be considered.

Please note: To be considered to speak at JUC East Coast US and JUC Europe (London), you must submit your proposal by SUNDAY, MARCH 22, 2015. That is only FIVE days away!


2015 JUC Cities & Call for Papers Deadlines
  • East Coast US: Deadline to Submit - March 22, 2015
  • London: Deadline to Submit - March 22, 2015
  • West Coast US (Bay Area): Deadline to Submit - May 3, 2015
  • Israel: Deadline to Submit - May 15, 2015

If you are not interested in speaking, you can still contribute to the community. Contact alytong13@gmail.com to nominate a Jenkins user you would like to hear from at JUC!

Categories: Companies

Where in the World is Jenkins? - March 2015

Wed, 03/04/2015 - 20:59





CloudBees employees travel the world to a lot of interesting events. This month the Bees are busy. If you are attending any of these March events, be sure to connect with us!
  • FREE Jenkins and Docker Event - Thursday, March 5 
    Learn about workflows in Jenkins Enterprise and how to leverage Docker in your build process. Get more information here.
  • Jenkins Workflow Summit, London - Tuesday, March 10
    If you are a serious Jenkins user who is interested in the area of pipelines, workflows, orchestration and continuous delivery, then this is the event for you. Join Kohsuke Kawaguchi and Jesse Glick at the Royal Exchange, London to learn about the workflow plugin they have been working on. Come ready to participate -- we want to solve your problems and help you achieve your goals with workflow and beyond.
    Reserve your spot here.
  • Webinar: Continuous Delivery with Puppet Enterprise and CloudBees Jenkins Enterprise - Tuesday, March 17
    In this 60-minute webinar, you'll learn how Puppet Enterprise together with CloudBees Jenkins Enterprise can help you achieve continuous delivery of infrastructure services.
    Register for the webinar here.
  • Webinar (presented in Italian): CloudBees e Emerasoft presentano Jenkins Enterprise - Thursday, March 19
    CloudBees Continuous Delivery Platform, fondandosi su Jenkins CI, lo strumento open source più diffuso di Continuous Delivery, fornisce una vasta gamma di soluzioni CD. Utilizzabili in locale o sul cloud, soddisfano le necessità specifiche aziendali di sicurezza, affidabilità e facilità d’uso.
    Register for the webinar here.
  • Serena xChange 15 (Washington, DC) - Sunday, March 22-Wednesday, March 25
    At Serena's global user conference, learn how to achieve CI and CD Across the Enterprise with Jenkins with Andy Pemberton.
    View more information on his talk here and learn more about the conference here.
  • Webinar: Facilitating Continuous Delivery Pipelines with Jenkins Workflow - Wednesday, March 25
    Register and attend to discover how the new workflow engine of Jenkins CI and its Groovy-based DSL with support for complex control structures, human interaction and restartable checkpoints will give another dimension to your continuous delivery pipelines and greatly simplify your life.
    Register for the webinar here.
Categories: Companies

Save the Date for JUC 2015

Wed, 03/04/2015 - 20:25
Big news! Most of the dates and locations for the 2015 Jenkins User Conference (JUC) World Tour have been finalized.

Save the date(s):
  • US East (Washington DC): June 18-19
  • Europe (London): June 23-24
  • Israel: July 16 (ETA)
  • US West (Santa Clara): September 2-3
WAIT! There's more...This year, the JUC agenda will now cover two days! That means two-times as many learning and networking opportunities with other Jenkins users.
CALL FOR PAPERS IS OPEN FOR ALL JUC CONFERENCESWe are looking JUC speakers! The Call for Papers is open and you can apply here. This is a great way for YOU to give back to the Jenkins community. Share your Jenkins knowledge and success. Jenkins speakers add so much value to the overall JUC experience.

As a thank you for speaking, you will receive free admission to the conference! Apply soon, because the Call for Papers deadline for US East and Europe locations expires on March 22, 2015.

If you are not interested in speaking but would still like to contribute something to the community, let us know who you want to hear from! Nominate or refer that perfect speaker you have in mind and we’ll do the rest. Contact alytong13@gmail.com

JUC SPONSORSHIPSLastly, give back to the community by becoming a JUC sponsor. This opportunity is available to any organization – from a vendor selling into the Jenkins ecosystem to a company that has found success through Jenkins. Find out more here. (NOTE: JUC is not a moneymaking venture for the community – so sponsorships do make a difference.)
Categories: Companies