🎉 Bem-vindo! Sinfonia é uma plataforma completa de orquestração de robôs, solicite já seu acesso.
Binary (exe/elf)

Binary (exe/elf)

Esta seção descreve como preparar e realizar o deploy de um executável escrito em GO no orquestrador. Para que a publicação seja bem-sucedida, os seguintes arquivos devem estar presentes:

Warning

o arquivo main.exe gerado após o processo de build deve ser compactado para publicação.

Exemplo de Script

Configuração de pastas

mkdir go-api-request
cd go-api-request

Inicializar módulo

go mod init go-api-request

Código de exemplo

Agora vamos fazer uma simples automação que realiza requisições de API.

// main.go
package main

import (
	"encoding/json"
	"fmt"
	"log"
	"net/http"
)

type Post struct {
	UserID int    `json:"userId"`
	ID     int    `json:"id"`
	Title  string `json:"title"`
	Body   string `json:"body"`
}

func main() {
	// URL da API
	url := "https://jsonplaceholder.typicode.com/posts"

	// Realiza a requisição GET para a API
	resp, err := http.Get(url)
	if err != nil {
		log.Fatalf("Erro ao fazer a requisição: %v", err)
	}
	defer resp.Body.Close()

	// Verifica o status da resposta
	if resp.StatusCode != http.StatusOK {
		log.Fatalf("Erro: Status code %d", resp.StatusCode)
	}

	// Decodifica o JSON da resposta
	var posts []Post
	if err := json.NewDecoder(resp.Body).Decode(&posts); err != nil {
		log.Fatalf("Erro ao decodificar a resposta JSON: %v", err)
	}

	// Exibe os dados no terminal
	fmt.Println("Posts recebidos da API:")
	for _, post := range posts {
		fmt.Printf("ID: %d\n", post.ID)
		fmt.Printf("Título: %s\n", post.Title)
		fmt.Printf("Corpo: %s\n", post.Body)
		fmt.Println("--------------")
	}
}

Executando o script

# atualiza dependências
go mod tidy
# executa script
go run main.go

Build do executável

Agora é necessário compilar o projeto conforme arquitetura deseja para realizar o deploy do executável.

Note

Utilize WSL/Linux para rodar os comandos de build.

Windows

GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o main.exe main.go

Linux

@GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o main cmd/*.go

Publicação

Siga as instruções na seção Publicar Bot para publicar seu projeto no formato .zip.

Última modificação em