Utviklingsarbeidsstasjon
Denne guiden bygger en Ubuntu 24.04 GNOME-arbeidsstasjon med et konservativt verktøysett og eksplisitte smoke tests. Språk- og editorversjoner følger valgte pakkekilder med mindre du pinner og gjennomgår en annen kilde.
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.Gjennomgå oppskriften
{
"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"
}
}
}
}Bekreft at hver feature utvider seg på Ubuntu 24.04 som forventet. Medlemskap i gruppen docker er ofte root-ekvivalent fordi det kan styre Docker-daemonen; fjern det hvis brukeren ikke skal ha den autoriteten.
Versjoner og kilder
Be ikke om «latest» på en kontrollert arbeidsstasjon. Noter versjonene som faktisk finnes i valgt snapshot og test disse versjonene. Et vendor-repository eller bootstrap-installer legger til en separat trust root og oppdateringslivssyklus; bruk det først etter gjennomgang av nøkkel, repository-metadata, vilkår og rollback-atferd.
Verktøy som Rustup, språkversjonsmanagere, editorutvidelser og containerimages kan laste ned bevegelig kode etter at imaget er bygget. Hvis de betyr noe for arbeidsstasjonens baseline, pin dem og ta med proveniens i evidence packet.
Verifikasjonsscenario
{
"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"}
}
]
}
]
}Legg til en GUI-assertion for hver grafisk editor du faktisk installerer. En pakkesjekk oppdager ikke ødelagt første oppstart, lisensdialog, manglende displayintegrasjon eller feil standarddesktop.
Test til slutt innlogging med godkjent enrollment- eller SSH-nøkkelsti; oppskriften inneholder bevisst ikke noe passord.