|
|
11 달 전 | |
|---|---|---|
| README.md | 11 달 전 | |
| creaCredencialesRegistry.sh | 11 달 전 | |
| jenkins.yaml | 11 달 전 | |
| kubeconfig-imac | 11 달 전 | |
| namespace.yaml | 11 달 전 | |
| pvc-jenkins.yaml | 11 달 전 |
Las ideas han salido de este Vídeo.
helm repo list
el resultado en mi equipo es
NAME URL
rancher-latest https://releases.rancher.com/server-charts/latest
jetstack https://charts.jetstack.io
longhorn https://charts.longhorn.io
relacionado todo con la instalación de Rancher.
helm repo add jenkinsci https://charts.jenkins.io
helm repo update
helm search repo jenkins
resultado:
NAME CHART VERSION APP VERSION DESCRIPTION
jenkinsci/jenkins 5.8.83 2.516.2 Jenkins - Build great things at any scale! As t...
helm show values jenkinsci/jenkins > ./jenkins.yaml
| sección | campo | valor |
|---|---|---|
| admin: | username: | "admin" |
| admin: | password: | "una-password" |
| serviceType: | NodePort | |
| nodePort: | 32000 | |
| installLatestPlugins: | true | |
| installLatestSpecifiedPlugins: | true | |
| persistence: | enabled: | true |
| persistence: | existingClaim: | pvc-jenkins |
Para buscar la última versión de los plugins ir a Jenkins Plugins
En la sección
installPlugins:
añadir
- blueocean:1.27.21
- ansicolor:1.0.6
## Instalar Jenkins
helm install jenkins jenkinsci/jenkins --values ./jenkins.yaml -n jenkins
En el directorio raíz del proyecto tiene que haber un fichero llamado Jenkinsfile que contiene la descripción de lo que hay que hacer.
En el proyecto de prueba, el fichero es este
pipeline {
options {
ansiColor('xterm')
}
agent {
kubernetes {
yamlFile 'builder.yaml'
}
}
stages {
stage('Kaniko Build & Push Image') {
steps {
container('kaniko') {
script {
sh '''
/kaniko/executor --dockerfile `pwd`/Dockerfile \
--context `pwd` \
--destination=registry.reymota.es/myweb:${BUILD_NUMBER}
'''
}
}
}
}
stage('Deploy App to Kubernetes') {
steps {
container('kubectl') {
withCredentials([file(credentialsId: 'kubeconfig-imac', variable: 'KUBECONFIG')]) {
sh 'sed -i "s/<TAG>/${BUILD_NUMBER}/" myweb.yaml'
sh 'kubectl apply -f myweb.yaml'
}
}
}
}
}
}
el comando para crear el secreto es
kubectl create secret docker-registry regcred --docker-server=registry.reymota.es --docker-username=creylopez --docker-password=<Cambiame> --docker-email=creylopez@yahoo.es --namespace jenkins
Las credenciales del cluster hay que añadirlas a través del interfaz de Jenkins, en el apartado Administrar Jenkins->Credenciales.
Hay que añadir una credencial de tipo Secret file y subir nuestro fichero de configuación. En el id hay qu eponer exactamente el nombre que tenemos en el fichero Jenkinsfile.