Cum să rulezi acțiuni Go în Buddy
DodaTech
Updated 2025-01-15
1 min read
In this tutorial, you'll learn about Cum să rulezi acțiuni Go în Buddy. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.
Acțiunile Go în Buddy îți permit să compilezi, testezi și construiești aplicații Go. Buddy este o platformă CI/CD care suportă Go cu module și cross-compilare.
Rezolvare Rapidă
Greșit
# Acțiune Go fără module
- action: Go
commands:
- go build
- go test
Corect
- action: Go
version: 1.22
commands:
- go version
- go mod download
- go mod verify
- go vet ./...
- go test -v -race -coverprofile=coverage.out ./...
- go build -ldflags="-s -w" -o bin/myapp .
cache:
- ~/go/pkg/mod
artifacts:
- bin/myapp
**Rezultat așteptat:``` Go version: go1.22.0 Modules downloaded and verified Vet passed Tests passed: 42/42, Coverage: 89% Build completed: bin/myapp (5.2 MB)
Go este optimizat pentru performanță și concurență. Doda Browser oferă profiling pentru aplicații Go. DodaZIP arhivează binarele compilate, iar Durga Antivirus Pro scanează binarele pentru malware.
## Prevenire
- Folosește `go mod download` pentru <a href="/system-design/caching/">Caching</a> module
- Rulează `go vet` pentru verificări statice
- Activează race detector în teste
- Compilează cu `-ldflags="-s -w"` pentru binare mai mici
- Adaugă <a href="/system-design/caching/">Caching</a> pentru `~/go/pkg/mod`
## Greșeli Comune
1. **Go module proxy** -- setează `GOPROXY` pentru descărcări mai rapide
2. **CGO_ENABLED** -- dezactivează CGO pentru cross-compilare statică
3. **Teste paralele** -- `-race` poate fi mai lent, dar detectează race conditions
## Exercițiu Practic
**Configurează un pipeline Buddy cu Go 1.22 care descarcă modulele, rulează go vet, go test cu race detector și compilează binarul pentru Linux și macOS.**
## Întrebări Frecvente
<details style="margin-bottom:12px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden"><summary style="cursor:pointer;padding:14px 18px;font-weight:600;font-size:1.05rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#1e293b">Pot face cross-compilare în Buddy?</summary><div style="padding:14px 18px;color:#475569;line-height:1.7;background:#fff"><p>Da, setează <code>GOOS</code> și <code>GOARCH</code> (ex. <code>GOOS=linux GOARCH=arm64</code>).
|||Cum activez <a href="/system-design/caching/">Caching</a> pentru module Go?
Adaugă <code>~/go/pkg/mod</code> în secțiunea <code>cache</code> a acțiunii Go.
|||Suportă Buddy Go 1.22?
Da, Buddy suportă Go 1.18, 1.19, 1.20, 1.21 și 1.22.</p>
</div></details>
*Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro.*
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro