dev.yml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. k8s:
  26. runs-on: ubuntu-latest
  27. needs: build
  28. steps:
  29. - uses: actions/checkout@v2
  30. - name: Setup Node.js
  31. uses: actions/setup-node@v1
  32. with:
  33. node-version: 12
  34. - name: Install OpenVPN and kubectl
  35. run: |
  36. sudo apt-get update
  37. sudo apt-get install openvpn -y
  38. sudo apt-get install -y apt-transport-https ca-certificates curl
  39. sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
  40. 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
  41. sudo apt-get update
  42. sudo apt-get install kubectl -y
  43. - name: Connect VPN
  44. uses: golfzaptw/action-connect-ovpn@master
  45. id: connect_vpn
  46. with:
  47. FILE_OVPN: '.github/workflows/client.ovpn'
  48. env:
  49. CA_CRT: ${{ secrets.VPN_CA}}
  50. USER_CRT: ${{ secrets.VPN_CRT }}
  51. USER_KEY: ${{ secrets.VPN_KEY }}
  52. - name: Deploy to cluster
  53. run: |
  54. echo ${{ secrets.kubeconfig }} > config64
  55. base64 -d config64 > kubeconfig
  56. kubectl delete pods -n ued -l app=milvus-insight --kubeconfig=kubeconfig
  57. sleep 60
  58. check:
  59. runs-on: ubuntu-latest
  60. needs: [build, k8s]
  61. steps:
  62. - uses: actions/checkout@v2
  63. - name: Setup Node.js
  64. uses: actions/setup-node@v1
  65. with:
  66. node-version: 12
  67. - name: Check insight status
  68. env:
  69. INSIGHT_URL: ${{ secrets.INSIGHT_URL }}
  70. run: |
  71. yarn add axios
  72. yarn add @actions/core
  73. node checkInsight.js