Skip to Content
GuidesEstação de desenvolvimento

Estação de desenvolvimento

Este guia constrói uma estação GNOME Ubuntu 24.04 com conjunto conservador de ferramentas e smoke tests explícitos. Versões de linguagem e editor seguem as fontes de pacote selecionadas salvo se você fixar e revisar outra fonte.

Prompt

Create an Ubuntu 24.04 GNOME development workstation with a dark color scheme, SSH, Docker, Git, Python, Node.js, curl, jq, tmux, htop, and Neovim. Create a locked-password user named dev with sudo and Docker group intent. Do not add third-party repositories unless their HTTPS URL, signing key, release support, and license are explicit. Add tests for the desktop session, tool versions, Docker service, group membership, and one container smoke test.

Revise a receita

{ "name": "ubuntu24-development-workstation", "base_image": "ubuntu-24.04", "os": { "features": ["desktop", "ssh", "docker", "git", "python", "nodejs"], "packages": ["curl", "jq", "tmux", "htop", "neovim"], "users": [ { "username": "dev", "groups": ["sudo", "docker"], "shell": "/bin/bash" } ], "desktop_settings": { "color_scheme": "prefer-dark", "fonts": { "monospace_font": "Ubuntu Mono 13" }, "power": { "idle_delay": 600, "sleep_inactive_ac_timeout": 0, "sleep_inactive_ac_type": "nothing" } } } }

Confirme que cada feature expande no Ubuntu 24.04 como esperado. Membership no grupo docker é comumente equivalente a root porque pode controlar o daemon Docker; remova se o usuário não deve ter essa autoridade.

Versões e fontes

Não peça “latest” em estação controlada. Registre as versões de fato disponíveis do snapshot selecionado e teste essas versões. Repositório de vendor ou instalador bootstrap adiciona raiz de confiança e ciclo de update separados; use só depois de revisar chave, metadados de repositório, termos e comportamento de rollback.

Ferramentas como Rustup, gerenciadores de versão de linguagem, extensões de editor e imagens de container podem baixar código móvel depois que a imagem foi construída. Se importam para a baseline da estação, fixe-as e inclua proveniência no pacote de evidência.

Cenário de verificação

{ "id": "development-smoke", "name": "Development workstation smoke test", "enabled": true, "tests": ["boot", "login", "packages", "services"], "custom_tests": [ { "description": "Confirm core tools and Docker are usable.", "assertions": [ { "type": "command_succeeds", "description": "Python reports a version.", "params": {"command": "python3 --version"} }, { "type": "command_succeeds", "description": "Node.js reports a version.", "params": {"command": "node --version"} }, { "type": "service_running", "description": "The Docker daemon is running.", "params": {"service": "docker"} }, { "type": "user_in_group", "description": "The dev account has the reviewed Docker authority.", "params": {"username": "dev", "group": "docker"} } ] } ] }

Adicione asserção de GUI para todo editor gráfico que de fato instalar. Checagem de pacote não detecta first launch quebrado, diálogo de licença, integração de display faltando ou desktop default errado.

Por fim, teste login com enrollment aprovado ou caminho SSH-key; a receita intencionalmente não contém senha.