CI/CD Pipelines

Ace your homework & exams now with Quizwiz!

Agile practices with Devops

Continuous Integration Continuous Delivery Continuous Deployment

DELETE

Used to delete a resource. Idempotent Not safe Not cacheable Not form allowed May have request body May have response body

Has request body means

the request can contain content in the request body

When is CD achieved

when every change is proven, by automated process, to be deployable at any time.

Continuous Integration establishes the foundation for an automated DevOps pipeline, because

-Ensures the entire team works on the most up to date code --Frequently pushing code allows developers to account for changes performed by other team members quickly. -Detects broken builds quickly --If problems arise, version control software can help detect the root cause or rollback changes when necessary. -Code can be tested easily by creating separate, test or development branches based on the mainline code. -Reduces risk in development when a large codebase has already been established. -Reduces the overall amount of bugs in a project

POST

-Sends data to he server. Commonly used for creation of and updating resources. Response body generally contains the updated resource representation. Not idempotent Not safe Typically not cacheable Form allowed Has request body Has response body

PUT

-Sends data to server. Commonly used to replace current resource representation with the content contained in this request. Idempotent Not safe Not cacheable Not form allowed Has request body No response body

Get http request

-used to retrieve data Idempotent Safe Cacheable Form allowed No request body Has response body

The steps or phases for Dev Ops

1. Source code Control: Producing (writing) code and pushing to a repository 2. Building and Testing Automation: Test basic functionality of code (Generally unit testing) and create a new, working build 3. Deploying to Staging: Deployment of working build to a temporary environment 4. Acceptance Testing: Undergo other more complex tests (systems, integration) within temporary environment 5. Deployment of Build: Migrate working build to Production environment accessible by end users

Aggregate Functions

Aggregate functions perform operations on a set of data and produce a single output for the whole set. COUNT() SUM() AVG() MIN() MAX() FIRST() LAST()

Pros and cons of continuous Deployment

Benefits of CD: Rapid development process Rapid feedback Smaller and less risky releases Regular updates offering users improvements Costs: Requires substantial initial investmentMoneyTimeMajor paradigm shift Requires continuous investment for maintaining pipeline Documentation, communication, coordination become even more important

Continuous Delivery depends on

CI and is a stepping stone on the way to CD (a fully automated development pipeline).

Advantages of jenkins

Completely Open Source Free Supports all Operating systems Supports all source code repositories

Devops vs agile

Devops: -involves the creation of a systematic approach to producing code -pertains to the entire system working together to produce, test, deploy and maintain the code base Agile: -place a focus on producing code through iteration and collabortion rather than following a rigid plan -mentality that focuses on creating products by adapting to change quickly, seem contradictory -allow for each step of that process to change wherever and whenever needed.

How does CI work?

Each time a developer completes some amout of work and merges that work with the repository, each unit of that new code is tested, and then that new code is integrated and tested with the rest of the code -If testing methodology is done well, this should provide rapid feedback about bugs and failures as each module develops

disadvantage of jenkins

Requires custom jenkinsfile syntax for pipeline configuration

Scalar functions

Scalar functions perform operations on a set of data and produce one output for each input. LCASE() UCASE() LEN() ROUND() NOW()

Devops

a combination of Development and Operations, is a set of practices and methodologies designed to combine the development (production/writing of code), deployment and maintenance of code into a streamlined process.

Continuous Delivery

a paradigm in which the building, management and testing of produced software is automated such that deployments can be performed at the push of a button. -seeks to automate every possible step up to but not including deployment

Agile

a philosophy utilized when approaching the creation of information systems, and is a flexible approach of addressing the steps of the Software Development Life Cycle

Jenkins

a self-contained, open source automation server, which can be used to automate the building, testing and deployment of software. Jenkins can be installed standalone, through native system packages, or using Docker.

Has response body means

a successful response should contain content in the response body

Jenkins Pipeline

a suite of plugins which support the implementation of a Continuous Delivery Pipeline in Jenkins

Continuous Deployment

advances continuous delivery by also automating the deployment of software to production environments -refers to the entire automated development pipeline including merging of code, testing, staging, and finally deployment.

Practicing infrastructure as code means

applying the same rigor of application code development to infrastructure provisioning.

The primary goal of DevOps is to

expedite the lifecycle of application development, particularly through the automation of tasks.

The goal of Devops and Agile is to

produce working and valuable product more efficiently

Development teams who practice an Agile methodology place a focus on

producing code through iteration and collabortion rather than following a rigid plan

Continuous Integration (CI)

the most fundemental step in creating an autonomous development pipeline -achieved by the practice of consistently merging code into a central repository. -benefits greatly from the inclusion of rigorous testing as part of your CI process. Particularly important are unit and integration testing.

Unit testing

the process of testing individual software units, like methods or functions. -The idea is to test each component in isolation to make sure it behaves as expected.

Integration Testing

the process of testing modules of software, composed of many units. -Modules are combined and tested to make sure they behave as expected.

A fundamental principle of DevOps is to

treat infrastructure the same way developers treat code.


Related study sets

PEDS - Test 3 (Next Generation Questions)

View Set

Legal & Social Environment of Business Exam 3

View Set

Enterprise Resource Planning (ERP)

View Set