Continuous deployment of computer systems (IST)
Department: radioelectronic and computer systems
|Semester||Amount of hours||Lecturer||Group(s)|
|4||32||Associate Professor Fliunt O. Y.||ФеС-21|
|Semester||Amount of hours||Group||Teacher(s)|
|4||32||ФеС-21||Associate Professor Fliunt O. Y., Associate Professor Fliunt O. Y.|
Опис навчальної дисципліни
The course “Continuous Deployment of Computer Systems” is an elective discipline of the cycle of professional and practical training for undergraduate students majoring in 126 – Information Systems and Technologies.
The purpose of teaching the discipline “Continuous Deployment of Computer Systems” is to acquaint students with modern practices of version control and cycles of software development and implementation, methods of quality control of software applications, continuous supply and deployment of software applications for mastering modern approaches and tools for continuous development and continuous development.
To achieve the goal of the course, students need to get acquainted with the Git version control system, Selenium automated quality control system, Docker virtualization and containerization system, Kubernetes continuous deployment system, Jenkins process control system and others. After completing this program, students should be able to implement a simple software deployment cycle from development and testing to automated deployment.
The task of the process of studying the discipline is for students to acquire knowledge of the basic practices of the processes of development, testing, integration and deployment, the formation of initial skills and abilities:
creating images of software applications with the organization of version control and placement in repositories;
virtualize software processes using Docker containers;
run and configure computing clusters and manage their operation;
analysis of software testing results.
The course should provide the student with the basics of proactive practices and tools of the software cycle. An indicator of the student’s mastery of the course material is the ability to carry out the full cycle of development of a simple software application from development to deployment.
As a result of studying this course, students must:
know the basic concepts, definitions, processes and approaches to software testing, modern systems and approaches to software version control, methods and practices of automating software processes, basics of virtualization using containers, basics of computing clusters.
be able to work with software version control systems, test software of different types and levels, automate the launch of various programs and write your own scripts, create images of your own software applications and download them to the repository, virtualize processes using containers, create and configure clusters, manage their work.
Interdisciplinary links. To study the discipline requires knowledge of the following courses: “Operating Systems”, “Fundamentals of Programming”, “Databases and knowledge of disciplines,” “Fundamentals of Web Programming”, sufficient for the perception of the categorical apparatus of virtualization processes, organization of version control, basics of operating systems , in particular Linux, the use of bash shell commands.
McQuaid M., Chacon S. Git in practice. – Manning, 2015. https://www.manning.com/books/git-in-practicea_bid=5688bbf4&a_aid=
Farhan Hasin Chowdhury The Docker Handbook https://www.freecodecamp.org/news/the-docker-handbook/
Kubernetes Handbook https://tanzu.vmware.com/kubernetes-handbook
Kubernetes Documentation https://kubernetes.io/docs/home/
Chacon S., Straub B. Pro git. – Springer Nature, 2014. – P. 456.
Kubernetes Handbook Non-Programmer’s Guide to Deploy Applications with Kubernetes Stephen Fleming
Docker Engine overview https://docs.docker.com/engine/
Jenkins User Handbook firstname.lastname@example.org
Електронний навчальний курс знаходиться в системі Moodle за посиланням: