GitLab
Lyhyesti
Projektityö tehdään käyttäen Niksulan GitLab -versionhallintapalvelua. Tällä sivulla opastetaan:
- Uuden projektin luominen
- Assistentin liittäminen projektiin
- SSH-avaimen luominen sekä projektin kloonaaminen
Esitietoina toimii luvun 5.x. esittely Gitin käyttöön.
1. Niksula-tunnus
Niksula on tietotekniikan laitoksen ylläpitämä tietokoneympäristö opiskelijoiden käyttöön. Niksulan GitLabin käyttäminen vaatii Niksulan käyttäjätunnuksen. Avaa https://git.niksula.hut.fi ja kokeile kirjautua Aallon käyttäjätunnuksella. Jos kirjautuminen ei onnistu, voit hankkia käyttäjätunnuksen Niksulan ylläpidosta.
2. Uusi projekti
- Kirjaudu GitLabiin.
- Valitse "+ New project".
- Syötä haluamasi projektinimi.
- Pidä projekti yksityisenä (oletus).
- Valitse "Create project".
Projekti on nyt luotu ja olet siirtynyt projektin pääsivulle. Projektisivujen harmaassa yläpalkissa on linkkejä erilaisiin näkymiin, jotka ovat projektin alussa enimmäkseen tyhjiä. Näistä pääset näkemään esimerkiksi projektin sisältämät tiedostot sekä commit-historian tarkkoine muutoksineen.
3. Assistentin liittäminen projektiin
Oma assistenttisi riippuu valitsemastasi projektiaiheesta. Tarkista oma assistenttisi aiheet-sivulta. Assistentti on liitettävä projektiin arvostelua varten.
- Valitse GitLabin projektisivun harmaasta yläpalkista "Settings".
- Valitse asetussivun valikosta vasemmalta "Members".
- Valitse "New project member".
- Syötä "People"-kenttään assistentin sukunimen ensimmäiset kirjaimet ja valitse assistenttisi listasta.
- Valitse "Project Access tyypiksi "Reporter".
- Valitse "Add users".
4. SSH-avaimen luominen
Niksulan GitLab-palvelun käyttö vaatii oman SSH-avaimen [*]. Kyseessä on avain, joka koostuu yksityisestä salaisesta avaimesta sekä julkisesta avaimesta. Lisäämällä julkinen avain GitLabiin (tai yleisemmin SSH-yhteyksiä vastaanottavaan palvelimeen) voidaan salaisen avaimen omistaja tunnistaa kirjautuessa automaattisesti julkista avainta käyttämällä.
Seuraavassa käydään läpi kaksi vaihtoehtoista tapaa luoda oma SSH-avain. Avaimen luonnin jälkeen, julkinen avain liitetään tekstinä GitLab-palveluun kohdassa 5.
- 3.1 laajentaa luvun 7.1 Eclipse-ohjeita SSH-avaimen lisäämisellä.
- 3.2 esittää aloittamisen asennettavalla Git-ohjelmalla komentoriviltä.
Monet ohjelmoijat käyttävät Gittiä mieluiten komentoriviltä. Jos et usko tarvitsevasi kovin usein ohjelmointitaitoja tulevaisuudessa, pärjäät kyllä pelkällä Eclipsellä. Jos SSH-avaimen luonti kenkkuilee Eclipsessä, suosittelemme seuraamaan komentoriviohjeita. Se ei sulje pois Eclipsen Gitin käyttöä jatkossa.
[*] | Teknisistä syistä palvelimella ei ole käyttöjärjestelmässä jokaiselle palveluun kirjautuneelle omaa käyttäjää. Kaikki SSH-yhteydet otetaan git-käyttäjänä ja tunnistetaan SSH-avaimen perusteella. Lisäksi HTTP-Git ei ole käytössä. |
4.1 Eclipse
- Valitse "Window > Preferences" tai OS X:llä "Eclipse > Asetukset".
- Avaa vasemmalta kohta "General > Network Connections > SSH2".
- Valitse välilehti "Key Management".
- Valitse "Load Existing Key...". Jos aukeavassa tiedostodialogissa näkyy "id_rsa" tai "id_dsa" tiedosto, "Avaa" se ja ohita loput bulletit. Muussa tapauksessa "Kumoa" tämä dialogi.
- Valitse "Generate RSA key..." (tai "Generate DSA key...")
- Huomio! Valitse "Save private key" ja "OK" jatkamiseen ilman "passphrasea".
- Tallenna tiedosto oletusnimellä, "OK".
- Maalaa Eclipsen asetusikkunan isosta kentästä julkinen avaimesi eli teksti kokonaan ja kopioi se leikepöydälle (ctrl-c/cmd-c).
4.2. Komentorivi
OS X ja Linux-pohjaiset järjestelmät sisältävät jo usein Git-ohjelman.
Avaa komentorivi/kehoite (terminal) ja kokeile komentoa "git". Jos ohjelma löytyy, saat "usage: git" alkuisen listauksen Gitin komennoista ja voit ohittaa asennuksen.
- Asenna varsinainen Git-ohjelma: http://git-scm.com/downloads
- Windows-käyttäjien tulee käynnistää ohjelma "Git Bash", joka toimii Unix-tyyppisen komentorivin emulaationa. Muissa käyttöjärjestelmissä avaa komentorivi/kehoite (terminal).
- Kirjoita: ssh-keygen -t rsa (ja paina enter)
- Hyväksy oletukset painamalla kolme kertaa enteriä.
- Kirjoita: cat ~/.ssh/id_rsa.pub (ensimmäinen merkki on mato, ja tarkoittaa kotihakemistoasi)
- Maalaa edellisen komennon näyttämä teksti kokonaan ja kopioi se leikepöydälle (Windows-käyttäjille erikoisohjeet alla, muille toimii ctrl-c/cmd-c).
Windows-komentorivi ja kopioi-liitä toiminnot
Windows-järjestelmässä klikkaa ikkunan vasemman yläkulman ikonista ja valitse "Edit > Mark", jotta voit maalata tekstiä. Kopioi maalattu teksti leikepöydälle valitsemalla "Edit > Copy". Vaihtoehtoisesti voit avata tiedostonhallinnassa kansion "C:\Users\tunnuksesi\.ssh" ja avata Notepadiin tiedoston "id_rsa.pub".
5. SSH-avaimen lisääminen GitLabiin
- Valitse GitLabin tumman harmaasta yläpalkista "My profile" (pienempi ihmisikoni).
- Valitse profiiliasetusten vaalean harmaasta yläpalkista "SSH Keys".
- Valitse "Add SSH Key".
- Liitä isompaan "Key" kenttään aiemmin leikepöydälle kopioimasi "ssh-rsa" alkuinen teksti (ctrl-v/cmd-v).
- Ylempi "Title"-kenttä on itsellesi tiedoksi GitLabin avainlistaa varten.
- Valitse "Add key".
GitLab on nyt valmis työskentelyn aloittamiseen. Voit tarvittaessa lisätä GitLabiin useita avaimia, esimerkiksi omalta tietokoneelta sekä koulusta. (Niksulan tai Aalto IT:n järjestelmissä avain on tallennettu eri työasemien jakamaan kotihakemistoon, joten yksi avain riittää.)
6. Paikallisen repositoryn luominen
Seuraavassa annetaan ohjeet, kuinka voit luvun 5.5. tavoin kloonata edellä luomasi tyhjän projektin paikalliseksi repositoryksi. Tähän tyhjään repositoryyn alat lisäämään projektisi tiedostoja ja synkronoit ne myös etävarastoon GitLabiin.
- Mene GitLabissa oman projektin sivuille: Valitse vasemmasta yläkulmasta "Dashboard" ja klikkaa esimerkiksi laatikosta oikealta projektisi nimeä.
- Projektin etusivun ylälaidassa näkyy laatikossa SSH-osoite projektiisi. Kopioi se leikepöydälle seuraavia vaiheita varten.
Seuraavassa esitetään jälleen vaihtoehtoiset ohjeet Eclipsestä tai komentoriviltä toimimiseen.
6.1 Eclipse
- Valitse "File > Import...", "Git > Projects from Git" ja "Clone URI".
- Aiemmin kopioimasi SSH-osoite liitetään kohtaan URI, jos Eclipse ei vielä automaattisesti poiminut sitä leikepöydältäsi. Kaikki muut kohdat asettuvat URI:n perusteella oikein (User=git, Password=<tyhjä>).
- Valitse "Next", Branch-valintaan oletus "Next" ja Local-hakemistoksi oletus "Next".
- Valitse "Import as general project".
- Tee projektista PyDev-projekti (ks. "Tyhjien projektien luonti Eclipsen avulla" luvussa 5.5)
6.2 Komentorivi
Jatketaan komentorivillä (tai Windowsissa Git Bash -ikkunassa). Seuraava komento kloonaa paikallisen repositoryn nykyisen komentorivihakemistosi (todennäköisesti kotihakemistosi) alle.
- Kirjoita: git clone git@git.niksula.hut.fi... (siis projektisi SSH-osoite)
Halutessasi projektin voi avata Eclipseen seuraavasti:
- Valitse "File > Import...", "Git > Projects from Git" ja "Existing local repository".
- Valitse "Add" ja etsi paikallisen repositorysi hakemisto.
- Valitse "Import as general project".
- Tee projektista Python-projekti
Unix-tyyppisen shell-komentorivin hallinta on taito, joka saatetaan ohjelmoijien yhteisössä nähdä perusosaamiseen kuuluvana. Komentorivi tai Gitin käyttö komentoriviltä ei kuulu kurssisisältöön, mutta seuraavassa on muutamia itseopiskelulähteitä kiinnostuneille:
- Shell: Cheat Sheet, TKK:n Unix aapinen
- Git: Cheat Sheet, Pro Git -verkkokirja
7. Käy töihin
Tee committeja säännöllisesti ja usein. Kun kirjoitat commit-viestejä, muista assistenttia. Kirjoita 1 tai 2 lausetta, jotka kuvaavat committiin sisältyviä muutoksia. Viimeistään, kun lopetat työsession, tee push etävarastoon. Näin ohjelmakoodisi pysyy tallessa ja saavutettavissa.
while (!projektiValmis) {
suunnitteleJaOhjelmoiPieniOsa
gitCommit(kuvaavaViesti)
if (uupunut) {
gitPush
relaa
}
}