Browse Source

Cambios para que funcione en OKD

Celestino Rey 10 tháng trước cách đây
mục cha
commit
df783b9cc0
10 tập tin đã thay đổi với 178 bổ sung12 xóa
  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