.drone.yml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. kind: pipeline
  2. type: docker
  3. name: default
  4. steps:
  5. # 第一步,npm安装依赖并构建
  6. - name: npm
  7. image: node:18-alpine
  8. commands:
  9. - npm config set strict-ssl false
  10. - npm config set registry https://registry.npm.taobao.org/
  11. - npm install
  12. - CI=false npm run build
  13. # 第二步,上传镜像到阿里云容器镜像服务
  14. - name: docker
  15. image: plugins/docker
  16. settings:
  17. username:
  18. from_secret: docker-username
  19. password:
  20. from_secret: docker-password
  21. registry: registry.cn-hangzhou.aliyuncs.com
  22. repo: registry.cn-hangzhou.aliyuncs.com/english-ai/eai-frontend
  23. # 第三部,部署,通过ssh进行部署
  24. - name: deploy-with-ssh
  25. image: appleboy/drone-ssh
  26. environment:
  27. CONTAINER_NAME: eai-frontend
  28. DOCKER_USERNAME:
  29. from_secret: docker-username
  30. DOCKER_PASSWORD:
  31. from_secret: docker-password
  32. DOCKER_REGISTRY: registry.cn-hangzhou.aliyuncs.com
  33. IMAGE_NAME: english-ai/eai-frontend
  34. IMAGE_TAG: latest
  35. settings:
  36. host: 47.111.23.171
  37. username: root
  38. password:
  39. from_secret: server-password
  40. port: 22
  41. envs: [ DOCKER_USERNAME,DOCKER_PASSWORD,DOCKER_REGISTRY,CONTAINER_NAME,IMAGE_NAME,IMAGE_TAG ]
  42. script:
  43. - echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password-stdin $DOCKER_REGISTRY
  44. - tag=$DOCKER_REGISTRY/$IMAGE_NAME:$IMAGE_TAG
  45. - docker pull $tag
  46. - if [ $(docker ps -aq -f name=eai-frontend) ]; then docker rm -f eai-frontend; fi
  47. - docker run -d -p 8083:80 -v $(pwd)/logs/frontend:/var/log/nginx --name eai-frontend registry.cn-hangzhou.aliyuncs.com/english-ai/eai-frontend