Git Product home page Git Product logo

challenges-chef's Introduction

challenges-chef: Chef Case study from dummy to pro

Build Status PRs Welcome

LinkedIn slack Github

File me tickets or star the repo.

Table of Contents

Challenges Your Chef Skills By Solving Real Questions.

Similar Challenges: https://www.dennyzhang.com/battle

Scenarios

Scenario-101: Chef HelloWorld I

  • Objective: Create a dummy cookbook, and test deployment in docker
  • Requirements:
1. Use docker container to start a env with chef pre-installed
2. Create a dummy cookbook and apply it

Scenario-102: Chef HelloWorld II

  • Objective: Pure VM deployment
  • Requirements:
1. Start a VM, install chef facility
2. Create a dummy cookbook to install jq package
3. Before install jq, run "apt-get update" by chef. So you need berkshelf.
4. Enforce rubocop and foodcritic for code static check

Scenario-103: Chef HelloWorld III

  • Objective: Setup chef server and chef client
  • Requirements:
1. Start 3 containers to run chef server, knife workstation and chef client
2. Install and configure knife
3. From knife node run chef deployment in chef client node

Scenario-201: Enforce TDD For Your Chef Cookbooks I

  • Objective: Test your cookbooks. Run kitchen docker in your laptop.
  • Requirements:
1. Use kitchen to test your cookbook: start a container and test the logic
2. Enforce kitchen verify logic via serverspec

Scenario-202: Enforce TDD For Your Chef Cookbooks II

  • Objective: Deploy for 3 scenarios: docker, local VM and public cloud
  • Requirements:
1. Use Kitchen to test local vm deployment
2. Use Kitchen to test docker deployment
3. Use Kitchen to test cloud VM deployment

Scenario-301: Use Chef To Deploy Jenkins I

  • Objective: Use chef to deploy one common service for real
  • Requirements:
1. Deploy a standalone jenkins by chef
2. Chef shall add one jenkins user
3. Chef shall add a dummy job with slack notification enabled
4. Run deployment in docker, vagrant and EC2
5. Test both Ubuntu 14.04 and Centos 7

Scenario-302: Use Chef To Deploy Jenkins II

  • Objective: More Jenkins customization
  • Requirements:
1. For better security, only registered user can login
2. For better security, Jenkins listen on port 18080, instead of 8080
3. When Jenkins is down, get alerts

Scenario-303: Use Chef To Deploy Jenkins II

  • Objective: More Jenkins customization
  • Requirements:
1. Use Jenkinsfile to create a Jenkins pipeline
2. Enable and configure ThinBackup

Scenario-401: Use Chef To Deploy 2 Nodes Jenkins I

  • Objective: Test and verify the deployment for both all-in-one and 2 nodes cluster
  • Requirements:
1. Test 2 nodes jenkins cluster deployment in docker
2. Use Jenkinsfile to configure Jenkins
3. Define Jenkins pipeline

Highlights

  • More Resources:
https://github.com/chef-cookbooks/jenkins
https://github.com/jenkinsci/pipeline-examples

Contributors: Give People Credits

Below are folks who have contributed via GitHub!

License

challenges-chef's People

Contributors

agill17 avatar dennyzhang avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.