.gitlab-ci.yml 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. build_branch:
  2. cache: {}
  3. image: docker.infra.flowdat.com/fd3/sf-php:latest
  4. variables:
  5. GIT_STRATEGY: clone
  6. script:
  7. - ssh-keyscan -p 222 -t rsa gogs.infra.flowdat.com >> ~/.ssh/known_hosts
  8. - git fetch --tags
  9. - if git ls-remote --exit-code gogs &>/dev/null; then echo 'Existe el remote gogs' ; else git remote add gogs ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/Stats.git ; fi
  10. - git checkout $CI_COMMIT_REF_NAME
  11. - chmod 0600 keys/* && eval $(ssh-agent); ssh-add keys/gogs.drone.id_rsa && git push -u gogs $CI_COMMIT_REF_NAME --tags
  12. only:
  13. - pushes
  14. - branches
  15. image: docker:stable
  16. variables:
  17. CONTAINER_IMAGE: docker.infra.flowdat.com/fd3/stats
  18. DOCKER_USER: drone
  19. DOCKER_PWD: 6hd2dLfL
  20. AMQP_KEY: ""
  21. MYSQL_ROOT_PASSWORD: ""
  22. MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
  23. OAUTH_CLIENT_ID: ""
  24. OAUTH_CLIENT_SECRET: ""
  25. CLIENT: fd3
  26. DOMAIN: flowdat.com
  27. MODULES_INSTALL: "base,ftth,etc"
  28. HOST_BASE: base.test.fd3.flowdat.com
  29. HOST_CABLEMODEM: cablemodem.test.fd3.flowdat.com
  30. HOST_DHCP: dhcp.test.fd3.flowdat.com
  31. HOST_FTTH: ftth.test.fd3.flowdat.com
  32. HOST_RADIUS: radius.test.fd3.flowdat.com
  33. HOST_STATS: stats.test.fd3.flowdat.com
  34. HOST_DUMMY: "http://www.flowdat.com/"
  35. services:
  36. - name: docker.infra.flowdat.com/fd3/mysql:5.5
  37. alias: mysql
  38. - name: docker.infra.flowdat.com/fd3/rabbitmq:3-management
  39. alias: amqp
  40. docker:
  41. stage: build
  42. script:
  43. - docker info
  44. - docker login -u $DOCKER_USER -p $DOCKER_PWD docker.infra.flowdat.com
  45. - docker pull $CONTAINER_IMAGE:latest || true
  46. - docker build --no-cache --tag $CONTAINER_IMAGE:latest .
  47. - docker push $CONTAINER_IMAGE:latest
  48. only:
  49. refs:
  50. - pushes
  51. variables:
  52. - $CI_COMMIT_REF_NAME == "master"
  53. docker_version_tag:
  54. stage: build
  55. script:
  56. - docker info
  57. - docker login -u $DOCKER_USER -p $DOCKER_PWD docker.infra.flowdat.com
  58. - docker pull $CONTAINER_IMAGE:latest || true
  59. - docker build --no-cache --tag $CONTAINER_IMAGE:${CI_COMMIT_TAG} .
  60. - docker push $CONTAINER_IMAGE:${CI_COMMIT_TAG}
  61. only:
  62. refs:
  63. - tags
  64. variables:
  65. - $CI_COMMIT_TAG =~ /^v[0-9]+(.[0-9]+)*/
  66. build:
  67. image: docker.infra.flowdat.com/fd3/sf-php:latest
  68. script:
  69. - command -v mysqladmin >/dev/null 2>&1 || { echo "I require mysqladmin but it's not installed. Aborting." >&2; exit 1; }
  70. - while ! mysqladmin ping -h mysql --silent; do :; done
  71. - echo "yes" | mysqladmin -h mysql create fd3_stats
  72. - echo "yes" | mysqladmin -h mysql create fd_session
  73. - echo 'client = Flowdat3-Stats-Drone-Test' | tee /etc/flowdat.conf
  74. - echo 'date.timezone="America/Argentina/Buenos_Aires"' >> /etc/php/7.0/cli/php.ini
  75. - ssh-keyscan -p 222 -t rsa gogs.infra.flowdat.com >> ~/.ssh/known_hosts
  76. - chmod 0400 keys/bitbucket.id_rsa; eval $(ssh-agent); ssh-add keys/bitbucket.id_rsa
  77. - composer install --no-interaction --no-progress
  78. - chmod 0777 -R var/logs var/cache var/sessions
  79. - touch var/logs/test.log
  80. - tail -f var/logs/*.log &
  81. - bin/console server:run --env=prod &
  82. - vendor/phpunit/phpunit/phpunit -c phpunit.xml.dist
  83. # - bin/console check:sintax --dir="app/DoctrineMigrations/src/" --debug=true