IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Matúš Olejník:8.12.2021 14:51

Spomenuté v časti "Čeho se snažíš dosáhnout?"

Zkusil jsem: Pôvodne mal p. profesor u seba lokálne rozbehaný skript, ktorý postupne zadanie kopíroval do predpripraveného projektu a následne cez Maven spustil build aj s testami a na základe toho zozbieral výsledky a navrhol hodnotenie.

Teraz však chceme využiť výhody GitHub actions a ísť štýlom, že študent svoj projekt pushne do určenej branchy následne sa spustí GitHub akcia ktorá nachystá prostredie spustí build a vykoná testy.

Chci docílit: Ahoj, na DP pracujem na automatickom vyhodnocovaní programátorských úloh. Ide o úlohy ako napr. šifrovanie/de­šifrovanie textu, ORM úlohy - komunikácia s databázou cez JPA, REST služby atď. Nakoľko študentov je veľa je náročné prechádzať všetky zadania ručne a kontrolovať. Preto potrebujem navrhnúť automatickú kontrolu takýchto zadaní najlepšie aj s vyhodnocovaním.

Týmto príspevkom nehľadám konkrétne riešenie, ale skôr by som chcel poprosiť o názor/nápady/pri­pomienky niekoho iného, kto má prípadne už skúsenosti s týmto, ale samozrejme budem rád za každý názor :).
Či už ide o spôsob testovania, spôsob vyhodnocovania atď. Momentálne mám rozbehaný spôsob kedy žiak by dostal template projekt, ale aj s unit testami a potom by teda tento projekt pushol do požadovanej branchy kde by zbehli testy. Tu sa mi však nepáči, že unit testy sú viditeľné pre všetkých a preto by som tento spôsob rád zmenil. Rovnako zozbieranie výsledkov mám tiež len cez spracovanie textového výsledku unit testov a skôr by som sa prikláňal k inému riešeniu.

Ďakujem za každý nápad.

Odpovědět
8.12.2021 14:51
/* I am not sure why this works but it fixes the problem */
Avatar
Odpovídá na Matúš Olejník
jiří stárek:14.4.2022 11:42

Zdá se mi to jako řešení zastřešit to celé pomocí nodů Jenkins

 
Nahoru Odpovědět
14.4.2022 11:42
Avatar
Odpovídá na jiří stárek
Matúš Olejník:14.4.2022 19:22

Ahoj, ďakujem za odpoveď. Vedel by si to trocha viacej rozpísat prosím? :D

Momentálne som to urobil tak, že každý študent podľa zadania pushne kód do zadanecj branche v svojom repozitári.
V repozitári pre každú branchu sú nastavené akcie ktoré sa majú vykonať.
Ak ide o programovateľné zadanie tak po pushnutí sa notifikuje externý server ktorý zoberie tento kód a vloží ho do privátneho repozitára kde sú aj testy ktoré sa následne vykonajú a výsledok sa opäť pošle na server kde sa spracuje.

Týmto v podstate naplno využívam výhody GitHub CI/CD aj s tým, že testovacie veci sú skryté pred študentmi.

Nahoru Odpovědět
14.4.2022 19:22
/* I am not sure why this works but it fixes the problem */
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.