This project is main for our ci-learning-maraphon.
- Kirill Kholodilin (chrl)
-
Zero day: Organizing participants, sharing roadmap, creating own projects
Practice: Create own project, describe project goals. Create bootstrap.
-
Theory: Learning about testable projects, TDD, difference between tests. Code-coverage tools.
Practice: Create first tests of your own project.
-
Theory: Learning about git-flow, how to code responsibly, how to work on feature-branches
Practice: Organize your project according to git-flow. Fork other's project, make pull-requests.
-
Theory: Learning about automated testing, travis, .travis-ci.yml configs.
Practice: Build your first travis automation. Setup warnings and notifications.
-
Theory: Learning about code-quality instruments: slinsight, scrunitizer, coveralls.io, etc.
Practice: Create automated testing and CQ reporting with scrunitizer. Try to fix all warnings.
-
Theory: Learning about environments, difference between test/dev/prod envs, automated evironment setup.
Practice: Create different builds for different PHP environments. Have your project tested in PHP 5.5/5.6/7.0/7.1/hhvm
-
Theory: Database migrations. Database seeding. Tools for db migrations: doctrine schema, phinx, etc.
Practice: Write your first migration, attach migrations to build process.
-
Theory: deployment, basic principles. Automated delivery.
Practice: Get your project successfully deployed after each build.
-
Result day: Have your project automated -- testable, deployable, stable. Discuss the results and plans for future development.
- Kirill Kholodilin (chrl) CI-learning project -- basic symfony-demo application, will be used for demonstration of tests, continious integration, etc.