V systémech kontinuální integrace se při každém odeslání kódu nebo každou hodinu automaticky spustí kompilace zdrojového kódu. Tento přístup umožňuje kontrolovat sloučení na serveru pro správu kódu.
Počínaje verzí 4D v19 umožňuje nový příkaz spustit kompilaci kódu, takže můžete tento typ systému nastavit.
Spuštění kompilace naprogramováním
Co je to kontinuální integrace?
Kontinuální integrace spočívá v tom, že při každé úpravě zdrojového kódu se kontroluje, zda výsledek úprav nezpůsobuje regrese ve vyvíjené aplikaci. Hlavním cílem je odhalit integrační problémy co nejdříve během vývoje.
Nový příkaz
Nový příkaz Compile Project umožňuje provést kompilaci:
- aktuální projekt
- jiný projekt než aktuální projekt
Pokud je kompilace úspěšná, vrátí příkaz stavový objekt s vlastností success. V opačném případě vrací stavový objekt se seznamem chyb.
Zkompilovat aktuální projekt
Kompilace aktuálního projektu s výchozím nastavením je velmi jednoduchá:
var $status : Object
)
$status :=Compile project(
Volby kompilace můžete také přepsat předáním objektu s novými hodnotami. Zde jsou možnosti, které můžete přepsat:
- cíl kompilace
- odvození typu
- výchozí typ pro číslice nebo tlačítka
- generovat symboly
- generovat metody psaní
- komponenty, které se použijí při kompilaci
Například při každém odeslání kódu na server pro správu zdrojů můžete spustit jednoduchou kontrolu syntaxe, abyste ověřili sloučený kód.
var $options; $status: Object
$options :=New object()
$options .targets:=New collection()
$status :=Compile project($options)
Pokud vaše aplikace používá komponenty, budete muset v objektu options předat seznam zkompilovaných komponent.
var $options; $status: Object
var $component : 4D.File
$options :=New object()
$options .components:=Folder("/PACKAGE/Components").files(fk recursive).query("extension = .4dz")
$status :=Compile project($options).
Zkompilujte jiný projekt
Je možné zkompilovat aplikaci z jiného projektu. Stačí příkazu předat soubor projektu:
var $file: 4D.File
$file :=Folder(fk documents folder).file("Databáze/myApp/Projekt/myApp.4DProject")
$status :=Compile project($file).
Správa chyb při kompilaci
Příkaz vrací stavový objekt, který informuje o tom, zda kompilace proběhla úspěšně, nebo ne. Pokud se kompilace nezdaří, vrátí 4D kolekci chybových hlášení, implikované metody a číslo řádku chyby.
Pak díky novému parametru příkazu METHOD OPEN PATH příkazu můžete otevřít metodu v editoru kódu a umístit kurzor na chybový řádek.
Kolekci chyb je možné zobrazit například v seznamu a poté přidat tlačítko, které otevře metodu vybranou v seznamu:
METHOD OPEN PATH(Form.selected.code.path;Form.selected.line).
Zůstaňte s námi! Chystáme další příspěvky na blogu o kontinuální integraci!