Continuous integration and delivery in small business
Isoaho, Joona (2021)
Isoaho, Joona
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202104124605
https://urn.fi/URN:NBN:fi:amk-202104124605
Tiivistelmä
Tämä opinnäytetyö sisältää tutkimuksen siitä, kuinka integraatio ja käyttöönotto tapahtuu toimeksiantoyrityksessä, jotta prosessi voidaan automatisoida kokonaan tai osittain. Opinnäytetyön suunnittelu aloitettiin tekijän työharjoittelun aikana, jolloin tutustuttiin prosessiin ohjelmistokehittäjänä. Harjoittelun lisäksi tekijällä on vahva harrastuspohja työssä käytettyihin teknologioihin. Opinnäytetyön tarkoituksena on automatisoida integraatio ja käyttöönotto prosessit ja esitellä se tämän työn lukijalle.
Opinnäytetyön aikana vain muutama palvelin ja Odoo instanssi lisättiin automaatioprosessiin. Koko infrastruktuurin siirtäminen kerralla olisi liian suuri muutos ja aiheuttaisi varmasti ongelmia mahdollisesti monilla palvelimilla ja instansseilla. Kokeilimme automatisaatiota muutaman kehittäjän kanssa ja tulokset vaikuttavat lupaavilta. 8-12 askeleen sijaan askelten määrä laski muutosten työntämiseen versionhallintajärjestelmään
ja niiden yhdistämiseen tiettyyn haaraan eli kahteen askelmaan. Sen jälkeen koodi on kaikilla automaatioon lisätyillä palvelimilla ja instansseilla. Prosessi kestää useita minuutteja kaikkien tarkistusten kanssa eikä sovellu nopeaan kehittysprosessiin. Se on soveliaampi käyttöönottoprosessiin. Prosessin nopeus nousee dramaattisesti, kun tarkistukset, joita Ansible tekee, otetaan pois käytöstä ja tämän jälkeen prosessi soveltuu nopeisiin kehityssykleihin. This thesis consists of investigation of how the integration and deployment process takes place at the client company in order to automate all, or most of it. The planning of the thesis project was started during the internship at the client company. Work was carried out during the internship that included getting familiar with the process as a software developer. In addition to internship the writer also has strong hobbyist background with the technologies used in the project. The purpose of thesis is to automate the integration and deployment process and explain it to the reader in the thesis.
During the thesis process only a couple of servers and Odoo instances were added to the automation process. Switching the whole infrastructure all at once would be too big shock and would surely end up causing problems possibly on multiple servers and instances. With couple of developers who were able to test the system results look promising. Instead of 8-12 steps the number of steps dropped to pushing changes to the version control system and making merge to certain branch meaning two steps. After that
the code was on all the servers and instances added to the automation. The process takes several minutes with all the checks and is unsuitable for fast development process. It is more suitable for deployment process. The process speed increases dramatically when the checks that ansible does are removed and is the process suitable for the fast development cycles.
Opinnäytetyön aikana vain muutama palvelin ja Odoo instanssi lisättiin automaatioprosessiin. Koko infrastruktuurin siirtäminen kerralla olisi liian suuri muutos ja aiheuttaisi varmasti ongelmia mahdollisesti monilla palvelimilla ja instansseilla. Kokeilimme automatisaatiota muutaman kehittäjän kanssa ja tulokset vaikuttavat lupaavilta. 8-12 askeleen sijaan askelten määrä laski muutosten työntämiseen versionhallintajärjestelmään
ja niiden yhdistämiseen tiettyyn haaraan eli kahteen askelmaan. Sen jälkeen koodi on kaikilla automaatioon lisätyillä palvelimilla ja instansseilla. Prosessi kestää useita minuutteja kaikkien tarkistusten kanssa eikä sovellu nopeaan kehittysprosessiin. Se on soveliaampi käyttöönottoprosessiin. Prosessin nopeus nousee dramaattisesti, kun tarkistukset, joita Ansible tekee, otetaan pois käytöstä ja tämän jälkeen prosessi soveltuu nopeisiin kehityssykleihin.
During the thesis process only a couple of servers and Odoo instances were added to the automation process. Switching the whole infrastructure all at once would be too big shock and would surely end up causing problems possibly on multiple servers and instances. With couple of developers who were able to test the system results look promising. Instead of 8-12 steps the number of steps dropped to pushing changes to the version control system and making merge to certain branch meaning two steps. After that
the code was on all the servers and instances added to the automation. The process takes several minutes with all the checks and is unsuitable for fast development process. It is more suitable for deployment process. The process speed increases dramatically when the checks that ansible does are removed and is the process suitable for the fast development cycles.