Dies ist eine alte Version des Dokuments!
LU12a - Jenkins Secrets
Anstatt Secrets direkt in die Jenkinsfile-Datei zu schreiben, wo es für alle mit Lesezugriff auf das Code-Repository lesbar wäre, können auf Jenkins „secrets“ hinterlegt werden.
TODO: Tabelle Arten von Secrets
| Unsicher ❌ | Sicher ✔️ |
|---|---|
environment { DB_PASSWORD = "apppassword" DB_NAME = "appdb" } ... steps { sh """ docker build -t $BACKEND_CONTAINER backend/ docker stop $BACKEND_CONTAINER || true docker rm $BACKEND_CONTAINER || true docker run -d \ --name $BACKEND_CONTAINER \ --restart unless-stopped \ --network infra-net \ -e DATABASE_URL="postgresql://$DB_USER:$DB_PASSWORD@$DB_CONTAINER:5432/$DB_NAME" \ $BACKEND_CONTAINER """ } | def withDbCredentials(body) { withCredentials([ usernamePassword( credentialsId: 'postgres-creds', usernameVariable: 'DB_USER', passwordVariable: 'DB_PASSWORD' ) ]) { body() } } ... steps { withDbCredentials { sh """ docker build -t $BACKEND_CONTAINER backend/ docker stop $BACKEND_CONTAINER || true docker rm $BACKEND_CONTAINER || true docker run -d \ --name $BACKEND_CONTAINER \ --restart unless-stopped \ --network infra-net \ -e DATABASE_URL="postgresql://$DB_USER:$DB_PASSWORD@$DB_CONTAINER:5432/$DB_NAME" \ $BACKEND_CONTAINER """ } } |
- Aktueller Stand
- .env-Files
- Secrets in Github
- Secrets in Jenkins
- Sonar-Token
- Webhook?
TODO