dev.yml 2.2 KB

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