Tag team back again! Party on Commitmas people let me see some commits, git push, rejoice!
Tis the holiday season again, where we relax at home, eat loads of good food and spin dreidels. This year, let's keep learning all the great stuff learned during Commitmas 2: A Month of Merriment and the vBrownBag DevOps sessions.
This year we are focused on working together, whether you are contributing to an Open Source project or scripts at work. Working collaboratively together requires communication, coordination, and of course some practice with forking, branching, merging, and pull requests!
We have organized 5 groups, each with a "lead" to coordinate the efforts of contributing to the project or repository. There are different projects based upon different technologies, whether you are an experienced practitioner of PowerShell, or want to learn Ansible, there is a project for you to join!
The rules:
- Schedule time in your calendar for gitting in shape everyday for 30 days between December 1st - January 1st
- Choose your skill level: Beginner, Intermediate, or Expert
- Choose your team: Ansible, Chef, PowerShell, Puppet, or Python
- Follow the directions for your team and contribute to making something awesome!
- Fork and favorite this repository to show that you're participating!
That's it! If you get stuck or just want to chat with others, be sure to tweet with the hashtag #vBrownBag
or on the Geek Speak Slack Channel in the #learn-github
channel. We'll be out there to help.
Note: The Slack link doesn't always load due to using Heroku free tier. If you want a faster response, ping Rob on Twitter.
We'll have regularly scheduled vBrownBag podcasts that focus on working together in git.
Don't worry about getting stuck, or being rusty, we have all of last years recordings available on YouTube in our [Commitmas Playlist] (https://www.youtube.com/playlist?list=PL2rC-8e38bUXloBOYChAl0EcbbuVjbE3t) and in iTunes
- Wednesday 11/30 - Git'ing Ops in shape for DevOps with Taylor Riggan
- Thursday 12/1 - Lessons learned from writing the DevOps Handbook with Gene Kim
- Wednesday 12/7 - Forking public work, committing to it, and managing the PR process with Safia Abdalla 8P CST / 9P EST
- Wednesday 12/14 - Curating a group of people that build tools together with Matthew Brender
- Wednesday 12/21 - DevOps Discussion with John Hildebrand
Registration for the Commitmas online webinars may be completed through the US #vBrownBag page.
We all have different level of expertise when it comes to GitHub. Here are a few options based on your comfort level. Remember: focus on learning how git works and let the other topics follow.
##Beginner You're a beginner if: You're new enough to git that just the act of using it daily will be a lot of learning.
Setup:
- Create a GitHub account.
- Setup Git.
- Initialize your own new repository with a README.md.
- Clone your repository to your local development system.
Your challenge:
- Update the README.md file for your every single day with some new feature or functionality that your team created. This is similar to maintaining project documentation
- Add a meaningful comment to your commit. Learn the right way to comment your commits.
- Push that commit to your GitHub repository.
- Create additional repositories for scripts that you've created to do your job.
- Learn how to use
git commit --amend
. - Keep your fork in sync with the original repo.
Helpful hints:
- Remember that the goal of this is to learn how to use GitHub, so focus on git, not other code you'd also like to learn.
- Feel free to use the GitHub website, native apps or command line. Watch this vBB on GitHub to help you along.
- Markdown is awesomely powerful, so challenge yourself to use some of the more complex syntax. You can learn it all here.
##Intermediate You're at an intermediate level if: You're comfortable with the basics of using git, have lurked around on GitHub but never contributed to a project.
Setup:
- Fork your teams repository.
- Clone your repository to your local development system.
- Create a new branch to develop a new feature, or to fix a bug in.
Your challenge:
- Update the repository's Master branch every single day in some way.
- On your new branch, work on a meaningful contribution to your fork of the repository.
- Add meaningful comments to your commits when you commit on both branches.
- Open a Pull Request on the original repository from your new branch by the end of the 30 days of Commitmas!
- Learn how to use
git rebase
.
Helpful hints:
- Remember, documentation is code too (especially when using Markdown)! Find a project you want to support by improving documentation. Fork it and then make your contributions during this challenge.
##Expert You're an expert if: You've managed multiple contributor repositories before, have more than 5 pull request accepted, and want to join in Commitmas to really push yourself.
Setup:
- You've done this a few times, we don't need to tell you how!
Your challenge:
- Open a new Pull Request on open source repositories you use every single day for the 30 days of Commitmas! Don't forget to help out your beginner and intermediate level friends!
- Find stalled PRs, cherry-pick the valuable commits, fix any failing tests or merge conflicts, and provide a new PR.
Helpful hints:
- You really don't need any, but if you complete this challenge, please tell me (@mjbrender) and I'll definitely buy you a beer.
Team Ansible - 30 Days of Ansible Roles with Larry Smith
Team Chef - Deploying LAMP Stack to Docker Containers with Chef Jesse Anderson
Team PowerShell - with Kyle Ruddy
- Fork the PowerShell_Team repo and make contributions.
- Fork the PowerCLI Community repo and make contributions.
- Join some of the available Slack Teams, ask for help, offer help, and be a generally good community member!
- Commitmas Slack and then join the PowerShell Team channel
- PowerShell User Group Slack
- VMware Code Slack and join the PowerCLI channel
- Find some Puppet tickets that meet your skill and interest levels within Puppet itself or in Puppet modules.
- A curated set of tickets maintained by Vox Pupuli can be found here, organized by skill and type.
- Join the Puppet Community Slack for assistance with Puppet and Modules.
- Feel free to participate in the Puppet Community Hack Day on December 13th!
- Contact Rob Nelson if you have any questions.
Team Python - pybluedot, a Python project exploring NASA's public APIs with Matt Oswalt
Commitmas 2: A Month of Merriment
vBrownBag DevOps Series
The Git Book
These projects are soliciting pull requests through Commitmas and will be kind to new users without lots of questions along the way. Give back as part of Commitmas by opening Issues & PRs to any of them!
- Ruby Stargazer by @mjbrender - A tool to tally unique starrers across GitHub repositories for an organization.
- Transparent Travel by @mjbrender - A markdown-only repository to record where I'm flying and where I'd like to fly next.
- Anything Puppet by @rnelson0 - A growing collection of tools written for Puppet
- Anything Ansible by @mrlesmithjr - A growing collection of Ansible-based tools
- Anything PowerCLI - A growing collection of community sourced PowerShell and PowerCLI based tools for use within vSphere environments