.gitlab-ci.yml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. before_script:
  2. # Setup SSH deploy keys
  3. - 'which ssh-agent || ( apt-get install -qq openssh-client )'
  4. - eval $(ssh-agent -s)
  5. - mkdir -p ~/.ssh
  6. - chmod 600 ~/.ssh
  7. - echo "$SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa
  8. - chmod 600 ~/.ssh/id_rsa
  9. - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
  10. stages:
  11. # - checks
  12. - build_release
  13. - doxy_stage
  14. #check-lint:
  15. # image: xianpengshen/clang-tools:14
  16. # stage: checks
  17. # script:
  18. # - linter_errors=$(clang-format -n ./src/* 2>&1 | grep -v --color=never "no modified files to format" || true)
  19. # - echo "$linter_errors"
  20. # - if [[ ! -z "$linter_errors" ]]; then echo "Detected formatting issues; please fix"; exit 1; else echo "Formatting is correct"; exit 0; fi
  21. build_release:
  22. stage: build_release
  23. image: python
  24. only:
  25. - main
  26. script:
  27. - ssh -t -t -p 90 $DEST_IP mkdir -p $DEST_PATH/$CI_PROJECT_NAME
  28. - scp -r -P 90 ./readme.md $DEST_IP:$DEST_PATH/$CI_PROJECT_NAME/readme.md
  29. #files for apollo
  30. - (if [ -f apollo.json ]; then scp -r -P 90 ./apollo.json $DEST_IP:$DEST_PATH/$CI_PROJECT_NAME/ ; fi);
  31. - (if [ -f changelog.md ]; then scp -r -P 90 ./changelog.md $DEST_IP:$DEST_PATH/$CI_PROJECT_NAME/ ; fi);
  32. - (if [ -f LICENSE ]; then scp -r -P 90 ./LICENSE $DEST_IP:$DEST_PATH/$CI_PROJECT_NAME/ ; fi);
  33. # automatic update project
  34. - RQ=$(curl --location --request PUT $APOLLO_API/$CI_PROJECT_NAME --header "apiKey:$APOLLO_KEY")
  35. - curl --location $APOLLO_API/$CI_PROJECT_NAME/status --header "apiKey:$APOLLO_KEY" --header Content-Type:application/json --data "$RQ"
  36. doxy_stage:
  37. stage: doxy_stage
  38. image: hrektts/doxygen
  39. only:
  40. - main
  41. script:
  42. #doxygen
  43. - doxygen Doxyfile
  44. #presun html do docs
  45. - ssh -t -t -p 90 $DEST_IP mkdir -p $DEST_PATH/$CI_PROJECT_NAME/docs
  46. - scp -r -P 90 ./html/* $DEST_IP:$DEST_PATH/$CI_PROJECT_NAME/docs