.gitlab-ci.yml 3.3 KB

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