WARNING: Jenkins X version 2.x is unmaintained. Do not use it.
Please refer to the v3 documentation for the latest supported version.
Construcción Personalizada
En Jenkins X, es posible crear sus Constructores personalizados (también conocidos como POD templates) o sobrescribir las existentes. Solo necesita basar su imagen de Docker en esta imagen base de construcción. Estas imágenes contienen una serie de herramientas pre-instaladas que se actualizan y publican constantemente en Docker Hub.
Crear un Constructor personalizado desde cero
Imagen Constructora
Primero debes crear una imagen de Docker para tu constructor. Por ejemplo, el ficheor Dockerfile
inicial puede verse así:
FROM jenkinsxio/builder-base:latest
# Install your tools and libraries
RUN yum install -y gcc openssl-devel
CMD ["gcc"]
Ahora puede construir la imagen y publicarla en su repositorio:
export BUILDER_IMAGE=<YOUR_REGISTRY>/<YOUR_BUILDER_IMAGE>:<VERSION>
docker build -t ${BUILDER_IMAGE} .
docker push ${BUILDER_IMAGE}
No se preocupe, no es necesario que ejecute estos pasos manualmente cada vez que necesite construir una nueva imagen. Jenkins X puede manejar esto por ti. Solo necesita insertar su ficheor Dockerfile
en un repositorio similar a este. Ajuste el fichero Jenkinsfile
de acuerdo con el nombre de su organización y aplicación, y luego importe el repositorio en su plataforma Jenkins X con:
jx import --url <REPOSITORY_URL>
De ahora en adelante, cada vez que agregue una modificación Jenkins X va a construir y publicar automáticamente esta imagen.
Instalar el Constructor
Puede instalar su constructor tanto al inicio de la instalación de Jenkins X como durante la actualización.
Crea el fichero myvalues.yaml
en su carpeta local ~/.jx/
con el siguiente contenido:
jenkins:
Agent:
PodTemplates:
MyBuilder:
Name: mybuilder
Label: jenkins-mybuilder
volumes:
- type: Secret
secretName: jenkins-docker-cfg
mountPath: /home/jenkins/.docker
EnvVars:
JENKINS_URL: http://jenkins:8080
GIT_COMMITTER_EMAIL: jenkins-x@googlegroups.com
GIT_AUTHOR_EMAIL: jenkins-x@googlegroups.com
GIT_AUTHOR_NAME: jenkins-x-bot
GIT_COMMITTER_NAME: jenkins-x-bot
XDG_CONFIG_HOME: /home/jenkins
DOCKER_CONFIG: /home/jenkins/.docker/
ServiceAccount: jenkins
Containers:
Jnlp:
Image: jenkinsci/jnlp-slave:3.14-1
RequestCpu: "100m"
RequestMemory: "128Mi"
Args: '${computer.jnlpmac} ${computer.name}'
Dlang:
Image: <YOUR_BUILDER_IMAGE>
Privileged: true
RequestCpu: "400m"
RequestMemory: "512Mi"
LimitCpu: "1"
LimitMemory: "1024Mi"
Command: "/bin/sh -c"
Args: "cat"
Tty: true
Modifique el nombre del constructor y su imagen correspondiente.
Ahora puede continuar con la instalación de Jenkins X, el generador se agregará automáticamente a la plataforma.
Utilizar el Constructor
Ahora que su constructor/generador a sido instalado en Jenkins, puede hacer referencia a él en el fichero Jenkinsfile
:
pipeline {
agent {
label "jenkins-mybuilder"
}
stages {
stage('Build') {
when {
branch 'master'
}
steps {
container('mybuilder') {
// your steps
}
}
}
}
post {
always {
cleanWs()
}
}
}
Sobreescribir el Constructor existente
Jenkins X viene con una serie de constructores pre-instalados que puede sobrescribir si es necesario durante la instalación o actualización.
Solo necesita crear su imagen personalizada ya sea en base a la imagen del generador o la imagen del generador que desea sobrescribir. Ver más detalles arriba.
Luego puede crear el fichero myvalues.yaml
en su carpeta local ~/.jx/
con el siguiente contenido:
jenkins:
Agent:
PodTemplates:
Maven:
Containers:
Maven:
Image: <YOUR_REGISTRY>/<YOUR_MAVEN_BUILDER_IMAGE>:<VERSION>
Nodejs:
Containers:
Nodejs:
Image: <YOUR_REGISTRY>/<YOUR_NODEJS_BUILDER_IMAGE>:<VERSION>
Go:
Containers:
Go:
Image: <YOUR_REGISTRY>/<YOUR_GO_BUILDER_IMAGE>:<VERSION>
Ahora puede continuar con la instalación de Jenkins X, el generador se agregará automáticamente a la plataforma.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.