Zadania w systemie Jenkins-Python

Forma zadań

Każde zadanie opisane jest przez test zawarty w pliku o nazwie TaskXYZTest.py, gdzie XYZ to numer zadania. Rozwiązanie należy zamieścić w pliku o nazwie TaskXYZ.py. Kasztowość (“wielkość”) liter jest istotna. Każdy plik z zadaniem zawiera funkcję o określonej nazwie, liczbie i typie parametrów oraz typie wartości zwracanej. Nazwy parametrów funkcji nie są istotne, ważna jest zgodność typów. Nieprzestrzeganie konwencji nazw plików i funkcji powoduje niepowodzenie automatycznego testu.

Aby zaliczyć zadanie nie powinno być żadnych ostrzeżeń ze strony programu pylint.

Wysyłanie rozwiązania

Załóżmy, że rozwiązujemy zadanie 102. Rozwiązanie powinno się znaleźć w pliku intro/Task102.py, kasztowość („wielkość”) liter ma znaczenie! Po zapisaniu pliku w Swoim Ulubionym Edytorze sprawdzamy najpierw, czy skrypt się uruchamia:

python Task102.py

rozwiązanie przechodzi testy:

python Task102Test.py

Następnie sprawdzamy, czy pylint nie zgłasza ostrzeżeń o błędach:

pylint Task102.py

Jeśli wszystko jest OK, możemy zatwierdzić rozwiązanie (commit) w lokalnym repozytorium:

git add Task102.py
git commit -m 'komentarz'

W końcu należy wysłać (wypchnąć) rozwiązanie do zdalnego repozytorium:

git push origin master

Jenkins

Wszystkie rozwiązania są automatycznie testowane przy użyciu serwera ciągłej integracji Jenkins. Zob. więcej informacji o Jenkinsie

Zaliczone są punkty, które pojawiają w podsumowaniu, które można zobaczyć po kliknięciu w Podgląd konsoli danego buildu. Pod uwagę brany jest tylko ostatni build zainicjowany przez terminem danego zadania. Późniejsze buildy NIE będą brane pod uwagę.