Tato diplomová práce se zaměřuje na téma kontinuální integrace a kontinuálního nasazení v prostředí GitLab CI/CD pro automatizaci testování, nasazení a dalších procesů při vývoji JavaScript aplikací. Cílem bylo provést analýzu a výběr vhodných nástrojů pro využití v kontinuální integraci a to nejen pro automatické sestavení a testování aplikace. S využitím vybraných nástrojů byly implementovány a konfigurovány automatické procesy pro použití v GitLab CI/CD a také byla navržena a implementována ukázková JavaScript aplikace, na které bylo ověřeno využití vybraných nástrojů s cílem zefektivnit proces vývoje softwaru.
Anotace v angličtině
This thesis focuses on the topic of continuous integration and continuous deployment in the GitLab CI/CD tool for automating testing, deployment, and other processes in the development of JavaScript applications. The goal was to analyze and select suitable tools for use in continuous integration, not only for automatic application building and testing. Using the selected tools, automatic processes were implemented and configured for use in GitLab CI/CD. In addition, a sample JavaScript application was designed and implemented, on which the use of selected tools was verified to streamline the software development process.
Klíčová slova
kontinuální integrace, GitLab CI/CD
Klíčová slova v angličtině
continuous integration, GitLab CI/CD
Rozsah průvodní práce
100 s
Jazyk
CZ
Anotace
Tato diplomová práce se zaměřuje na téma kontinuální integrace a kontinuálního nasazení v prostředí GitLab CI/CD pro automatizaci testování, nasazení a dalších procesů při vývoji JavaScript aplikací. Cílem bylo provést analýzu a výběr vhodných nástrojů pro využití v kontinuální integraci a to nejen pro automatické sestavení a testování aplikace. S využitím vybraných nástrojů byly implementovány a konfigurovány automatické procesy pro použití v GitLab CI/CD a také byla navržena a implementována ukázková JavaScript aplikace, na které bylo ověřeno využití vybraných nástrojů s cílem zefektivnit proces vývoje softwaru.
Anotace v angličtině
This thesis focuses on the topic of continuous integration and continuous deployment in the GitLab CI/CD tool for automating testing, deployment, and other processes in the development of JavaScript applications. The goal was to analyze and select suitable tools for use in continuous integration, not only for automatic application building and testing. Using the selected tools, automatic processes were implemented and configured for use in GitLab CI/CD. In addition, a sample JavaScript application was designed and implemented, on which the use of selected tools was verified to streamline the software development process.
Klíčová slova
kontinuální integrace, GitLab CI/CD
Klíčová slova v angličtině
continuous integration, GitLab CI/CD
Zásady pro vypracování
Seznamte se s pojmem Continuous Integration (CI) v prostředí GitLab.
Proveďte analýzu nástrojů CI pro JavaScript stack tak, aby bylo možno pro každý merge request ověřit, že:
proběhl úspěšný build pomocí nástroje Webpack,
nejsou detekovány žádné chyby a varování nástrojem ESLint nebo jiným (existuje-li lepší),
všechny jednotkové a integrační testy proběhly úspěšně pomocí frameworku Mocha nebo jiným (vyhovuje-li více).
Prozkoumejte existenci dalších potenciálně užitečných nástrojů pro CI pipeline. Porovnejte a zhodnoťte klady a zápory jednotlivých řešení.
Navrhněte demonstrační aplikaci pro evidenci pracovní doby zaměstnanců na projektech.
Implementujte navrženou aplikaci s využitím vybraných nástrojů CI.
Zhodnoťte navržené řešení a uveďte jeho klady, zápory a možnosti rozšíření.
Zásady pro vypracování
Seznamte se s pojmem Continuous Integration (CI) v prostředí GitLab.
Proveďte analýzu nástrojů CI pro JavaScript stack tak, aby bylo možno pro každý merge request ověřit, že:
proběhl úspěšný build pomocí nástroje Webpack,
nejsou detekovány žádné chyby a varování nástrojem ESLint nebo jiným (existuje-li lepší),
všechny jednotkové a integrační testy proběhly úspěšně pomocí frameworku Mocha nebo jiným (vyhovuje-li více).
Prozkoumejte existenci dalších potenciálně užitečných nástrojů pro CI pipeline. Porovnejte a zhodnoťte klady a zápory jednotlivých řešení.
Navrhněte demonstrační aplikaci pro evidenci pracovní doby zaměstnanců na projektech.
Implementujte navrženou aplikaci s využitím vybraných nástrojů CI.
Zhodnoťte navržené řešení a uveďte jeho klady, zápory a možnosti rozšíření.