Projektin siirto GitHubiin
Alkaen 1.6. kaikki GitLabin CI-ajot rajoitetaan 400 min/kuukausi ilmaisille projekteille. Käytännössä tämä tarkoittaa, että meidän CI-ajot käytännössä loppuisivat aina kesken.
Ongelmaan on pohdittu muutamia vaihtoehtoja:
- Omien CI-ajokoneiden konfigurointi
- Tehtiin Mikan aikaan, mutta ilmeisesti aiheutti ongelmia sovellusprojektien kanssa
- Vaati muutenkin ylimääräisiä ajokoneita
- GitLab Open Source -lisenssin hakeminen
- Lähetin pyynnön 25.4. eikä vieläkään tullut vastausta
- Vaikka saadaan lisenssi, CI-ajoajan raja ei poistu, vaan nousee 50000 min/kk => eli pitää silti pitää mielessä loppumista
- Edelleen ongelma sovellusprojektien kanssa
- Projektin siirto GitHubiin
- GitHubissa on nykyään täysin rajaton workflow-tapahtumaskriptien ajo ilmaisille repoille
- GitHubin workflowien syntaksi on monipuolisempi kuin GitLab CI:n => ei vaadi erikoistemppuja Dockerin kanssa, kasa valmiita skripteja
- GitHubin workflowien koneet ovat nopeammat kuin GitLab CI:n => kaikki TIM-testit ajetaan 17 min (verrattuna nykyiseen 30 min)
- Testiksi tehty jo valmiiksi TIM-JYU/TIM-repo ja siihen CI-ajot
- GitHub tukee kaikki meidän käyttämät ominaisuudet (kortit, labelit, pull requestit) paitsi salaiset kortit
- Salaiset kortit voi kiertää tekemällä salainen repo, johon kortit laitetaan
- Siirto onnistuu suoraan
git
:lla sekä node-gitlab-2-github-skriptillä (korttien siirto)
Jatkon kannalta vaikuttaa siis järkevämmältä siirtää koko TIMin kehitys GitHubiin. Valintakokeiden ja sovellusprojektien takia siirto tehdään vaiheessa ja pääosin kesäkuun aikana.
Siirtovaiheet:
-
Organisaation teko GitHubiin: https://github.com/TIM-JYU -
Organisaation konfigurointi: devaajaryhmän tekeminen, kehittäjien lisääminen ryhmään -
TIMin päärepon kopiointi -
TIMin päärepon CI:n kirjoittaminen uusiksi GitHub Workflow-syntaksilla -
TIMin asennuskriptit käyttämään GitHubia -
TIMin päärepon konfigurointi (pull requests -säännöt, ilmoitukset, oikeudet) -
TIMin muiden repojen kopiointi (vk, Goemaxima, STACK, docs) -
TIMin muiden repojen CI:n korjaaminen tarpeen mukaan
Lopuksi:
-
Lopullinen TIMin päärepon synkronointi GitLabin kanssa -
TIMin korttien kopiointi node-gitlab-2-github-skriptillä -
Koodiviitteiden korjaaminen TIMissa -
Kehitystyön siirtäminen GitHubiin -
Muiden repojen poistaminen -
TIMin päärepon ohjaus GitHubiin
Edited by Denis Zhidkikh