Versiohallinnan integroiminen Jira-järjestelmään
Jämsä, Kalle (2022)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202202082211
https://urn.fi/URN:NBN:fi:amk-202202082211
Tiivistelmä
Opinnäytetyö toteutettiin toimeksiantona Detection Technology Oyj:lle (DT). Aiheena on parantaa ohjelmistotuotannon versiohallintaa integroimalla versiohallintatyökalu Jira-järjestelmään. Työskentelin kesän 2021 Detection Technology Oyj:llä Confluence Jira -pilottiprojektissa yhtenä järjestelmän ylläpitäjänä. Työsuhteen aikana huomattiin mahdollisuus versiohallinnan integroimisesta Jira-järjestelmään. Yrityksessä oli aikaisemmin jo havaittu tarve parantaa versio- ja lähdekoodihallintaa. Opinnäytetyössä käsiteltiin nykytila, mahdolliset työkalut, ominaisuudet sekä raportin tulokset.
Tavoitteina oli saada parempi kuva yrityksen versiohallinnasta, yhdenmukaistaa sitä ja ehdottaa ratkaisua integroitavaksi Jira-järjestelmään. Tutkimustyö tehtiin pääasiassa teemahaastatteluilla ja tutkimalla verkkolähteitä, joista osa on opinnäytetöitä. Pääaihe keskittyi tutkimaan eri työkalujen mahdollisuuksia ja testaamaan integraatiota.
Nykytila-analyysistä saa kattavan kuvan yrityksen tämänhetkisestä tilanteesta ja kehitystarpeista tulevaisuudelle. Se antoi hyvät lähtökohdat lähteä tutkimaan kahta työkalua integroitavaksi Jira-järjestelmään. Toimeksiantajan vaatimuksia ei päästy konkretisoimaan analyysivaiheessa. Työkaluista oli tarjolla monia englanninkielisiä verkkolähteitä, joten tietoa oli runsaasti saatavilla. Lopussa pääsimme integroimaan ja testaamaan molemmat työkalut.
Alustavasti valitussa ratkaisussa integroitiin GitLab-versionhallintatyökalu Jira-järjestelmään käyttäen API-rajapintaa sekä DVCS-liitintä. Yhdistämisen johdosta Jira-tehtäväkortilla pääsi näkemään versiohallintatietoja, kuten tallennukset, haarat ja yhdistämisen tilan. Kortilta pääsi navigoimaan linkin kautta kyseiseen tapahtumaan GitLab-järjestelmässä.
Kehitystyötä voisi jatkaa ottamalla käyttöön jatkuvan integraation ohjelmiston, kuten Jenkins, joka integroitaisiin Jira-järjestelmään. Lisäksi uskon, että ketterän kehityksen koulutuksista olisi tulevaisuudessa hyötyä Detection Technology Oyj:lle. This final thesis was created for Detection Technology Oyj (DT). Main topic was to get better understanding of company’s version control and improve it by integrating tool to Jira system. I was working for Detection Technology in 2021 summer as Confluence Jira admin. During my employment, we got the idea for my thesis work. Thesis goes through current state, tool options and final decision proposal.
Target was to get a better understanding of the whole Detection Technology’s version control, streamline it and propose a tool to be integrated into Jira system. Themed interviews were used to get the best understanding of the current state. Internet sources and testing were the biggest part of investigating tool options.
GitLab version control tool was selected and integrated during thesis for software and firmware development. Thesis reports detailed picture of DT’s way of working and used tools. New positions were opened for the future evolution. DT got information of available tools and ideas to improve the version control process. Future improvements could contain CI (Continuous Integration) tool integration like Jenkins to be integrated into Jira system. Agile method trainings could be a powerful addition to existing training programs. Agile method training could contain parts of Scrum project management.
Tavoitteina oli saada parempi kuva yrityksen versiohallinnasta, yhdenmukaistaa sitä ja ehdottaa ratkaisua integroitavaksi Jira-järjestelmään. Tutkimustyö tehtiin pääasiassa teemahaastatteluilla ja tutkimalla verkkolähteitä, joista osa on opinnäytetöitä. Pääaihe keskittyi tutkimaan eri työkalujen mahdollisuuksia ja testaamaan integraatiota.
Nykytila-analyysistä saa kattavan kuvan yrityksen tämänhetkisestä tilanteesta ja kehitystarpeista tulevaisuudelle. Se antoi hyvät lähtökohdat lähteä tutkimaan kahta työkalua integroitavaksi Jira-järjestelmään. Toimeksiantajan vaatimuksia ei päästy konkretisoimaan analyysivaiheessa. Työkaluista oli tarjolla monia englanninkielisiä verkkolähteitä, joten tietoa oli runsaasti saatavilla. Lopussa pääsimme integroimaan ja testaamaan molemmat työkalut.
Alustavasti valitussa ratkaisussa integroitiin GitLab-versionhallintatyökalu Jira-järjestelmään käyttäen API-rajapintaa sekä DVCS-liitintä. Yhdistämisen johdosta Jira-tehtäväkortilla pääsi näkemään versiohallintatietoja, kuten tallennukset, haarat ja yhdistämisen tilan. Kortilta pääsi navigoimaan linkin kautta kyseiseen tapahtumaan GitLab-järjestelmässä.
Kehitystyötä voisi jatkaa ottamalla käyttöön jatkuvan integraation ohjelmiston, kuten Jenkins, joka integroitaisiin Jira-järjestelmään. Lisäksi uskon, että ketterän kehityksen koulutuksista olisi tulevaisuudessa hyötyä Detection Technology Oyj:lle.
Target was to get a better understanding of the whole Detection Technology’s version control, streamline it and propose a tool to be integrated into Jira system. Themed interviews were used to get the best understanding of the current state. Internet sources and testing were the biggest part of investigating tool options.
GitLab version control tool was selected and integrated during thesis for software and firmware development. Thesis reports detailed picture of DT’s way of working and used tools. New positions were opened for the future evolution. DT got information of available tools and ideas to improve the version control process. Future improvements could contain CI (Continuous Integration) tool integration like Jenkins to be integrated into Jira system. Agile method trainings could be a powerful addition to existing training programs. Agile method training could contain parts of Scrum project management.