BTMash

Blob of contradictions

LA Drupal Meetup: Presenting on Continuous Integration with Jenkins

Thu, 11/15/2012 - 14:56 -- btmash
Slide about Jenkins. Photo by Joe Chellman.

We had an amazing Drupal meetup in Santa Monica a few days ago (link). Our turnout was much higher than it has been in quite a while (atleast 40 people showed up) and the atmosphere was very cheerful. Organizers like Steve Rifkin and Ishmael Sanchez have added a lot of positive energy since they joined and their efforts clearly showed last night. We had two presentations (I was one of the presenters) and two lightning talks - I cannot really speak for my talk, but the main presentation by Ishmael Sanchez and both lightning talks (by Justin Gossett and Chris Charlton were simply fantastic.

Ishmael's presentation on rescue site projects and how to approach them (ie. a checklist approach) was really well done and gave a good idea to (IMO) everyone on how to successfully take over a project done by someone else. It was also good to hear from him on what we as developers should do to ensure a project we manage can be taken over by someone else with as few issues as possible (there will always be issues, but we should try and make sure that whatever project we're leaving has much of a chance at success as possible after our departure). I had a few small things I disagreed with (namely around 'hacking' Drupal core and contrib modules which I am personally ok with though I also make sure it gets documented somewhere within the project) but all in all, very sound advice and will first think of his checklist if I have to take over another project. Moreover, his presentation on the topic doesn't just apply to Drupal - his advice can be used on *any* project we work on (Drupal or not) and, aside from a few points that are Drupal-specific (like module names/whatnot), the rest is fairly universal. As a result, I find his presentation and checklist more and more appealing as I continue to think about it. Ishmael created a wiki on this so we can all learn and contribute back as a collective.

Justin Gosset presented on how to debug your mobile web applications (for Iphone) from Safari. He showed how plugging in the iphone will bring up a web inspector for Mobile Safari and talked a bit on his method for debugging his company's mobile website. I had no idea you could do this and was very pleasantly surprised. He did a great job and I really look forward to seeing more talks from Justin.

Chris Charlton presented on his new project, the Drupal Site Suite (be sure to check out the 7.x branch). He has put together a list of modules, themes, libraries, and profiles that he consistently uses through his projects and shared it with the whole community. Moreover, since it is on github, we have the ability to fork it, open issues on it (like one where I will be asking him to remove some now-deprecated modules), do pull requests and more! As a whole, this is a very valuable tool and I am very appreciative that someone that has a good understanding of what is happening in Drupal took time to put it together for all of us. Thank you!

I presented on Jenkins and using Continuous Integration software in your project. I feel this is a crucial part of the puzzle as I do more and more work with my team at work, on projects outside work, and becomes very apparent on projects that don't have such a system in place. On the whole, I think my presentation on the top went well (a member of the group that I feel is an amazing presenter and that I deeply respect told me that "I'm really nailing my presentation format now" - feel very proud of that) and I **think** I conveyed my point across. I had hit a snafu in my demo - I was trying to get some of my upgrade code to fail and while it went through all the steps in Jenkins, it still kept passing. Unfortunately, I didn't have enough time to debug the issue (within 2 minutes) and wished I could have shown this piece run successfully (or unsuccessfully since I was trying to get it to fail). I did, however, create a screencast of the presentation once I got home so those that couldn't make it could see it in action. You can view the slides at Speaker Deck and the video at UCI (thank you, John Romine and UC Irvine, for providing the LA Drupal community with such a valuable tool). My presentation at the meetup was a little less dry and much more fast paced but I hope you find this useful.

PS - Speaking of the presentation, a comment was made about it after the fact that did get me a bit peeved - someone mentioned that I did not explain the various pieces in my production server stack (ie. my web stack, not my jenkins stack) were (the comment was "You should have talked about what Nginx and MariaDB/Percona were."). On one side, I would like to apologize that I couldn't go over what some of these things were - I know a lot of things were mentioned and it may have made people a big confused. On the other side, however, my presentation *had* been marked as Pro Developer Series. I feel that as professionals...if we see something we don't know or understand, we should ask it while the presentation is going on (I always tell people before I start presenting that they are welcome to ask a question). Or that they can ask during the Q&A. Or look it up. But be proactive about it and not passive. In talking with others about this issue, I've decided to put a disclaimer in my slides inviting people to ask questions or look up terminology/technology they don't recognize.