Académique Documents
Professionnel Documents
Culture Documents
Semester :3
Quarter :2
Class : 3SC1
2018
PREFACE
First of all, the writer wants to express his thanks to Allah SWT, because
of his bless and grace, this module titled “Implementing DevOps Technique Using
Git and Jenkins” can be finished on time.
The writer also delivers her gratitude to Mr. Dudy Fathan Ali, the lecturer
of CCIT Faculty of Engineering, University of Indonesia, for his guidance to
complete it. This module provides the reader about implementing devops
technique using git and jenkins. The writer realize that this module is far from
perfect in the arrangement or in the content. The writer hopes that the suggestion
from the reader can be support to make it better in the next project.
Finally, the writer expects that it can be a medium for the reader to know
about devops technique using git and jenkins.
2
TABLE OF CONTENTS
PREFACE .............................................................................................................. 2
I.1 BACKGROUND ................................................................................................. 7
I.2 WRITING OBJECTIVE ....................................................................................... 7
I.3 PROBLEM DOMAIN .......................................................................................... 7
I.4 WRITING METHODOLOGY ............................................................................... 8
I.5 WRITING FRAMEWORK.................................................................................... 8
3
4
TABLE OF FIGURES
Figure 3.1
Figure 3.2
Figure 3.3
Figure 3.4
Figure 3.5
Figure 3.6
Figure 3.7
Figure 3.8
Figure 3.9
Figure 3.10
Figure 3.11
Figure 3.12
5
6
I. INTRODUCTION
I.1 Background
In this era, many hospital often get problems on their management system. So every
hospital need good management system. EZ Hospital Management comes to finish
these problems. EZ Hospital Management is an application to manage hospital
specially for Room Management.
1. What’s DevOps
2. What’s the workflow DevOps
3. What’s the tool used in DevOps
4. What’s Continuous integration
5. What’s Continuous deployment
6. What’s Continuous delivery
7. What’s Continuous monitoring
7
8. How to implement DevOps
CHAPTER I INTRODUCTION
8
II. BASIC THEORY
1. Iterative Planning
This means a schedule-planning and task-tracking tool is needed in
order to ensure the team knows what tasks are at hand, what is currently
9
being done and if there are any risks of falling behind the schedule.
(Introduction to DevOps, 2018)
2. Building code
Beyond simply crafting source code, the coding phase should utilize
agile practices and include the creation of test scripts and any additional
code that might be needed for the infrastructure. (Introduction to
DevOps, 2018)
10
6. Customer feedback
In a DevOps culture, everyone on the product team has access to user
comments because they help guide everything from release planning to
exploratory testing sessions. (Introduction to DevOps, 2018)
1) Git
Git allows user to track the progress of any user development work.
User can save different versions of your source code and return to a previous
version when necessary. It’s also great for experimenting, as User can create
separate branches and merge new features only when they’re ready to go.
To integrate Git with your DevOps workflow, User also need to host
repositories where user team members can push their work. Currently, the
two best online Git repo hosting services are GitHub and Bitbucket. GitHub
is more well-known, but Bitbucket comes with free unlimited private repos
for small teams (up to five team members). With GitHub, user get access
only to public repos for free — which is still a great solution for many
projects. (Anna, 2018)
2) Jenkins
Jenkins is the go-to DevOps automation tool for many software
development teams. It’s an open source CI/CD server that allows user to
automate the different stages of any user delivery pipeline. The main reason
for Jenkins’ popularity is its huge plugin ecosystem. Currently, it offers
more than 1,000 plugins, so it integrates with almost all DevOps tools, from
Docker to Puppet.
11
It’s easy to get started with Jenkins, as it runs out-of-the-box on
Windows, Mac OS X, and Linux. User can also easily install it with Docker.
User can set up and configure your Jenkins server through a web interface.
If user are a first-time, user can choose to install it with some frequently
used plugins. However, user can create your custom config as well.
With Jenkins, user can iterate and deploy new code as quickly as
possible. It also allows user to measure the success of each step of your
pipeline. I’ve heard people complaining about Jenkins’ “ugly” and non-
intuitive UI. However, Any User could still find everything Any User
wanted without any problem. (Anna, 2018)
3) Puppet
Puppet is a cross-platform configuration management platform. It allows
user to manage your infrastructure as code. As it automates infrastructure
management, user can deliver software faster and more securely. Puppet
also provides developers with an open-source tool for smaller projects.
However, if you are dealing with a larger infrastructure, user may find value
in Puppet Enterprise’s extra features, such as:
Real-time reports
Role-based access control
Node management
4) CVS
12
Concurrent Versioning System (CVS) was developed in 1986 by Dick
Grune.CVS has been popular withboth commercial and opensource
developers. CVS letting handles the changes by letting another user work
on the latest file. The CVS server runs on UNIX like system.
(Introduction to DevOps, 2018)
5) SVN
SVN is the successor of CVS as many of the bugs in CVS have been fixed
in the SVN system of version control. SVN includes atomic operations,
which mean that all the change made to the source control are applied or
none of the changes are applied (Introduction to DevOps, 2018)
6) Docker
7) Graphite
13
Graphite is an enterprise-ready monitoring tool. Teams use
Graphite to track the performance of their websites, applications, business
services, and networked servers.
8) Logstash
14
Continuous Integration brings multiple benefits to your
organization:
The devops team needs to come up with a common tool and strategy
that lets it collaborate across development, testing, and deployment. A
common devops tools strategy must adhere to a common set of objectives
while providing seamless collaboration and integration between tools. Some
of the popular deployment tools are Chef, Electric Cloud, Puppet, and
Docker.
15
Each feature, after it is developed, offers an earlier return on the
investment that has been made, which lessen the need for large
capital investments.
User can use and evaluate each new feature, which allows split
testing on different releases to establish which of the several possible
implementations is preferred by clients
It provides an extremely fast feedback loop from application usage
to product management
Feedback frothe continuous deployment loop will usually be
delivered to the whole devops team
Decision to release a particular version of the application should be
done just by pushing a button, with the surety that the release being
deployed has gone through the entire pipeline successfully
The risks associated with a release have significantly decreased, and
the release process has become more reliable. With continuous
deployment, the deployment process and scripts are tested
repeatedly before deployment to production. So, most errors in the
deployment process and scripts have already been discovered.
(Though Work, n.d.)
16
When you release smaller changes more frequently, you catch errors
much earlier in the development process. When you implement
automated testing at every stage of development, you don’t pass failed
code to the next stage. And it’s easier to roll back smaller changes
when you need to.
Release new features to market more frequently — and learn.
Releasing new features early and often — even in a minimally viable
state —
means you get more frequent feedback, giving you the ability to
iterate and learn from your customers. Enlisting customers as
development partners gives them a sense of co-ownership and loyalty,
and makes them more likely to forgive when you stumble.
Respond to marketing conditions more quickly.
Market conditions change constantly. Whether you’ve just discovered
a new product is losing money, or that more customers are visiting
your site from smartphones than laptops, it’s much easier to make a
fast change if you are already practicing continuous delivery. (Though
Work, n.d.)
17
and automation of the monitoring process can offer substantial benefits.
These include:
Providing crucial information that will help the user to nsure service
uptime and optimal performance.
Earlier identification and timely corrective action of breakdowns in
processes and internal control deficiencies.
Log management maintains the record of whatever happens in the
system while the application is running.
Provide real-time data that can be analyzed. (Though Work, n.d.)
18
III. PROBLEM ANALYSIS
19
3) Move to the directory that have been cloned
4) Input this in the URL attribute, input GIT directory that have been cloned
20
5) Click new items on Jenkins, choose freestyle project
6) In source code choose Git, input Repository URL with directory that have
been cloned
21
8) In Build Trigger choose Poll SCM
22
Figure 3.11 EZHM
23
IV. CONCLUSION AND SUGGESTION
IV.1 Conclusion
DevOps is a movement that bridges the gap between the
development and the operations teams so that both of them can work
together. There is so many tools that support DevOps such as GIT that can
be used as repository and can collaborated with other people even though
the person is far away and Jenkins that can be used to build the project. With
the help of the DevOps tool, the DevOps team can know what’s updated or
what’s change in the code. So, the process of developing the application
become faster and save some times.
IV.2 Suggestion
Creator strongly recommended developer to use DevOps tools like
GIT and Jenkins because there has many benefits, many feature and free to
use that. The process of developing the application become more faster and
save sometimes.
24