0% found this document useful (0 votes)
10 views16 pages

Report

The report discusses the challenges and solutions in implementing a DevOps pipeline, particularly focusing on consistent testing through containerization. It highlights the benefits of CI/CD in reducing manual intervention and speeding up deployments, while also noting potential drawbacks related to complex applications and container management. Recommendations for improvement include enhancing automated testing and integrating additional monitoring tools to improve error detection and application reliability.

Uploaded by

mdeveloper505
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views16 pages

Report

The report discusses the challenges and solutions in implementing a DevOps pipeline, particularly focusing on consistent testing through containerization. It highlights the benefits of CI/CD in reducing manual intervention and speeding up deployments, while also noting potential drawbacks related to complex applications and container management. Recommendations for improvement include enhancing automated testing and integrating additional monitoring tools to improve error detection and application reliability.

Uploaded by

mdeveloper505
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Reflective Analysis Report: DevOps

Pipeline

Description of Challenges and Solutions:

Challenge: Consistent Testing in Staging Environment

One of the challenges faced during the pipeline design was ensuring
consistent testing in the staging environment. This challenge was
addressed by implementing containerization.

- *Solution:* Implemented containerization for creating isolated


test environments mirroring production.

Docker Containers were used to create isolated test environments that


mirrored the production setup.

This approach ensured that testing could be carried out in an environment


closely resembling the production environment, enhancing the reliability
of the testing process.

Benefits and Drawbacks Discussion:

- *Benefits:* CI/CD significantly reduced manual intervention,


leading to faster deployments.

 Reduced Manual Intervention: The implementation of


Continuous Integration and Continuous Deployment (CI/CD) has
significantly reduced manual intervention in the deployment
process.
 Faster Deployments: CI/CD practices have led to faster
deployments, facilitating a quicker release cycle.

- *Drawbacks:* Challenges may arise with complex applications


and managing a large number of containers.
 Complex Applications: Challenges may arise with complex
applications, where managing a large number of containers
becomes intricate.

 Container Management: Managing and orchestrating containers


can pose difficulties, particularly as the application architecture
scales.

Application of DevOps Principles:

Automation: DevOps principles, particularly automation, were applied


consistently throughout the pipeline.

- DevOps principles, especially automation, were applied throughout the


pipeline to streamline processes and enhance collaboration between
teams.

Automated processes streamlined development, testing, and deployment,


promoting efficiency and collaboration between different teams involved
in the pipeline.

Suggestions for Improvement:

Enhancing Automated Testing: To further enhance the pipeline, it is


recommended to incorporate more comprehensive automated testing.
This includes exploring additional testing frameworks and scenarios to
improve the coverage of tests.
- To enhance the pipeline, consider integrating more comprehensive
automated testing and additional monitoring tools. This would improve
error detection and recovery.

Comprehensive testing contributes to better error detection and ensures


the reliability of the application.

Additional Monitoring Tools: Integration of additional monitoring tools


is advised to enhance error detection and recovery.

Monitoring tools provide insights into the performance and health of the
application, allowing for proactive identification and resolution of issues.
Guided Steps To Create CI/CD
Pipeline with AWS, Jenkins, Docker
with Github

1. Created EC2 Instance – Ubuntu Free Tier

2. Connected with EC2 Instance – using AWS Connect


3. Run below mentioned commands – One by one

Step-1 Install JAVA


>> sudo apt update

>>Java Version Installation on ubuntu machine

>> sudo apt install openjdk-11-jre


>> java --version -----------------(Java Installed now)

Step-2 Install JENKINS in the ubuntu machine – Below Commands


executed in order

>> sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \


https://pkg.jenkins.io/debian/jenkins.io-2023.key

>> echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \


https://pkg.jenkins.io/debian binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null

>> sudo apt-get update


>> sudo apt-get install jenkins

Keys used for signing up apt packges


pub rsa4096 2023-03-27 [SC] [expires: 2026-03-26]
63667EE74BBA1F0A08A698725BA31D57EF5975CA
uid Jenkins Project
sub rsa4096 2023-03-27 [E] [expires: 2026-03-26]
Following Commands executed in order:
>> sudo systemctl enable Jenkins
>> sudo systemctl start jenkins
>> sudo systemctl status jenkins

4. Now Using the Public Ip of EC2 we will launch Jenkins on Browser

It needs password which needs to be get from below command

>> sudo cat /var/lib/jenkins/secrets/initialAdminPassword

After putting password we will see the next screen of Jenkins …

5. Now we have successfully installed Jenkins on EC2 Linux Instance –


Getting Started with Jenkins
Now Create user - admin for Jenkins

6. Jenkins Dashboard below


Now create a first job – devops pipeline
7. Install the transport https certification common software packages

8. Install Docker into EC2 instance

>> Check Docker Service status after installation is completed:


9. Restarted Jenkins and Add Generate SSh keys for signing and
authentication

10.Now Added, Email Notification script and Selenium testing script – Build
Succeeded!
Jenkins Build Log Analysis:
 Pipeline Initialization:
 The pipeline is triggered by user Shreya Shetty.
 Jenkinsfile obtained from the GitHub repository
https://github.com/Shreyashettys97/jenkins-todo-cicd.git.

 Build Stage:
 Docker image "my-flask-app" is built using the provided
Dockerfile.
 Dependencies are installed, and the image is tagged and
named "shreya525/sample_web_app."
 Setup Stage:
 BrowserStack is configured for testing with Selenium.
 BrowserStack test report generation is initiated but
encounters an error due to build name issues.
 Test Stage:
 The application is tested using pytest, and the test session
reports one passed test.
 Deploy Stage:
 Docker login is performed with credentials.
 The Docker image is pushed to the specified repository.
 Post Actions:
 Email notification is sent to the specified recipient
(L00179089@atu.ie).
 Docker logout is executed to remove login credentials.

11. Need to test the Email Functionality - Check email inbox for build
status!

Conclusion:

The Jenkins build log indicates successful execution of the CI/CD pipeline.
Each stage, from initialization to deployment, is detailed.

The build successfully addresses challenges, such as consistent testing,


through containerization.

Automation is evident in Docker image creation, testing, and deployment


stages.

The log provides transparency into the entire process, facilitating


troubleshooting and future improvements.
Featured Screenshot:
References:
1. Amazon Web Services (AWS) Documentation:
o In-text citation: (AWS Documentation, 2023)
o Reference: Amazon Web Services. (2023). "AWS Elastic Compute
Cloud (EC2) - User Guide." [online] Available at:
[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/]
(Accessed: 9 November 2023).

2. Jenkins Official Documentation:


o In-text citation: (Jenkins Documentation, 2023)
o Reference: Jenkins. (2023). "Jenkins Continuous Integration and
Continuous Delivery (CI/CD) - User Handbook." [online] Available at:
[https://www.jenkins.io/doc/] (Accessed: 9 November 2023).

3. Docker Documentation:
o In-text citation: (Docker Documentation, 2023)
o Reference: Docker. (2023). "Docker Documentation: Get Started."
[online] Available at: [https://docs.docker.com/get-started/]
(Accessed: 9 November 2023).

4. GitHub:
o In-text citation: (GitHub, 2023)
o Reference: GitHub. (2023). "GitHub Guides: Understanding the
GitHub Flow." [online] Available at:
[https://guides.github.com/introduction/flow/] (Accessed: 9
November 2023).

5. Gmail Notification Setup Documentation:


o In-text citation: (Google Documentation, 2023)
o Reference: Google. (2023). "Google Workspace Admin Help: Set up
Gmail notifications." [online] Available at:
[https://support.google.com/a/answer/1072073?hl=en] (Accessed: 9
November 2023).

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy