Uľahčite si život automatizáciou opakujúcich sa úloh pomocou Makefiles.

V modernom vývoji softvéru je efektívna automatizácia zostavovania kľúčová pre úspech projektu. Makefiles, populárny nástroj na automatizáciu zostavovania, poskytuje vývojárom všetkých balíkov stručný a výkonný spôsob riadenia zložitých procesov zostavovania.

Integráciou a súčinnosťou Makefiles s Go môžete automatizovať opakujúce sa úlohy, zefektívniť procesy vytvárania a zvýšiť produktivitu.

Pochopenie Makefiles

Pochopenie toho, ako Makefiles funguje, je kľúčové pre efektívnu organizáciu a automatizáciu vytvárania vášho projektu.

Makefily majú špecifickú štruktúru a syntax na definovanie pravidiel pre vytváranie a udržiavanie projektov. V jadre sa Makefile skladá z pravidiel špecifikujúcich ciele, závislosti a príkazy. Každé pravidlo začína cieľom, za ktorým nasledujú jeho závislosti a príkazy potrebné na vytvorenie alebo vykonanie cieľa.

Ciele predstavujú požadované výstupné súbory alebo akcie pre Makefile. Cieľmi môžu byť názvy súborov alebo štítky, ktoré popisujú úlohu. Napríklad cieľ s názvom

instagram viewer
čisté môže odstrániť nepotrebné súbory vygenerované počas procesu zostavovania.

Závislosti sú súbory alebo úlohy potrebné na vytvorenie cieľa. Ak sa upravia nejaké závislosti, Makefile prebuduje súvisiace ciele, aby sa zabezpečilo, že potrebné časti projektu fungujú. Za cieľom zadáte závislosti oddelené medzerami.

Príkazy sú akcie resp príkazy shellu ktoré potrebujú vykonanie na vytvorenie alebo splnenie konkrétnych cieľov. Príkazy sú zvyčajne napísané v skriptovacom jazyku shell operačného systému.

Každý príkaz musí začínať znakom tabulátora na rozpoznanie.

zostava: main.go utils.go
go build -o myapp main.go utils.go

čisté:
rm myapp

Vo vyššie uvedenom Makefile sú dva ciele: stavať a čisté.

The stavať cieľ závisí od main.go a utils.go súbory a príslušný príkaz sa spustí na kompilátore Go na vytvorenie spustiteľného súboru s názvom moja aplikácia.

Na druhej strane, čisté cieľ odstráni moja aplikácia spustiteľný.

Ak chcete skompilovať kód Go, prejdite do pracovného adresára a spustite ho urobiť stavať príkaz.

urobiť stavať

Nástroj Make sa postará o proces kompilácie, čo vám umožní sústrediť sa na písanie kódu.

Nastavenie súborov Makefiles pre vaše projekty Go

Makefiles môžete použiť na zostavenie a kompiláciu vašich programov, vykonávanie testov kódu a kontroly kvality a na nepretržitú integráciu a nasadenie.

Spustite tento príkaz na vytvorenie súboru Makefile pre váš projekt v koreňovom adresári. The Makefile bude slúžiť ako vstupný bod pre definovanie úloh zostavovania.

dotknite sa Makefile

Váš Makefile by nemal mať žiadne rozšírenia.

Po vytvorení súboru Makefile môžete do súboru zapisovať príkazy, závislosti a ciele pre operácie vášho projektu.

Tu je príklad Makefile, ktorý slúži ako nástroj na automatizáciu zostavovania pre váš projekt:

# Makefile

# Premenné
GOCMD=ísť
GOBUILD=$ (GOCMD) stavať
GOTEST=$ (GOCMD) test
GOCLEAN=$ (GOCMD) čisté

# Ciele
postaviť:
$ (GOBUILD) -o aplikáciu.

test:
$ (GOTEST) ./...

čisté:
$ (GOCLEAN)
aplikácia rm -f

Makefile si môžete prispôsobiť podľa špecifických potrieb vášho projektu.

Tu je upravená verzia súboru Makefile na odovzdávanie ďalších príznakov a premenných prostredia počas procesu testovania alebo zostavovania vášho projektu:

# Makefile

# Premenné
GOCMD=ísť
GOBUILD=$ (GOCMD) stavať
GOTEST=$ (GOCMD) test
GOCLEAN=$ (GOCMD) čisté
BINARY_NAME=aplikácia
TEST_FLAGS=-v

# Ciele
postaviť:
$ (GOBUILD) -o $(BINARY_NAME) .

test:
$ (GOTEST)$(TEST_FLAGS) ./...

čisté:
$ (GOCLEAN)
rm -f $(BINARY_NAME)

V tomto Makefile sú dve nové premenné pomenované BINARY_NAME a TEST_FLAGS. The BINARY_NAME premenná určuje názov vygenerovaného spustiteľného súboru.

The TEST_FLAGS premenná vám umožňuje zadať ďalšie príznaky pri spustení testov (v tomto prípade -v príznak umožňuje podrobný výstup počas vykonávania testu).

Makefiles tiež poskytuje jednoduchý spôsob konfigurácie premenných prostredia a príznakov pre váš projekt.

Tieto riadky môžete pridať do svojho súboru Makefile, ak potrebujete nastaviť GOOS a GOARCH premenné na zostavenie vášho projektu pre konkrétny operačný systém alebo architektúru.

# Makefile

# Premenné
GOCMD=ísť
GOBUILD=$ (GOCMD) stavať
GOTEST=$ (GOCMD) test
GOCLEAN=$ (GOCMD) čisté
BINARY_NAME=aplikácia
TEST_FLAGS=-v
GOOS=linux
GOARCH=amd64

# Ciele
postaviť:
$ (GOBUILD) -o $(BINARY_NAME) .

test:
$ (GOTEST)$(TEST_FLAGS) ./...

čisté:
$ (GOCLEAN)
rm -f $(BINARY_NAME)

V aktualizovanom súbore Makefile sú dve nové premenné pre GOOS a GOARCH premenné prostredia, ktoré vám umožňujú určiť cieľový operačný systém a architektúru vašej zostavy (v tomto prípade GOOS premenná je nastavená na linux a GOARCH do amd64 postaviť projekt pre Linux na architektúre x86-64).

Nezabudnite prispôsobiť tieto premenné na základe špecifických požiadaviek vášho projektu.

Môžete sa odvolať na Prejdite na dokumentáciu pre zoznam podporovaných hodnôt pre GOOS a GOARCH ak potrebujete vytvoriť pre inú platformu.

Vybudujte automatizáciu pomocou súborov Makefiles

Makefiles sú tiež užitočné pri kompilácii kódu, generovaní dokumentácie a správe závislostí.

Pomocou Makefiles môžete automatizovať čas kompilácie, čo vám ušetrí čas a námahu.

Tu je súbor Makefile, ktorý zostavuje program Go:

# Definujte premenné
GOCMD = ísť
GOBUILD = $ (GOCMD) stavať
BINARY_NAME = môj program

# Predvolený cieľ
všetko: stavať

# Zostavte cieľ
postaviť:
$ (GOBUILD) -o $(BINARY_NAME)

# Čistý cieľ
čisté:
rm -f $(BINARY_NAME)

Makefile definuje premenné ako napr GOCMD (príkaz Choď) a GOBUILD (príkaz build). The stavať cieľ vyvoláva ísť stavať príkaz na kompiláciu nášho programu Go a vytvorenie binárneho súboru so zadaným názvom (môj program v tomto prípade). The čisté target odstráni vygenerovaný binárny súbor z projektu.

Makefiles môžete použiť na automatizáciu inštalácie závislostí a aktualizáciu externých závislostí vášho projektu.

# Definujte premenné
GOCMD = ísť
GOBUILD = $ (GOCMD) stavať
GOGET = $ (GOCMD) dostať
BINARY_NAME = môj program

# Predvolený cieľ
všetko: stavať

# Zostavte cieľ
postaviť:
$ (GOBUILD) -o $(BINARY_NAME)

# Nainštalujte závislosti
deps:
$ (GOGET) -u

# Čistý cieľ
čisté:
rm -f $(BINARY_NAME)

Makefile má a deps cieľ, ktorý používa choď si príkaz na inštaláciu alebo aktualizáciu závislostí projektu. Môžete bežať robiť deps na inštaláciu závislostí vášho projektu.

Makefiles môže automatizovať generovanie dokumentácie a zlepšiť vašu dokumenty ako proces kódu.

Tu je návod, ako môžete automaticky generujte dokumentáciu pre svoje projekty Go pomocou nástroja godoc a Makefile:

# Definujte premenné
GODOC = godoc
DOCS_DIR = dokumenty

# Predvolený cieľ
všetky: dokumenty

# Vytvorte dokumentáciu
dokumenty:
$ (GODOC) -html -dir. > $(DOCS_DIR)/index.html

# Čistý cieľ
čisté:
rm -rf $(DOCS_DIR)

V Makefile, dokumenty cieľ vyvoláva godoc príkaz s -html flag na vygenerovanie HTML dokumentácie pre váš go kód a uloží dokumentáciu do dokumenty adresár.

Spustíte robiť dokumenty na vygenerovanie aktuálnej dokumentácie pre váš projekt Go.

Makefiles sú užitočné pri práci s operačnými systémami založenými na Unixe

Využitím flexibility Makefiles môžete definovať vlastné príkazy na zostavenie a vykonávať zložité úlohy v priebehu niekoľkých minút. Makefile šetrí čas a zaisťuje konzistentnosť a reprodukovateľnosť naprieč prostrediami zostavovania.

Ďalšou výhodou Makefiles je jeho kompatibilita so systémami založenými na Unixe. Make je široko podporovaný nástroj na operačných systémoch založených na Unixe, vrátane Linuxu a macOS, vďaka čomu je prenosný a spoľahlivý nástroj pre vývojárov.