Usnadněte si život automatizací opakujících se úkolů pomocí Makefiles.

Při vývoji moderního softwaru je pro úspěch projektu zásadní efektivní automatizace sestavování. Makefiles, oblíbený nástroj pro automatizaci sestavování, poskytuje vývojářům všech stacků stručný a výkonný způsob, jak spravovat složité procesy sestavování.

Integrací a součinností Makefiles s Go můžete automatizovat opakující se úkoly, zefektivnit procesy vytváření a zvýšit produktivitu.

Porozumění souborům Makefiles

Pochopení toho, jak Makefiles funguje, je zásadní pro efektivní organizaci a automatizaci sestavování vašeho projektu.

Makefiles se řídí specifickou strukturou a syntaxí pro definování pravidel pro vytváření a údržbu projektů. V jádru se Makefile skládá z pravidel určujících cíle, závislosti a příkazy. Každé pravidlo začíná cílem, za nímž následují jeho závislosti a příkazy potřebné k sestavení nebo provedení cíle.

Cíle představují požadované výstupní soubory nebo akce pro Makefile. Cíle mohou být názvy souborů nebo štítky, které popisují úlohu. Například cíl pojmenovaný

instagram viewer
čistý může odstranit nepotřebné soubory generované během procesu sestavení.

Závislosti jsou soubory nebo úlohy potřebné pro vytvoření cíle. Pokud se změní nějaké závislosti, Makefile znovu sestaví související cíle, aby se zajistilo, že nezbytné části projektu budou fungovat. Za cíl určíte závislosti oddělené mezerami.

Příkazy jsou akce resp příkazy shellu které potřebují provedení k sestavení nebo provedení konkrétních cílů. Příkazy jsou obvykle psány ve skriptovacím jazyce shellu operačního systému.

Každý příkaz musí kvůli rozpoznání začínat znakem tabulátoru.

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

čistý:
rm myapp

Ve výše uvedeném souboru Makefile jsou dva cíle: stavět a čistý.

The stavět cíl závisí na main.go a utils.go soubory a přidružený příkaz se spustí na kompilátoru Go a vytvoří spustitelný soubor s názvem moje aplikace.

Na druhou stranu, čistý cíl odstraní moje aplikace spustitelný.

Chcete-li zkompilovat svůj kód Go, přejděte do pracovního adresáře a spusťte soubor udělat stavbu příkaz.

udělat stavbu

Nástroj Make se postará o proces kompilace a umožní vám soustředit se na psaní kódu.

Nastavení souborů Makefiles pro vaše projekty Go

Makefiles můžete použít k sestavování a kompilaci vašich programů, provádění testů kódu a kontrol kvality a pro nepřetržitou integraci a nasazení.

Spuštěním tohoto příkazu vytvořte soubor Makefile pro váš projekt v kořenovém adresáři. The Makefile bude sloužit jako vstupní bod pro definování vašich úkolů sestavení.

klepněte na Makefile

Váš Makefile by neměl mít žádná rozšíření.

Po vytvoření souboru Makefile můžete do souboru zapisovat příkazy, závislosti a cíle pro operace vašeho projektu.

Zde je příklad Makefile, který slouží jako nástroj pro automatizaci sestavení pro váš projekt:

# Makefile

# Proměnné
GOCMD=jdi
GOBUILD=$ (GOCMD) stavět
GOTEST=$ (GOCMD) test
GOCLEAN=$ (GOCMD) čistý

# Cíle
stavět:
$ (GOBUILD) -o aplikaci.

test:
$ (GOTEST) ./...

čistý:
$ (GOKLEAN)
aplikace rm -f

Makefile si můžete přizpůsobit podle konkrétních potřeb vašeho projektu.

Zde je upravená verze Makefile pro předávání dalších příznaků a proměnných prostředí během procesu testování nebo sestavování vašeho projektu:

# Makefile

# Proměnné
GOCMD=jdi
GOBUILD=$ (GOCMD) stavět
GOTEST=$ (GOCMD) test
GOCLEAN=$ (GOCMD) čistý
BINARY_NAME=aplikace
TEST_FLAGS=-v

# Cíle
stavět:
$ (GOBUILD)$(BINARY_NAME) .

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

čistý:
$ (GOKLEAN)
rm -f $(BINARY_NAME)

V tomto Makefile jsou dvě nové proměnné pojmenované BINARY_NAME a TEST_FLAGS. The BINARY_NAME proměnná určuje název vygenerovaného spustitelného souboru.

The TEST_FLAGS proměnná umožňuje zadat další příznaky při spouštění testů (v tomto případě -proti příznak umožňuje podrobný výstup během provádění testu).

Makefiles také poskytuje snadný způsob konfigurace proměnných prostředí a příznaků pro váš projekt.

Tyto řádky můžete přidat do svého souboru Makefile, pokud potřebujete nastavit GOOS a GOARCH proměnné k sestavení vašeho projektu pro konkrétní operační systém nebo architekturu.

# Makefile

# Proměnné
GOCMD=jdi
GOBUILD=$ (GOCMD) stavět
GOTEST=$ (GOCMD) test
GOCLEAN=$ (GOCMD) čistý
BINARY_NAME=aplikace
TEST_FLAGS=-v
GOOS=linux
GOARCH=amd64

# Cíle
stavět:
$ (GOBUILD)$(BINARY_NAME) .

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

čistý:
$ (GOKLEAN)
rm -f $(BINARY_NAME)

V aktualizovaném souboru Makefile jsou dvě nové proměnné pro GOOS a GOARCH proměnné prostředí, které vám umožňují určit cílový operační systém a architekturu vašeho sestavení (v tomto případě GOOS proměnná je nastavena na linux a GOARCH na amd64 postavit projekt pro Linux na architektuře x86-64).

Nezapomeňte upravit tyto proměnné na základě specifických požadavků vašeho projektu.

Můžete odkazovat na Přejít na dokumentaci pro seznam podporovaných hodnot pro GOOS a GOARCH pokud potřebujete vytvořit pro jinou platformu.

Vytvářejte automatizaci pomocí souborů Makefiles

Makefiles jsou také užitečné pro kompilaci kódu, generování dokumentace a správu závislostí.

Pomocí Makefiles můžete automatizovat dobu kompilace, což vám ušetří čas a úsilí.

Zde je soubor Makefile, který zkompiluje program Go:

# Definujte proměnné
GOCMD = jít
GOBUILD = $ (GOCMD) stavět
BINARY_NAME = můj program

# Výchozí cíl
vše: stavět

# Vybudujte cíl
stavět:
$ (GOBUILD)$(BINARY_NAME)

# Čistý cíl
čistý:
rm -f $(BINARY_NAME)

Makefile definuje proměnné jako GOCMD (příkaz Go) a GOBUILD (příkaz build). The stavět cíl vyvolá jít stavět příkaz ke kompilaci našeho programu Go a vytvoření binárního souboru se zadaným názvem (můj program v tomto případě). The čistý target odstraní vygenerovaný binární soubor z projektu.

Makefiles můžete použít k automatizaci instalace závislostí a aktualizaci externích závislostí vašeho projektu.

# Definujte proměnné
GOCMD = jít
GOBUILD = $ (GOCMD) stavět
GOGET = $ (GOCMD) dostat
BINARY_NAME = můj program

# Výchozí cíl
vše: stavět

# Vybudujte cíl
stavět:
$ (GOBUILD)$(BINARY_NAME)

# Nainstalujte závislosti
deps:
$ (GOGET) -u

# Čistý cíl
čistý:
rm -f $(BINARY_NAME)

Makefile má a deps cíl, který používá jít dostat příkaz k instalaci nebo aktualizaci závislostí projektu. Můžete běžet dělat deps k instalaci závislostí vašeho projektu.

Makefiles může automatizovat generování dokumentace a vylepšit vaši dokumenty jako proces kódu.

Zde je návod, jak můžete automaticky generujte dokumentaci pro své projekty Go pomocí nástroje godoc a Makefile:

# Definujte proměnné
GODOC = godoc
DOCS_DIR = dokumenty

# Výchozí cíl
vše: docs

# Vygenerujte dokumentaci
dokumenty:
$ (GODOC) -html -dir. > $(DOCS_DIR)/index.html

# Čistý cíl
čistý:
rm -rf $(DOCS_DIR)

V souboru Makefile je dokumenty cíl vyvolá godoc příkaz s -html flag vygeneruje HTML dokumentaci pro váš go kód a uloží dokumentaci do dokumenty adresář.

Budete provozovat vytvořit dokumenty příkaz ke generování aktuální dokumentace pro váš projekt Go.

Makefiles jsou užitečné pro práci s operačními systémy založenými na Unixu

Využitím flexibility Makefiles můžete definovat vlastní příkazy pro sestavení a provádět složité úlohy během několika minut. Makefile šetří čas a zajišťuje konzistenci a reprodukovatelnost napříč prostředími sestavení.

Další výhodou Makefiles je jeho kompatibilita se systémy založenými na Unixu. Make je široce podporovaný nástroj na operačních systémech založených na Unixu, včetně Linuxu a macOS, což z něj činí přenosný a spolehlivý nástroj pro vývojáře.