POB2015/Zgłaszanie zadań

Inicjalizacja repozytorium

Zadania domowe wysyłamy przez swoje repozytorium git.

Aby uzyskać dostęp do swojego repozytorium, należy wygenerować klucz prywatny/publiczny SSH.

  1. Pod Linuksem należy wydać polecenie:
ssh-keygen

Można zabezpieczyć klucz hasłem, ale nie jest to obowiązkowe (można nacisnąć Enter bez podawania hasła).

Klucz publiczny powinien znaleźć się w pliku .ssh/id_rsa.pub — jest to domyślna nazwa, można po prostu nacisnąć Enter, w momencie gdy ssh pyta się o nazwę pliku (uwaga! klucz prywatny to plik .ssh/id_rsa, ze względów bezpieczeństwa nie powinien on być ujawniany!)

  1. Skopiować klucz publiczny do pliku o nazwie sNUMERINDEKSU@amu.pub:
cp .ssh/id_rsa.pub sNUMERINDEKSU@amu.pub
  1. Przesłać plik sNUMERINDEKSU@amu.pub (jako załącznik) na adres filipg@amu.edu.pl.

  2. Czekać na potwierdzenie od prowadzącego zajęcia. Po tym jak prowadzący zajęcia założy repozytorium na serwerze, należy je jednorazowo sklonować:

# przejście do katalogu domowego:
cd
git clone ssh://git@re-research.wmi.amu.edu.pl:1977/pob-2015-sNUMERINDEKSU.git
# zostanie pobrane puste repozytorium, pojawi się komunikat:
# "warning: You appear to have cloned an empty repository."
# proszę się nie przejmować tym komunikatem
cd pob-2015-sNUMERINDEKSU
git config core.filemode false
# ... konieczne, jeśli pracujemy na komputerze wydziałowym (na dyskach
# sieciowych są źle obsługiwane prawa dostępu, musimy je ignorować)
git pull git://re-research.wmi.amu.edu.pl/pob-2015-matrix.git master
# ... pobranie repozytorium-"matki", dostępnego w trybie do odczytu
git push origin master
# ... wypycha zmiany z lokalnego repozytorium do repozytorium zdalnego

Serwer ciągłej integracji

Rozwiązania zadań domowych będą automatycznie sprawdzane za pomocą serwera ciągłej integracji Jenkins.

Najpierw należy założyć sobie konto na Jenkinsie: http://filipg-jenkins.wmi.amu.edu.pl:8090/signup.

Jako “Username” proszę użyć sNUMERINDEKSU.

Problemy z dostępem do gita

W razie problemów proszę jeszcze raz wygenerować i wysłać klucz, a także wykonać następujące polecenia i przesłać prowadzącemu wynik ich działania:

ls -ld ~/.ssh
ls -l ~/.ssh
md5sum ~/.ssh/id_rsa.pub

Więcej informacji o gicie

Git jest potężnym i skomplikowanym narzędziem. W czasie zajęć można bezmyślnie korzystać z gita, warto jednak bliżej się z nim zapoznać i zrozumieć podstawowe jego zasady, tym bardziej że obecnie jego nieznajomość dyskwalifikuje na rynku pracy.

Zob.:

Wypchnięcie rozwiązania

  1. Rozwiązania umieszczamy w odpowiednich podkatalogach (np. 02-07 dla Zadania 7 z zajęć II).

  2. Kiedy uznajemy rozwiązanie za gotowe, dodajemy utworzone lub zmodyfikowane pliki do tzw. indeksu (tj. oznaczamy je jako gotowe do zatwierdzenia):

git add PLIK1 PLIK2 ... PLIKN
  1. Teraz możemy zatwierdzić (commit) rozwiązanie w lokalnym repozytorium:
git commit -m 'komentarz'
  1. W końcu należy wysłać (wypchnąć) rozwiązanie do zdalnego repozytorium:
git push origin master

Uaktualnianie repozytorium

Aby uaktualnić repozytorium względem repozytorium-„matki” (aby pobrać nowe zadania bądź uzupełnienia i poprawki do poprzednich zadań):

cd pob-2015-s123456
EDITOR=nano git pull git://re-research.wmi.amu.edu.pl/pob-2015-matrix.git master

Jeśli uruchomi się edytor Nano, należy nacisnąć CTRL-O, ENTER i CTRL-X.