Dev Ops

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

Jenkins >> Tools to configure pipeline. Integrate Maven with Jenkins.

Maven build the application by reading pom.xml and will produce artifactory which is .war file.

Maven >> Build our code same as MSBuild.

pom.xml >> POM is an acronym for Project Object Model.

The pom. xml file contains information of project and configuration information for the maven
to build the project such as dependencies, build directory, source directory, test source
directory, plugin, goals etc.

Maven reads the pom. xml file, then executes the goal.

pom.xml(Java) >> MsBuild + Nuget (.net core)

application.war >> artifacts details (Metadata file contains info about project files, java files, )

Tomcat server :- Install tomcat server on EC2 instance and deploy your code there. Integrate
tomcat with Jenkins.

Install plug in called “Deploy to Container” on Jenkins.

Create a single job in Jenkins which will build and deploy the code to the Tomcat server. (we
have to configure Gitlab .git branch to take code from OR pull the code from gitLab, Configure build options)
To automate the entire process when ever new check in happens. You can do
that using “Build Trigger” in Jenkins.

It will build the code when ever it get changed and it will deploy it automatically.

You can configure cron jobs using Poll SCM as per the screen.

I do not want the code to be deployed on Tomcat but want to deploy it on docker as under.
To do this,

>> Create EC2 insatnce, install docker, start docker services and then operate it.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Skills required for DevOps


DevOps stands between Development team and IT operations.

DevOps has to take care of Server management but not network management OR
not system management or maintanance.

Skillset required are :- CICD, Linux, shell script, phython, Networking, Ansible,
docker and kubernetes, puppet, Terraform, Git, Prometheus and Nagios.
1.Dev Concepts :- You should know, how to develop and design an application as a developer.

2.OS Systems & Linux Basics ( Prepare the infrastructure) :-

 Linux Basics :- Linux will be the OS for the server so, you need to understand Linux.
 Confortable using CLI:- You will be working on Server remotly using CLI so, you should be
confortable working with CLI ( Command line interface).
Ex. How to install some softwares through CLI. How to create files and folders. How to manage
the server using Bash command and file commands…etc.
 Shell commands :-You should know how to write script / command using Shell script.
 Linux file system:- How to manage Linux file system.
 Server Management :- How to manage and SSH the server Keys and pwd OR service account

3. Networking and firewall :- You should know how Firewall and Proxy servers works, How load
balancers works, how http/https request works and IP and DNS accessible from out side world.

4. Containers :- You should know docker and containers. So, how we can put the code in containers
where the CICD comes in a picture.
1. You can use automation tool like jenkins to automate the CI pipeline.
2. You can use Automation tool like Ansible to automate the CD pipeline.

5. Cloud provider :- You should learn any one cloud provider like AWS OR Azure.

6.Container Orchastration :- If you have many containers then you should learn Container Orchastration
tool like Kubernetes.

7. Monitoring :- Monitor the software and infrastructure using tools like Prometheus and Nagios..etc.

8. Infrastructure as a code :- You have many environments to be created to manage your projects. Ex.
Development, testing, production…etc. You can create and maintain them using Terraform and
configure it using tools like Ansible, Chef and puppet.

9.Scripting language :- There are some task like backup, cron jobs, system monitoring..etc you need to
be achieved using scripting language like Python, ruby, Go lang and Linux / Shell Script.
10. Version Control :- You have your application code and you have your infrastructure code OR scripts
for automation task so, in order to manage all these code base and different versions you need
repository like Git to manage it.

Hybrid cloud

Create Virtual private network.

Create a gateway >> while creating gateway map it with your VPN Or ExpressRoute.

Create a connection type of ExpressRoute


How to setup CICD for .Net core with Azure and Git

Steps are as under


 Create a Web App with Azure App Service
This is to publish your app on Azure. Once you deploy it you can access the deployed
code through Site URL as mentioned here.

 Setup GitHub as your Repository


In this step, you will set up GitHub as your repository.
 Configure CI pipeline
Create a build pipeline in Azure :- Use Azure DevOps to setup your build pipeline.
Select your source code repo and build

Created the build pipeline as under


Configure your build steps :-
Custom steps required to run your build OR build steps.

Ex. Run npm install , Use Nuget 4.4.1, Build the solution, Publish the artifact once it
ready with the build
Add build pipeline trigger

Enable continuous integration trigger

 Configure CD pipeline
Create a release pipeline in DevOps
Once the CI setup is done. Now, it’s time to setup the CD.
Setup your artifact

Add the artifact created by CI


Add release pipeline triggers

In this step you will enable the continuous deployment button

Configure your stages


Once we setup CICD then we have to configure different stages like Dev, QA, Production
it means code will come to Dev branch then will clone it to QA then once QA is approved
we clone it for Production How to setup that ?

Now, we have to map App service name with the production build OR release code
ready for production as under.
Setup deployment Conditions

We need some approval the code goes from one stage to another how to do that ?

You might also like