Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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:

    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:

    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)

Test kör pipeline i web console

Detta kommer senare göras med triggers.

  1. Navigera till piplenes -> base-pipeline -> Action -> start :
    git-url = git@github.com:Sundsvallskommun/<service repos>.git
    source-workspace=<pvc skapad tidigare>
    maven-settings=Secrect->settings-mvn

  2. Start

Tips

  • 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

  • No labels