- Authors:
- Sébastien Mosser (UQAM), [email protected]
- Jean-Michel Bruel (Université de Toulouse), [email protected]
- Version: 2021.09 (RE 2021)
- Kata length: 120 to 180 minutes
- Create a toy application in java to order drinks in a bar;
- Express acceptance scenarios to support requirements engineering;
- Implement a Continous Integration/Continuous Deployment (CI/CD) pipeline
- Deploy the app in an hosted environment
- IEEE 2021 International Requirements Engineering Conference
- Java 16: programming language used for this tutorial
- Maven 3: classical build and dependencies tools for Java
- Git: version control system for collaborative coding
- Docker: container framework used to create turn-key applications
- Heroku CLI tools: to manually deploy to Heroku
- GitHub account: https://github.com/join
- to host our code and execute the CI/CD pipeline
- Docker Hub account: https://hub.docker.com/signup
- to store our Docker image publicly (release)
- Heroku account: https://signup.heroku.com/
- to host our running aplication (deployment)
- Act I: Building the Technical Environment
- Act II: Creating Acceptance Scenarios
- Act III: Containerizing the application as a REST service
- Act IV: Continuous Integration & Deployment
- Act V: Pipeline in Action
- The objective of this tutorial is to focus onn acceptance scenarios & technical pipeline. Thus, we took some liberty with a "proper" object orientation of REST good practices.
- DevOps is way much more than acceptance testing and CI/CD. We only had today a quick overview focused on what is possible at the technical level. The other side of DevOps, more human-centered, cannot fit in a half-day workshop.