Course Unit Code | 460-2075/01 |
---|
Number of ECTS Credits Allocated | 3 ECTS credits |
---|
Type of Course Unit * | Optional |
---|
Level of Course Unit * | First Cycle |
---|
Year of Study * | Second Year |
---|
Semester when the Course Unit is delivered | Summer Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester |
---|
Name of Lecturer(s) | Personal ID | Name |
---|
| HRB33 | Ing. David Hrbáč |
Summary |
---|
|
Learning Outcomes of the Course Unit |
---|
The aim of this course is to acquaint students with the basic techniques and technologies used in the field of "Configuration Management". Students will gain knowledge of basic concepts and techniques used for source code management. Furthermore, students will get acquainted with techniques for build, build management, environment configuration, change management and documentation.
Within the course, they will practically encounter tools that are used for the mentioned areas of configuration management such as Git, Maven, Jenkins, Docker, Gitlab, Github or Vagrant.
After completing the course, students will be able to share code with other developers using the Git repository, create changes in independent branches, project changes to the main development branch and resolve simple conflicts. Students will be able to build software in a unified way using the Maven tool and ensure easy software deployment using the Jenkins tool. They will also be able to run the software in a unified environment through the Docker container. Students will also be able to use Github / Gitlat tools for project management needs. Skills will also include the ability to create project documentation using the Markdown markup language and then create its HTML representation. |
Course Contents |
---|
Contents of lectures:
• Basics of source code management and working with Git.
• Build engineering and use of the Maven tool.
• CI using Jenkins / Gitlab,
• Project management using Github / Gitlab.
• Markdown language Markdown and creation of HTML documentation.
• Manage your environment with Docker and Vagrant.
• DevOps principles.
Exercises are based on the main topics of the subject in the computer room: trying out the various principles and technologies. The goal is to acquire the following student skills: version the source code, compile, deploy, create a unified runtime environment, etc.
Exercise content:
The aim of the exercise is to demonstrate on practical examples the issues presented in lectures, the student will try the various principles and technologies, creating a Git repository and downloading it, creating a branch, projecting changes to the repository, publishing a repository, building, creating a runtime environment.
Exercise schedule:
• Introduction to source code versioning. Working with Git - Creating, downloading and publishing a Git repository. Writing changes to the repository - commit, switching between commits, push, pull, .gitignore. Upload your changes to a remote repository and update from the server.
• Independent branches - creation, switching, publishing, synchronization with a remote server. Merge, rebase, conflict resolution. File recovery from repository - checkout, reset.
• Build software, dependency management.
• Continuous Integration (CI) - Jenkins tool.
• Use of Gitlab / Github: work with repositories, SW project management, work with tickets,
• Work with integration requirements (Merge request / Pull request) and CI in Gitlab.
• Creating documentation using the Markdown language. Tools for creating HTML from Markdown documents. Pages using Gitlab / Github.
• Securing the runtime with Docker: Launching containers and managing them - list, stop, start, run.
• Mapping of external dependencies to the Docker container - directories, files, TCP / IP ports.
• Parameterization of virtualization using Vagrant and VirtualBox of the virtualization environment. |
Recommended or Required Reading |
---|
Required Reading: |
---|
• COMPANY, Sonatype, 2008. Maven: The Definitive Guide: The Definitive Guide. 1st Edition. Beijing: O’Reilly Media. ISBN 978-0-596-51733-5.
• CONE, Matt, 2020. The Markdown Guide. B.m.: Independently published. ISBN 9798656504492.
• EVERTSE, Joost, 2019. Mastering GitLab 12: Implement DevOps culture and repository management solutions. B.m.: Packt Publishing. ISBN 978-1-78953-128-2.
• CHACON, Scott a Ben STRAUB, 2014. Pro Git. 2nd Edition. B.m.: Apress.
• LESZKO, Rafał, 2019. Continuous Delivery with Docker and Jenkins: Create secure applications by building complete CI/CD pipelines, 2nd Edition. 2nd Edition. B.m.: Packt Publishing.
• TSITOARA, Mariot, 2019. Beginning Git and GitHub: A Comprehensive Guide to Version Control, Project Management, and Teamwork for the New Developer. 1st ed. Edition. B.m.: Apress. ISBN 978-1-4842-5312-0.
|
• COMPANY, Sonatype, 2008. Maven: The Definitive Guide: The Definitive Guide. 1st Edition. Beijing: O’Reilly Media. ISBN 978-0-596-51733-5.
• CONE, Matt, 2020. The Markdown Guide. B.m.: Independently published. ISBN 9798656504492.
• EVERTSE, Joost, 2019. Mastering GitLab 12: Implement DevOps culture and repository management solutions. B.m.: Packt Publishing. ISBN 978-1-78953-128-2.
• CHACON, Scott a Ben STRAUB, 2014. Pro Git. 2nd Edition. B.m.: Apress.
• LESZKO, Rafał, 2019. Continuous Delivery with Docker and Jenkins: Create secure applications by building complete CI/CD pipelines, 2nd Edition. 2nd Edition. B.m.: Packt Publishing.
• TSITOARA, Mariot, 2019. Beginning Git and GitHub: A Comprehensive Guide to Version Control, Project Management, and Teamwork for the New Developer. 1st ed. Edition. B.m.: Apress. ISBN 978-1-4842-5312-0.
|
Recommended Reading: |
---|
• AIELLO, Bob, 2010. Configuration Management Best Practices: Practical Methods that Work in the Real World: Practical Methods that Work in the Real World. 1st edition. Upper Saddle River, NJ: Addison-Wesley Professional. ISBN 978-0-321-68586-5.
• QUIGLEY, Jon M., 2019. Configuration Management, Second Edition. 2nd edition. Boca Raton: Routledge. ISBN 978-0-367-13725-0.
• WATTS, Frank B., 2011. Engineering Documentation Control Handbook: Configuration Management and Product Lifecycle Management. 4th edition. Oxford: William Andrew. ISBN 978-1-4557-7860-7.
|
• AIELLO, Bob, 2010. Configuration Management Best Practices: Practical Methods that Work in the Real World: Practical Methods that Work in the Real World. 1st edition. Upper Saddle River, NJ: Addison-Wesley Professional. ISBN 978-0-321-68586-5.
• QUIGLEY, Jon M., 2019. Configuration Management, Second Edition. 2nd edition. Boca Raton: Routledge. ISBN 978-0-367-13725-0.
• WATTS, Frank B., 2011. Engineering Documentation Control Handbook: Configuration Management and Product Lifecycle Management. 4th edition. Oxford: William Andrew. ISBN 978-1-4557-7860-7.
|
Planned learning activities and teaching methods |
---|
Lectures, Individual consultations, Tutorials, Project work, Other activities, Teaching by an expert (lecture or tutorial) |
Assesment methods and criteria |
---|
Task Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Graded credit | Graded credit | 100 (100) | 51 |
Domácí úlohy | Other task type | 16 | 0 |
1. test praktických znalostí | Written test | 40 | 0 |
2. test praktických znalostí | Written test | 44 | 0 |