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 och fyll i följande:

    • Application name

    =
    • : common-pipeline

    ,
    • Project

    =
    • : default

    ,
    • Revision

    =master
    • : master

    • Path: . (punkt)

    • Cluster URL

    = ,
    • DIRECTORY RECURSE

    =
    • : true

  11. Synka

  12. kör oc project piplinepiplines-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)

...

  • crc kommando kan köras med --log-level=debug om man behöver

  • VPN kan kopplas på när klustret är igång (ett måste för att komma åt gitlab.sundsvall.se)

  • I web console kan man växla mellan Developer/Administrator för att komma åt olika saker (allt finns inte i admin vyn)

  • Uppdatera denna dokumentation när fler saker flyttas till argo eller om något annat ändras.

  • Om man använder echo för att pipa till base64 använd -n flagga för att inte echo ska lägga till “\n“

  • https://github.com/siamaksade/pipelines-examples

  • Version 2.10.1 av crc verkar inte kunna köras med icke-engelskt operativ. Felmeddelande “Setup wizard ended prematurely because of an error“. Se https://github.com/code-ready/crc/issues/3386 . När man laddar ned zipen kan man editera länken till 2.9.0 istället för latest som inte har detta problem.

    Image Added