Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Beskrivning för att köra pipline lokalt i väntat på tillgång till rätta klustret. Ej testat med tjänst som använder test-containers.

Kör lokalt cluster

  1. Installera openshift local : https://developers.redhat.com/products/openshift-local/overview

  2. Via tray icon -> configuration öka CPU till 6 och Memory till 12 GB

  3. Via powershell kör crc setup sedan crc start

  4. I git bash: eval $(crc oc-env) sen oc login -u kubeadmin --insecure-skip-tls-verify=true https://api.crc.testing:6443 (om man inte föredrar powershell)

  5. logga via UI (som kubeadmin) navigera till Operator hub och installera "Red Hat OpenShift Pipelines" samt "Red Hat OpenShift GitOps"

  6. kör oc adm policy add-cluster-role-to-user cluster-admin system:serviceaccount:openshift-gitops:openshift-gitops-argocd-application-controller för att ge argo rättighet att skapa clusterTask

  7. Navigera till Networking -> Routes -> openshift-gitops-server -> Location för att logga in i ArgoCD. Lösenord för admin kan hämtat via project "openshift-gitops" navigera till Secrets -> "openshift-gitops-cluster"

  8. I Argo, gå till setting -> Certificates och lägg till knownn hosts gitlab.sundsvall.se för ssh-rsa och ecdsa-sha2-nistp256 (kan hämtas med hjälp av ssh-keyscan gitlab.sundsvall.se i git-bash)

  9. I Argo, gå till settings -> Repositories -> "CONNECT REPO USING SSH" : Project=default, Repo-URL=git@gitlab.sundsvall.se:argocd/common-pipeline.git, samt lägg till ssh-nyckel för gitlab

  10. När "CONNECTION STATUS" = Successful, klicka på ... -> Create application : Application name=common-pipeline, Project=default, Revision=master Cluster URL = https://kubernetes.default.svc, DIRECTORY RECURSE = true

  11. Synka

  12. kör oc project pipline-utvecklingsfabriken (detta kommer göras via argo senare steg 11-14)

  13. kör oc create secret generic settings-mvn --from-file=settings.xml=<path/to/settings.xml>

  14. skapa två filer secret.yaml och serviceaccount.yaml i valfri katalog
    secret.yaml:

    Code Block
    apiVersion: v1
    kind: Secret
    metadata:
      name: git-ssh-key
      annotations:
        tekton.dev/git-0: github.com
    type: kubernetes.io/ssh-auth
    data:
      ssh-privatekey: <ssh-key to github in base64>
      known_hosts: <known host to github in base64>

    serviceaccount.yaml:

    Code Block
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: pipeline
    secrets:
      - name: git-ssh-key
      - name: settings-mvn
  15. kör oc apply -f secret.yaml,serviceaccount.yaml

  16. I web console, skapa en PVC för tänkt repo: Storage -> PersistentVolumeClaims -> Create PersistentVolumeClaim, namn är valfritt, typ "pvc-<repo-name>" funkar, 10 GB (detta kommer göras via argo per tjänst senare)

...