check.yml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. name: Milvus insight check insight status
  2. on:
  3. push:
  4. branches: [feat/check-insight]
  5. jobs:
  6. build:
  7. runs-on: ubuntu-latest
  8. if: github.event.pull_request.merged == true
  9. steps:
  10. - uses: actions/checkout@v2
  11. - name: Setup Node.js
  12. uses: actions/setup-node@v1
  13. with:
  14. node-version: 12
  15. - name: Login to DockerHub
  16. uses: docker/login-action@v1
  17. with:
  18. username: ${{ secrets.DOCKER_USERNAME }}
  19. password: ${{ secrets.DOCKER_PWD }}
  20. - name: Docker Build
  21. run: docker build -t milvusdb/milvus-insight:dev --build-arg VERSION=dev .
  22. - name: Docker Push Dev
  23. run: docker push milvusdb/milvus-insight:dev
  24. kbs:
  25. runs-on: ubuntu-latest
  26. need: build
  27. steps:
  28. - name: Install OpenVPN and kubectl
  29. run: |
  30. sudo apt-get update
  31. sudo apt-get install openvpn -y
  32. sudo apt-get install -y apt-transport-https ca-certificates curl
  33. sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
  34. echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
  35. sudo apt-get update
  36. sudo apt-get install kubectl -y
  37. - name: Connect VPN
  38. uses: golfzaptw/action-connect-ovpn@master
  39. id: connect_vpn
  40. with:
  41. FILE_OVPN: '.github/workflows/client.ovpn'
  42. env:
  43. CA_CRT: ${{ secrets.VPN_CA}}
  44. USER_CRT: ${{ secrets.VPN_CRT }}
  45. USER_KEY: ${{ secrets.VPN_KEY }}
  46. - name: Deploy to cluster
  47. run: |
  48. echo ${{ secrets.kubeconfig }} > config64
  49. base64 -d config64 > kubeconfig
  50. kubectl set image deployment/milvus-insight milvus-insight=milvusdb/milvus-insight:dev:${{ github.sha }} -n ued --kubeconfig=kubeconfig
  51. kubectl -n ued rollout status deploy milvus-insight
  52. sleep 60
  53. check:
  54. runs-on: ubuntu-latest
  55. need: [build, kbs]
  56. steps:
  57. - name: Check insight status
  58. run: |
  59. yarn add axios
  60. node checkInsight.js