28 lines
1.0 KiB
Plaintext
28 lines
1.0 KiB
Plaintext
# Utilitza Alpine Linux com a imatge base (imatge molt lleugera)
|
|
FROM alpine:3.23.4
|
|
|
|
# Actualitza els repositoris de paquets i instal·la les eines necessàries:
|
|
# - git: Sistema de control de versions
|
|
# - openssh: Servidor SSH per a connexions remotes
|
|
# - openjdk21: Java Development Kit versió 21
|
|
# - bash: Shell interactiu (Alpine usa sh per defecte)
|
|
# --no-cache: No emmagatzema els paquets per reduir la mida de la imatge
|
|
RUN apk update && apk add --no-cache git openssh openjdk21 bash
|
|
|
|
# Genera les claus SSH del servidor (RSA, DSA, ECDSA, ED25519)
|
|
RUN ssh-keygen -A
|
|
|
|
# Crea l'usuari 'jenkins' amb:
|
|
# -D: Usuari del sistema (sense contrasenya de login)
|
|
# -h /home/jenkins: Estableix la carpeta home
|
|
# -s /bin/bash: Estableix bash com a shell per defecte
|
|
RUN adduser -D -h /home/jenkins -s /bin/bash jenkins
|
|
|
|
# Estableix la contrasenya 'jenkins' per a l'usuari jenkins
|
|
RUN echo "jenkins:jenkins" | chpasswd
|
|
|
|
# Exposa el port 22 (SSH) per a connexions remotes
|
|
EXPOSE 22
|
|
|
|
# Comando per iniciar el servidor SSH en mode detached (-D)
|
|
CMD ["/usr/sbin/sshd","-D"] |