DevOps session 13: Automate git SETUP using bash scripting.

Image
  Bash scripting: A Bash Shell Script is a plain text file containing a set of various commands that we usually type in the command line. It is used to automate repetitive tasks on Linux filesystem. It might include a set of commands, or a single command. For example ,to install GIT we need to update the packages, then install git and check if installation is done using Linux commands. We can write all the command in a .sh file and we can execute the file to do all the steps mentioned above. Lets start with example from hello-world. 1.Open terminal and check the root of the bash using below command. CMD: which bash you can see path like  /usr/bin/bash or /bin/bash . 2.Create a hello-world.sh file and paste the below lines. CMD: nano hello-world.sh You can see editor ,add below lines #!/bin/bash # declare MSG variable MSG="Hello World" # print variable on a screen echo $MSG To save the file use CTRL+X, then CTRL+Y and press ENTER 3. To execute the file we need to ad...

DevOps session 3: Roles and Responsibilities of DevOps Engineer.




 The term “DevOps” is another example: It merges the words “development” and “operations.”

In general, DevOps bridges the gap between development, quality assurance, and IT operations as shown below. DevOps is a set of practices that promote communication and collaboration among these various teams.

DevOps principles and practices

There are a few principles that can help as you implement DevOps in your organization:

  • Automate processes.
  • Continuously deliver high-quality systems.
  • React quickly to feedback to continuously improve processes.

DevOps engineer responsibilities

DevOps engineers are experienced IT professionals who collaborate with software developers, quality assurance professionals, and IT staff to manage code releases.

DevOps engineer’s responsibilities include:

  • Documentation: Writes specifications and documentation for the server-side features.

  • Systems analysis: Analyzes the technology currently being used and develops plans and processes for improvement and expansion. The DevOps engineer provides support for urgent analytic needs.

  • Development: Develops, codes, builds, installs, configures, and maintains IT solutions.

  • Project planning: Participates in project planning meetings to share their knowledge of system options, risk, impact, and costs vs. benefits. In addition, DevOps engineers communicate operational requirements and development forecasts.

  • Testing: Tests code, processes, and deployments to identify ways to streamline and minimize errors.

  • Deployment: Uses configuration management software to automatically deploy updates and fixes into the production environment.

  • Maintenance and troubleshooting: Performs routine application maintenance to ensure the production environment runs smoothly. Develops maintenance requirements and procedures.

  • Performance management: Recommends performance enhancements by performing gap analysis, identifying alternative solutions, and assisting with modifications.

  • Management: Depending on the size of the organization, the DevOps engineer may also be responsible for managing a team of DevOps engineers.

Skill set for DevOps engineer:

The role of a DevOps engineer is not defined by a set career path. But there are a few skills that are required if you want to make DevOps your career.

  • Communication: A DevOps engineer needs to work with a lot of different people across different teams. Verbal and written communication among the teams is very important. If you do not enjoy working with a lot of different people or if you don’t communicate very well, this may not be the job for you.

  • Problem-solving and troubleshooting: DevOps engineers must be able to quickly identify problems or bottlenecks in everyday processes and procedures. They suggest improvements and implement fixes as needed to ensure processes meet expectations. 

  • Software development: DevOps engineers need to have experience developing software applications and a good knowledge of scripting languages such as Java, JavaScript, Perl, Ruby, Python, PHP, Groovy, Bash, and so on.

  • Process-oriented: DevOps engineers must have the ability to focus on processes and procedures rather than results and underlying causes. They try to understand a design problem before trying to fix it. They also don’t try to force solutions that worked on old problems onto new problems.

  • Documentation: Processes must be clearly documented so that knowledge is passed on.

  • Agile experience: An understanding of, or experience in, an Agile software development environment.

  • Product/project management: Experience with leading a development project and managing schedules.

  • IT best practices: Good understanding of, IT best practices in an always-up, always-available service.

  • Deployment/configuration management: DevOps engineers should have experience with managing deployments and integrations using configuration management tools such as Git, Jira, GitLab, or Jenkins.

  • Operating system platforms: experience with Windows and Linux operating system environments.

Role of a DevOps team:

DevOps teams work in collaboration with other teams to scale cloud programs, plan and create workflow processes, develop automation procedures, deploy updates, and so on.  

Future of a DevOps:

Companies will continue to embrace DevOps in an effort to bring developers and IT closer together. This, in turn, will open up new roles such as DevSecOps. The DevSecOps role adds security into the mix of DevOps. The goal is to ensure that systems are secure in every stage of the delivery cycle.

Comments

Popular posts from this blog

DevOps session 10: Git basic commands for daily use

DevOps session 7: Source Code Management/ Version control systems (GIT) || Setup Git on ubuntu

DevOps session 11: Git branching & best practices