Developer Theory Flashcards
Developer Theory
T or F
What is CI/CD?
- CI and CD are best practices for software development and deploy
- They enable frequent sw changes to be applied whilst maintaining system and service stability
- companies like AWS, Netflix, Google, and Facebook have pioneered this approach to releasing code, successfully applying thousands of changes per day/.
T, T, T
Continuous integration workflow
T or F
- multiple developers working on diff features or bug fixes
- all contributing to same app
- sharing same code repo
- frequently pushing their updates into the shared repo - at least daily
- code repo integrated with build management systems
- code changes trigger with automated build
- we need a way to ensure that any code change does nto break the build, or introduce new bugs in the app.
- the test system runs automated tests on teh newly built app
- identifies any bugs, preventing issues from being introduced in teh master code
- CI forcuses on small code changes, which frequently commited into the main repo once they have been successfully tested.
- CD can mean either Continusous delivery or continuous deployment
- Cd is a dev practice when merges changes are auto built, tested, and prepared for release into a staging and eventually prod env.
- there is usually a manual decision process to initial deployment of the new code.
All true
CD takes the idea of automation on step further and automatically deploys the new code following successful testing, eliminating any manual steps.
- the new code is automatically release as soon as it passes through the stages of your release process. (build, test, package)
- small changes are release easrly and frequently
- both practices require the build, test, and deploy proce4ss to be fully automated but CD also automates the release process as well.
All tue
______ is an open source tech which allows you to create apps based on either Linux or Windows containers.
Docker
A _____ is a lightweight standalone executable software apckage which includes everything the software needs to run code, runtime env., libraries, env settings.
containers
______ is a full managed build service which runs a ser of commands that you define (ie: compiles code, run tests, and produces artifacts that you aready to deploy)
CodeBuild
What do these commands do?
docker build -t myimagerepo
docker tag myimagerepo:latest
They are docker commands to build, tag (apply an alias) and push your docker image to the ECR repo
use _____ to define the build commands and settings used by CodeBUild to run your build
buildspec.yml
You can override the settings in _____ by adding your own commands i the console when you launch the build.
buildspec.yml
if your build fails, check the build logs in the _____ console and you can slo view the full ____ log in cloudwatch
codebuild