Browse Source

Cambios para que funcione en OKD

Celestino Rey 10 months ago
parent
commit
df783b9cc0
10 changed files with 178 additions and 12 deletions
  1. 3 3
      README.md
  2. 1 0
      creaCredecialesRegistry.sh
  3. 82 0
      jcasc-default-config.yaml
  4. 1 1
      namespace.yaml
  5. 1 1
      pvc-jenkins.yaml
  6. 2 2
      reset.sh
  7. 2 2
      serviceAccount.yaml
  8. 83 0
      values.yaml
  9. 1 1
      verAdminPass.sh
  10. 2 2
      verUrl.sh

+ 3 - 3
README.md

@@ -4,7 +4,7 @@
 
 ## Crear proyeto (namespace)
 
-    oc create project devops-tools
+    oc create project jenkins
 
 ## Configurar repositorio de jenkins
 
@@ -40,7 +40,7 @@ si aun así no funciona, probar también con default
 
 ## Instalar jenkins
 
-    helm install jenkins -n devops-tools -f ./values.yaml jenkinsci/jenkins
+    helm install jenkins -n jenkins -f ./values.yaml jenkinsci/jenkins
 
 
 ## Ver contraseña de jenkins
@@ -49,4 +49,4 @@ si aun así no funciona, probar también con default
 
 ## Desinstalar jenkins
 
-    helm -n devops-tools uninstall jenkins
+    helm -n jenkins uninstall jenkins

+ 1 - 0
creaCredecialesRegistry.sh

@@ -0,0 +1 @@
+oc create secret docker-registry regcred --docker-server=registry.reymota.es --docker-username=creylopez --docker-password=Rey-1176 --docker-email=creylopez@yahoo.es --namespace jenkins

+ 82 - 0
jcasc-default-config.yaml

@@ -0,0 +1,82 @@
+jenkins:
+  authorizationStrategy:
+    loggedInUsersCanDoAnything:
+      allowAnonymousRead: false
+  securityRealm:
+    local:
+      allowsSignup: false
+      enableCaptcha: false
+      users:
+      - id: "${chart-admin-username}"
+        name: "Jenkins Admin"
+        password: "${chart-admin-password}"
+  disableRememberMe: false
+  mode: NORMAL
+  numExecutors: 0
+  labelString: ""
+  projectNamingStrategy: "standard"
+  markupFormatter:
+    plainText
+  clouds:
+  - kubernetes:
+      containerCapStr: "10"
+      defaultsProviderTemplate: ""
+      connectTimeout: "5"
+      readTimeout: "15"
+      jenkinsUrl: "https://jenkins.reymota.es"
+      jenkinsTunnel: "jenkins-agent.jenkins.svc.cluster.local:50000"
+      skipTlsVerify: false
+      usageRestricted: false
+      maxRequestsPerHostStr: "32"
+      retentionTimeout: "5"
+      waitForPodSec: "600"
+      name: "kubernetes"
+      namespace: "jenkins"
+      restrictedPssSecurityContext: false
+      serverUrl: "https://kubernetes.default"
+      credentialsId: ""
+      podLabels:
+      - key: "jenkins/jenkins-jenkins-agent"
+        value: "true"
+      templates:
+        - name: "default"
+          namespace: "jenkins"
+          id: a7b3d337a1a5bdf979d1e41254fb3fb5f39fafa562d14c62a50cc6f0b9f9ef6d
+          containers:
+          - name: "jnlp"
+            alwaysPullImage: false
+            args: "^${computer.jnlpmac} ^${computer.name}"
+            envVars:
+              - envVar:
+                  key: "JENKINS_URL"
+                  value: https://jenkins.reymota.es
+            image: "jenkins/inbound-agent:3327.v868139a_d00e0-6"
+            privileged: "false"
+            resourceLimitCpu: 512m
+            resourceLimitMemory: 512Mi
+            resourceRequestCpu: 512m
+            resourceRequestMemory: 512Mi
+            ttyEnabled: false
+            workingDir: /home/jenkins/agent
+          idleMinutes: 0
+          instanceCap: 2147483647
+          label: "jenkins-jenkins-agent "
+          nodeUsageMode: "NORMAL"
+          podRetention: Never
+          showRawYaml: true
+          serviceAccount: "default"
+          slaveConnectTimeoutStr: "100"
+          yamlMergeStrategy: override
+          inheritYamlMergeStrategy: false
+  slaveAgentPort: 50000
+  crumbIssuer:
+    standard:
+      excludeClientIPFromCrumb: true
+security:
+  apiToken:
+    creationOfLegacyTokenEnabled: false
+    tokenGenerationOnCreationEnabled: false
+    usageStatisticsEnabled: true
+unclassified:
+  location:
+    url: http://jenkins:8080

+ 1 - 1
namespace.yaml

@@ -1,4 +1,4 @@
 apiVersion: v1
 kind: Namespace
 metadata:
-  name: devops-tools
+  name: jenkins

+ 1 - 1
pvc-jenkins.yaml

@@ -2,7 +2,7 @@ apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
   name: jenkins-pv-claim
-  namespace: devops-tools
+  namespace: jenkins
 spec:
   storageClassName: longhorn
   accessModes:

+ 2 - 2
reset.sh

@@ -1,6 +1,6 @@
-helm -n devops-tools uninstall jenkins
+helm -n jenkins uninstall jenkins
 oc delete -f pvc-jenkins.yaml 
 oc create -f pvc-jenkins.yaml 
-helm install jenkins -n devops-tools -f ./values.yaml jenkinsci/jenkins
+helm install jenkins -n jenkins -f ./values.yaml jenkinsci/jenkins
 watch oc get all,pvc
 

+ 2 - 2
serviceAccount.yaml

@@ -13,7 +13,7 @@ apiVersion: v1
 kind: ServiceAccount
 metadata:
   name: jenkins-admin
-  namespace: devops-tools
+  namespace: jenkins
 
 ---
 apiVersion: rbac.authorization.k8s.io/v1
@@ -27,4 +27,4 @@ roleRef:
 subjects:
 - kind: ServiceAccount
   name: jenkins-admin
-  namespace: devops-tools
+  namespace: jenkins

+ 83 - 0
values.yaml

@@ -413,6 +413,7 @@ controller:
     - git:5.7.0
     - configuration-as-code:1995.v540b_50a_eb_0c1
     - job-dsl:1.93
+    - ansicolor:1.0.6
 
   # If set to false, Jenkins will download the minimum required version of all dependencies.
   # -- Download the minimum required version or latest version of all dependencies
@@ -531,6 +532,88 @@ controller:
             url: http://jenkins-okd.reymota.es
             adminAddress: "celestino.rey@gmail.com"
 
+      autorizacion: |
+        jenkins:
+          authorizationStrategy:
+            loggedInUsersCanDoAnything:
+              allowAnonymousRead: false
+          securityRealm:
+            local:
+              allowsSignup: false
+              enableCaptcha: false
+              users:
+              - id: "${chart-admin-username}"
+                name: "Jenkins Admin"
+                password: "${chart-admin-password}"
+          disableRememberMe: false
+          mode: NORMAL
+          numExecutors: 0
+          labelString: ""
+          projectNamingStrategy: "standard"
+          markupFormatter:
+            plainText
+
+      seguridad: |
+        security:
+          apiToken:
+            creationOfLegacyTokenEnabled: false
+            tokenGenerationOnCreationEnabled: false
+            usageStatisticsEnabled: true
+
+      cloud: |
+        jenkins:
+          clouds:
+          - kubernetes:
+              containerCapStr: "10"
+              defaultsProviderTemplate: ""
+              connectTimeout: "5"
+              readTimeout: "15"
+              jenkinsUrl: "https://jenkins-okd.reymota.es"
+              jenkinsTunnel: "jenkins-agent.jenkins.svc.cluster.local:50000"
+              skipTlsVerify: false
+              usageRestricted: false
+              maxRequestsPerHostStr: "32"
+              retentionTimeout: "5"
+              waitForPodSec: "600"
+              name: "kubernetes"
+              namespace: "jenkins"
+              restrictedPssSecurityContext: false
+              serverUrl: "https://kubernetes.default"
+              credentialsId: ""
+              podLabels:
+              - key: "jenkins/jenkins-jenkins-agent"
+                value: "true"
+              templates:
+                - name: "default"
+                  namespace: "jenkins"
+                  id: a7b3d337a1a5bdf979d1e41254fb3fb5f39fafa562d14c62a50cc6f0b9f9ef6d
+                  containers:
+                  - name: "jnlp"
+                    alwaysPullImage: false
+                    args: "^${computer.jnlpmac} ^${computer.name}"
+                    envVars:
+                      - envVar:
+                          key: "JENKINS_URL"
+                          value: https://jenkins-okd.reymota.es
+                    image: "jenkins/inbound-agent:3327.v868139a_d00e0-6"
+                    privileged: "false"
+                    resourceLimitCpu: 512m
+                    resourceLimitMemory: 512Mi
+                    resourceRequestCpu: 512m
+                    resourceRequestMemory: 512Mi
+                    ttyEnabled: false
+                    workingDir: /home/jenkins/agent
+                  idleMinutes: 0
+                  instanceCap: 2147483647
+                  label: "jenkins-jenkins-agent "
+                  nodeUsageMode: "NORMAL"
+                  podRetention: Never
+                  showRawYaml: true
+                  serviceAccount: "default"
+                  slaveConnectTimeoutStr: "100"
+                  yamlMergeStrategy: override
+                  inheritYamlMergeStrategy: false
+
 
     # Allows adding to the top-level security JCasC section. For legacy purposes, by default, the chart includes apiToken configurations
     # -- Jenkins Config as Code security-section

+ 1 - 1
verAdminPass.sh

@@ -1,3 +1,3 @@
 jsonpath="{.data.jenkins-admin-password}"
-secret=$(kubectl get secret -n devops-tools jenkins -o jsonpath=$jsonpath)
+secret=$(kubectl get secret -n jenkins jenkins -o jsonpath=$jsonpath)
 echo $(echo $secret | base64 --decode)

+ 2 - 2
verUrl.sh

@@ -1,5 +1,5 @@
 jsonpath="{.spec.ports[0].nodePort}"
-NODE_PORT=$(kubectl get -n devops-tools -o jsonpath=$jsonpath services jenkins)
+NODE_PORT=$(kubectl get -n jenkins -o jsonpath=$jsonpath services jenkins)
 jsonpath="{.items[0].status.addresses[0].address}"
-NODE_IP=$(kubectl get nodes -n devops-tools -o jsonpath=$jsonpath)
+NODE_IP=$(kubectl get nodes -n jenkins -o jsonpath=$jsonpath)
 echo http://$NODE_IP:$NODE_PORT/login