فهرست منبع

Merged in demo (pull request #5)

Demo

Approved-by: Guillermo Espinoza <guillermo@interlink.com.ar>
Approved-by: Maximiliano Schvindt <maximiliano@interlink.com.ar>
Luciano Andrade 7 سال پیش
والد
کامیت
60ec5471b7

+ 10 - 6
.drone.yml

@@ -1,6 +1,7 @@
 services:
   database:
-    image: mysql:5.5
+    image: mysql:5.7
+    command: '--sql_mode=ALLOW_INVALID_DATES,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
     environment:
       - MYSQL_ROOT_PASSWORD=
       - MYSQL_ALLOW_EMPTY_PASSWORD=yes
@@ -10,17 +11,18 @@ services:
 
 pipeline:
  build:
-  image: debian:8.0
+  image: debian:9.0
   commands:
       - echo 'Acquire::http { Proxy "http://200.50.168.30:3142"; };' > /etc/apt/apt.conf.d/01proxy
-      - apt-get update && apt-get install -yq build-essential git unzip php5-cli php5-mysql wget mysql-client php5-curl
+      - apt-get update && apt-get install -yq build-essential git php7.0-cli php7.0-mysql mysql-client php7.0-curl php7.0-xml php7.0-bcmath php7.0-mbstring php7.0-zip
+
+      - yes | mysqladmin -h 127.0.0.1 create fd3_stats
+      - yes | mysqladmin -h 127.0.0.1 create fd_session
       
       - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
       - php composer-setup.php --install-dir=/usr/local/bin/ --filename=composer
       - php -r "unlink('composer-setup.php');"
       - echo 'client = Flowdat3-Stats-Drone-Test' | tee /etc/flowdat.conf
-      - echo 'date.timezone="America/Argentina/Buenos_Aires"' >> /etc/php5/cli/php.ini
-      - yes | mysqladmin -h 127.0.0.1 create flowdat_stats
       - mkdir -p /root/.ssh/
       - ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts
       - ssh-keyscan -p222 200.50.168.30 >> ~/.ssh/known_hosts
@@ -28,7 +30,6 @@ pipeline:
       - ssh-keyscan -p222 gogs.infra.flowdat.com >> ~/.ssh/known_hosts
       - chmod 0400 keys/bitbucket.id_rsa
       - eval $(ssh-agent); ssh-add keys/bitbucket.id_rsa
-      - composer update -n
       - composer install -n
       - chmod 0777 -R var/logs var/cache var/sessions
       - php bin/console doctrine:schema:update --force -vvv --env=test
@@ -42,3 +43,6 @@ pipeline:
    username: drone
    password: 6hd2dLfL
    tag: latest
+   when:
+     event: [pull_request, push, tag]
+     branch: master

+ 2 - 3
Dockerfile

@@ -1,10 +1,9 @@
-FROM debian:8
+FROM debian:9
 EXPOSE 8000
 
 #RUN echo "Acquire::http::Proxy \"http://172.17.0.5:3142\";" | tee /etc/apt/apt.conf.d/00aptproxy
 
-RUN apt-get update 
-RUN apt-get install -yq python git wget vim tmux php5-cli php5-mysql php5-curl
+RUN apt-get update && apt-get install -yq build-essential git php7.0-cli php7.0-mysql mysql-client php7.0-curl php7.0-xml php7.0-bcmath php7.0-mbstring php7.0-zip
 
 RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
 RUN php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

+ 3 - 0
app/AppKernel.php

@@ -27,6 +27,9 @@ class AppKernel extends Kernel
             new Nelmio\CorsBundle\NelmioCorsBundle(),
             new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
             new HWI\Bundle\OAuthBundle\HWIOAuthBundle(),
+
+	    new MigrationsBundle\MigrationsBundle(),
+	    new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
             
             new WebserviceBundle\WebserviceBundle(),
             new Base\AdminBundle\BaseAdminBundle(),

+ 0 - 1
app/config/bundles/ik/webservice-bundle/parameters.yml.docker

@@ -1,4 +1,3 @@
-# This file is auto-generated during the composer install
 parameters:
     url_base: 'http://%env(HOST_BASE)%'
     url_ftth: 'http://%env(HOST_FTTH)%'

+ 2 - 2
app/config/config.yml

@@ -40,8 +40,8 @@ framework:
     session:
         name: flowdat_stats_session
         # http://symfony.com/doc/current/reference/configuration/framework.html#handler-id
-#        handler_id: session.handler.pdo
-        handler_id: session.handler.native_file
+        handler_id: session.handler.pdo
+#        handler_id: session.handler.native_file
         save_path:   "%kernel.root_dir%/../var/sessions/%kernel.environment%"
     fragments: ~
     http_method_override: true

+ 2 - 2
app/config/parameters.yml.dist

@@ -4,7 +4,7 @@
 parameters:
     database_host: 127.0.0.1
     database_port: ~
-    database_name: flowdat_stats
+    database_name: fd3_stats
     database_user: root
     database_password: ~
     # You should uncomment this if you want to use pdo_sqlite
@@ -28,4 +28,4 @@ parameters:
     db_session_name: fd_session
     db_session_user: root
     db_session_password: null
-    app_path: '/var/flowdat/stats'
+    app_path: '/var/flowdat/stats'

+ 4 - 4
app/config/parameters.yml.docker

@@ -5,7 +5,7 @@ parameters:
     database_driver:   pdo_mysql
     database_host:     mysql
     database_port:     ~
-    database_name:     fd3_base
+    database_name:     fd3_stats
     database_user:     root
     database_password: 235r2342gtfsw
     # You should uncomment this if you want use pdo_sqlite
@@ -32,9 +32,9 @@ parameters:
 
     grafana_url: 'http://grafana.fd3.flowdat.com/dashboard-solo/db/'
 
-    db_session_host: 127.0.0.1
-    db_session_port: null
+    db_session_host: mysql
+    db_session_port: ~
     db_session_name: fd_session
     db_session_user: root
-    db_session_password: null
+    db_session_password: 235r2342gtfsw
     app_path: '/var/flowdat/stats'

+ 1 - 1
bin/symfony_requirements

@@ -1,7 +1,7 @@
 #!/usr/bin/env php
 <?php
 
-require_once dirname(__FILE__).'/../var/SymfonyRequirements.php';
+require_once dirname(__FILE__).'/./SymfonyRequirements.php';
 
 $lineSize = 70;
 $symfonyRequirements = new SymfonyRequirements();

+ 23 - 5
composer.json

@@ -57,21 +57,21 @@
         },
         {
             "type": "vcs",
-			"url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/OwnerVoter.git",
+	    "url": "ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/OwnerVoter.git",
             "options": {
                     "local_pk": "./keys/bitbucket.id_rsa"
             }
         },
         {
             "type": "vcs",
-			"url": "ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/RedisBundle.git",
+	    "url": "ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/RedisBundle.git",
             "options": {
                     "local_pk": "./keys/bitbucket.id_rsa"
             }
         },
         {
             "type": "vcs",
-			"url": "ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/StatsDBundle.git",
+	    "url": "ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/StatsDBundle.git",
             "options": {
                     "local_pk": "./keys/bitbucket.id_rsa"
             }
@@ -82,16 +82,25 @@
             "options": {
                     "local_pk": "./keys/bitbucket.id_rsa"
             }
+        },
+        {
+            "type": "vcs",
+            "url": "ssh://git@bitbucket.org/ikflowdat/migrations.git",
+            "options": {
+                "local_pk": "./keys/bitbucket.id_rsa"
+            }
         }
     ],
     "require": {
         "php": ">=5.5.9",
         "doctrine/doctrine-bundle": "^1.6",
         "doctrine/doctrine-cache-bundle": "^1.2",
+        "doctrine/doctrine-migrations-bundle": "^1.2",
         "doctrine/orm": "^2.5",
         "ik/base-admin-bundle": "dev-master",
         "ik/device-bundle": "dev-master",
         "ik/extra-data-bundle": "dev-master",
+        "ik/migrations-bundle": "dev-master",
         "ik/oauthclient-bundle": "dev-master",
         "ik/owner-voter-bundle": "dev-master",
         "ik/redis-bundle": "dev-master",
@@ -128,10 +137,19 @@
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
         ],
-        "chmod-dir-cache-sessions-logs":"chmod 777 -R var/cache var/logs var/sessions",
+	"doctrine-update": "php bin/console doctrine:schema:update --force",
+        "doctrine-migrations":"php bin/console doctrine:migrations:migrate --no-interaction --allow-no-migration",
+        "mkdir-dir-cache-sessions-logs": "mkdir -p var/cache var/logs var/sessions",
+        "chmod-dir-cache-sessions-logs": "chmod 777 -R var/cache var/logs var/sessions",
+        "migration-alert-type": "php bin/console doctrine:migrations:execute 20170627144029 --no-interaction",
+        "auto-increment": "php bin/console baseadmin:autoincrement",
+
         "post-install-cmd": [
             "@symfony-scripts",
-            "@chmod-dir-cache-sessions-logs"
+            "@chmod-dir-cache-sessions-logs",
+            "@doctrine-migrations",
+            "@doctrine-update",
+            "@auto-increment" 
         ],
         "post-update-cmd": [
             "@symfony-scripts",

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 550 - 157
composer.lock


+ 1 - 1
src/StatsBundle/Entity/Device.php

@@ -68,7 +68,7 @@ class Device
     protected $tenancyId = 1;
 
     /**
-     * @ORM\Column(type="datetime")
+     * @ORM\Column(type="datetime", options={"default": 0})
      */
     protected $updated;
     

+ 1 - 1
web/config.php

@@ -22,7 +22,7 @@ if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
     exit('This script is only accessible from localhost.');
 }
 
-require_once dirname(__FILE__).'/../var/SymfonyRequirements.php';
+require_once dirname(__FILE__).'/./SymfonyRequirements.php';
 
 $symfonyRequirements = new SymfonyRequirements();