| @ -0,0 +1,37 @@ | |||||
| # Use Jenkins base image | |||||
| FROM jenkins/jenkins:latest | |||||
| # Switch to root user | |||||
| USER root | |||||
| # Update package lists and install necessary tools | |||||
| RUN apt-get update && \ | |||||
| apt-get install -y sudo vim curl wget | |||||
| # Set root password | |||||
| RUN echo 'root:abc123' | chpasswd | |||||
| # Add jenkins user to sudoers | |||||
| RUN echo "jenkins ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers | |||||
| # Install Docker CLI | |||||
| RUN apt-get update | |||||
| RUN apt-get install -y apt-transport-https \ | |||||
| ca-certificates \ | |||||
| curl \ | |||||
| gnupg2 \ | |||||
| software-properties-common | |||||
| RUN curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg | |||||
| RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" && apt-get update | |||||
| RUN curl -fsSL https://get.docker.com/ | sh | |||||
| # Create the Docker Group | |||||
| # RUN groupadd docker | |||||
| # Add Jenkins User to Docker Group | |||||
| RUN usermod -aG docker jenkins | |||||
| # Switch back to the Jenkins user | |||||
| USER jenkins | |||||
| @ -0,0 +1,7 @@ | |||||
| install: | |||||
| echo "Creando imagen con version '${IMG_VERSION}' en el registry '${REGISTRY}'" | |||||
| docker build --no-cache -t ${REGISTRY}/jenkins-docker:${IMG_VERSION} . | |||||
| docker push ${REGISTRY}/jenkins-docker:${IMG_VERSION} | |||||
| @ -0,0 +1,28 @@ | |||||
| #export ARQUITECTURA := $(shell lscpu |grep itectur | tr -d ' '| cut -f2 -d':') | |||||
| export REGISTRY=registry.reymota.es | |||||
| export IMG_VERSION = 1.20 | |||||
| # limpia todo | |||||
| all: imagen clean install | |||||
| imagen: | |||||
| cd Imagen/; make | |||||
| install: | |||||
| -kubectl create -f namespace.yaml | |||||
| -kubectl create -f reg-secret.yaml | |||||
| -kubectl create -f jenkins-01-serviceAccount.yaml | |||||
| -kubectl create -f jenkins-02-volume.yaml | |||||
| -envsubst < jenkins-03-deployment.yaml |kubectl create -f - | |||||
| -kubectl create -f jenkins-04-service.yaml | |||||
| -kubectl create -f jenkins-05-ingress.yaml | |||||
| clean: | |||||
| -kubectl delete -f jenkins-05-ingress.yaml | |||||
| -kubectl delete -f jenkins-04-service.yaml | |||||
| -envsubst < jenkins-03-deployment.yaml |kubectl delete -f - | |||||
| -kubectl delete -f jenkins-02-volume.yaml | |||||
| -kubectl delete -f jenkins-01-serviceAccount.yaml | |||||
| -kubectl delete -f reg-secret.yaml | |||||
| -kubectl delete -f namespace.yaml | |||||
| @ -0,0 +1,8 @@ | |||||
| apiVersion: v1 | |||||
| kind: Secret | |||||
| metadata: | |||||
| name: myregistrykey | |||||
| namespace: devops-tools | |||||
| data: | |||||
| .dockerconfigjson: ewoJImF1dGhzIjogewoJCSJyZWdpc3RyeS5yZXltb3RhLmVzIjogewoJCQkiYXV0aCI6ICJZM0psZVd4dmNHVjZPbEpsZVMweE1UYzIiCgkJfQoJfQp9 | |||||
| type: kubernetes.io/dockerconfigjson | |||||