Browse Source

docker in docker test

Luciano Andrade 7 years ago
parent
commit
dff7289a25
2 changed files with 229 additions and 192 deletions
  1. 45 8
      .drone.yml
  2. 184 184
      tools/src/Release.php

+ 45 - 8
.drone.yml

@@ -1,15 +1,52 @@
 services:
   selenium:
     image: selenium/standalone-firefox-debug:3.1
+  docker:
+    image: docker:17.10-dind
+    privileged: true
+    command: [ "--storage-driver=vfs", "--tls=false" ]
+
+
 
 pipeline:
-  build:
-    image: debian:9.0
+  #build:
+  #  image: debian:9.0
+  #  commands:
+  #    - echo "Acquire::http::Proxy \"http://200.50.168.30:3142\";" | tee /etc/apt/apt.conf.d/00aptproxy
+  #    - apt-get update && apt-get install -yq git curl imagemagick php-cli php-curl php-mbstring php-imagick php-xml
+  #    - which compare
+  #    - env
+  #    - pwd
+  #    - ls -lash
+  #    - cd behat/testScreenshotGalvez ; php ./vendor/bin/codecept run --steps tests/acceptance/
+  install:
+    image: docker.infra.flowdat.com/fd3/sf-php:latest
+    environment:
+      - DOCKER_HOST=tcp://0.0.0.0:2375
     commands:
-      - echo "Acquire::http::Proxy \"http://200.50.168.30:3142\";" | tee /etc/apt/apt.conf.d/00aptproxy
-      - apt-get update && apt-get install -yq git curl imagemagick php-cli php-curl php-mbstring php-imagick php-xml
-      - which compare
+      - apt-get update && apt-get  install -yq php-gmp
+      - apt-get update && apt-get install -yq lsb-release
+      - . /etc/os-release; echo $ID
+      - lsb_release -cs
       - env
-      - pwd
-      - ls -lash
-      - cd behat/testScreenshotGalvez ; php ./vendor/bin/codecept run --steps tests/acceptance/
+      - php -v
+      - apt-get update && apt-get install -yq apt-transport-https ca-certificates curl gnupg2 software-properties-common
+      - curl -fsSL https://download.docker.com/linux/$ID/gpg | apt-key add -
+      - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$ID $(lsb_release -cs) stable"
+      - apt-get update && apt-cache madison docker-ce
+      - apt-get update && apt-get -yq install docker-ce=17.06.0~ce-0~debian
+      - apt-get update && apt-get  install -yq python-pip
+      - docker --tls=false ps -a
+      - pip install docker-compose
+      - docker-compose -v
+      - echo "Hasta aqui es instalación de paquetes requeridos docker y docker-compose"
+      - cd tools 
+      - eval $(ssh-agent) ; ssh-add keys/bitbucket.id_rsa
+      - composer install -n
+      - rm -rf demo
+      - php cmd.php make:install demo
+      - cd demo 
+      - php ../cmd.php get:source git.ini
+      - docker-compose up -d
+  
+ 

+ 184 - 184
tools/src/Release.php

@@ -62,18 +62,18 @@ class Release extends Command
 			'url' => $input->getOption("base-repo"),
 			'branch' => $input->getOption("base-ref"),
 		),
-		"ftth" => array(
-			'url' => $input->getOption("ftth-repo"),
-			'branch' => $input->getOption("ftth-ref"),
-		),
-		"mapas" => array(
-			'url' => $input->getOption("mapas-repo"),
-			'branch' => $input->getOption("mapas-ref"),
-		),
-		"stats" => array(
-			'url' => $input->getOption("stats-repo"),
-			'branch' => $input->getOption("stats-ref"),
-		),
+		//"ftth" => array(
+		//	'url' => $input->getOption("ftth-repo"),
+		//	'branch' => $input->getOption("ftth-ref"),
+		//),
+		//"mapas" => array(
+		//	'url' => $input->getOption("mapas-repo"),
+		//	'branch' => $input->getOption("mapas-ref"),
+		//),
+		//"stats" => array(
+		//	'url' => $input->getOption("stats-repo"),
+		//	'branch' => $input->getOption("stats-ref"),
+		//),
 		"extra" => array(
 			'url' => $input->getOption("extra-repo"),
 			'branch' => $input->getOption("extra-ref"),
@@ -109,7 +109,7 @@ class Release extends Command
 	$dObj->file('install.yml')->content(
 		yaml::dump(array(
 			"install_dir" => realpath($dir),
-			'docker_apps' => array('base', 'stats', 'ftth', 'mapas'),
+			'docker_apps' => array('base', /*'stats', 'ftth', 'mapas'*/),
                         'domain'      => $domain,
 			)
 		)
@@ -173,73 +173,73 @@ $oauth_client_secret = "5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k";
 		->addVolumes("./base/", "/opt/base")
 	;
 
-	$composer->addService("ftth")
-		->image($registry."fd3/ftth:" . $v)
-		->build("./ftth/")
-		->restart("always")
-		->addLinks("mysql")
-		->addLinks("base")
-		->addLinks("amqp")
-		->addLinks("base", "base.".$fd_domain)
-
-		->addEnv_file("ftth.oauth.env")
-		->addEnviroment("VIRTUAL_HOST", "ftth.".$fd_domain)
-		->addEnviroment("HOST_FTTH",	"ftth.".$fd_domain)
-		->addEnviroment("HOST_STATS", 	"stats.".$fd_domain)
-		->addEnviroment("HOST_MAPAS", 	"mapas.".$fd_domain)
-		->addEnviroment("HOST_BASE", 	"base.".$fd_domain)
-		//->addEnviroment("OAUTH_CLIENT_ID", $oauth_client)
-		//->addEnviroment("OAUTH_CLIENT_SECRET", $oauth_client_secret)
-		//->addEnviroment("HTTPS_METHOD", 	"nohttps")
-
-		->addVolumes("./ftth/", "/opt/ftth")
-	;
-
-	$composer->addService("mapas")
-		->image($registry."fd3/mapas:" . $v)
-		->build("./mapas/")
-		->addLinks("mysql")
-		->addLinks("base")
-		->addLinks("amqp")
-		->addLinks("base", "base.".$fd_domain)
-		->addEnv_file("mapas.oauth.env")
-
-		->addEnviroment("VIRTUAL_HOST", "mapas.".$fd_domain)
-		->addEnviroment("HOST_FTTH",	"ftth.".$fd_domain)
-		->addEnviroment("HOST_STATS", 	"stats.".$fd_domain)
-		->addEnviroment("HOST_MAPAS", 	"mapas.".$fd_domain)
-		->addEnviroment("HOST_BASE", 	"base.".$fd_domain)
-		//->addEnviroment("OAUTH_CLIENT_ID", $oauth_client)
-		//->addEnviroment("OAUTH_CLIENT_SECRET", $oauth_client_secret)
-		//->addEnviroment("HTTPS_METHOD", 	"nohttps")
-
-		->addVolumes("./mapas/", "/opt/mapas")
-		->addVolumes("./mapas/web/uploads", "/opt/mapas/web/uploads")
-	;
-
-
-	$composer->addService("stats")
-		->image($registry."fd3/stats:" . $v)
-		->build("./stats/")
-		->addLinks("mysql")
-		->addLinks("base")
-		->addLinks("amqp")
-		->addLinks("base", "base.".$fd_domain)
-		->addLinks("jsendpoint", "endpoint")
-		->addLinks("statsd", "statsd")
-		->addVolumes("./stats/", "/opt/stats")
-		->addEnv_file("stats.oauth.env")
-
-		->addEnviroment("VIRTUAL_HOST", "stats.".$fd_domain)
-		->addEnviroment("HOST_FTTH",	"ftth.".$fd_domain)
-		->addEnviroment("HOST_STATS", 	"stats.".$fd_domain)
-		->addEnviroment("HOST_MAPAS", 	"mapas.".$fd_domain)
-		->addEnviroment("HOST_BASE", 	"base.".$fd_domain)
-		//->addEnviroment("OAUTH_CLIENT_ID", 	$oauth_client)
-		//->addEnviroment("OAUTH_CLIENT_SECRET",	$oauth_client_secret)
-		//->addEnviroment("HTTPS_METHOD", 	"nohttps")
-
-	;
+	//$composer->addService("ftth")
+	//	->image($registry."fd3/ftth:" . $v)
+	//	->build("./ftth/")
+	//	->restart("always")
+	//	->addLinks("mysql")
+	//	->addLinks("base")
+	//	->addLinks("amqp")
+	//	->addLinks("base", "base.".$fd_domain)
+
+	//	->addEnv_file("ftth.oauth.env")
+	//	->addEnviroment("VIRTUAL_HOST", "ftth.".$fd_domain)
+	//	->addEnviroment("HOST_FTTH",	"ftth.".$fd_domain)
+	//	->addEnviroment("HOST_STATS", 	"stats.".$fd_domain)
+	//	->addEnviroment("HOST_MAPAS", 	"mapas.".$fd_domain)
+	//	->addEnviroment("HOST_BASE", 	"base.".$fd_domain)
+	//	//->addEnviroment("OAUTH_CLIENT_ID", $oauth_client)
+	//	//->addEnviroment("OAUTH_CLIENT_SECRET", $oauth_client_secret)
+	//	//->addEnviroment("HTTPS_METHOD", 	"nohttps")
+
+	//	->addVolumes("./ftth/", "/opt/ftth")
+	//;
+
+	//$composer->addService("mapas")
+	//	->image($registry."fd3/mapas:" . $v)
+	//	->build("./mapas/")
+	//	->addLinks("mysql")
+	//	->addLinks("base")
+	//	->addLinks("amqp")
+	//	->addLinks("base", "base.".$fd_domain)
+	//	->addEnv_file("mapas.oauth.env")
+
+	//	->addEnviroment("VIRTUAL_HOST", "mapas.".$fd_domain)
+	//	->addEnviroment("HOST_FTTH",	"ftth.".$fd_domain)
+	//	->addEnviroment("HOST_STATS", 	"stats.".$fd_domain)
+	//	->addEnviroment("HOST_MAPAS", 	"mapas.".$fd_domain)
+	//	->addEnviroment("HOST_BASE", 	"base.".$fd_domain)
+	//	//->addEnviroment("OAUTH_CLIENT_ID", $oauth_client)
+	//	//->addEnviroment("OAUTH_CLIENT_SECRET", $oauth_client_secret)
+	//	//->addEnviroment("HTTPS_METHOD", 	"nohttps")
+
+	//	->addVolumes("./mapas/", "/opt/mapas")
+	//	->addVolumes("./mapas/web/uploads", "/opt/mapas/web/uploads")
+	//;
+
+
+	//$composer->addService("stats")
+	//	->image($registry."fd3/stats:" . $v)
+	//	->build("./stats/")
+	//	->addLinks("mysql")
+	//	->addLinks("base")
+	//	->addLinks("amqp")
+	//	->addLinks("base", "base.".$fd_domain)
+	//	->addLinks("jsendpoint", "endpoint")
+	//	->addLinks("statsd", "statsd")
+	//	->addVolumes("./stats/", "/opt/stats")
+	//	->addEnv_file("stats.oauth.env")
+
+	//	->addEnviroment("VIRTUAL_HOST", "stats.".$fd_domain)
+	//	->addEnviroment("HOST_FTTH",	"ftth.".$fd_domain)
+	//	->addEnviroment("HOST_STATS", 	"stats.".$fd_domain)
+	//	->addEnviroment("HOST_MAPAS", 	"mapas.".$fd_domain)
+	//	->addEnviroment("HOST_BASE", 	"base.".$fd_domain)
+	//	//->addEnviroment("OAUTH_CLIENT_ID", 	$oauth_client)
+	//	//->addEnviroment("OAUTH_CLIENT_SECRET",	$oauth_client_secret)
+	//	//->addEnviroment("HTTPS_METHOD", 	"nohttps")
+
+	//;
 
 	/**************************************************************************************/
 	/* Servicios */
@@ -262,110 +262,110 @@ $oauth_client_secret = "5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k";
 	/* Workers */
 	/**************************************************************************************/
 
-	$composer->addService("ftth_worker")->image($registry."fd3/ftth:" . $v)
-		->build("./ftth/")
-		->restart("always")
-		->addLinks("mysql")
-		->addLinks("base")
-		->addLinks("amqp")
-		->addLinks("base", "base.".$fd_domain)
-
-
-		->addEnviroment("VIRTUAL_HOST", "ftth.".$fd_domain)
-		->addEnviroment("HTTPS_METHOD", 	"nohttps")
-		->addEnviroment("HOST_FTTH",	"ftth.".$fd_domain)
-		->addEnviroment("HOST_STATS", 	"stats.".$fd_domain)
-		->addEnviroment("HOST_MAPAS", 	"mapas.".$fd_domain)
-		->addEnviroment("HOST_BASE", 	"base.".$fd_domain)
-		//->addEnviroment("OAUTH_CLIENT_ID", $oauth_client)
-		//->addEnviroment("OAUTH_CLIENT_SECRET", $oauth_client_secret)
-
-		->addVolumes("./ftth/", "/opt/ftth")
-	;
-
-
-	$composer->addService("phpmyadmin")->image("phpmyadmin/phpmyadmin")
-		->restart("always")
-		->addPorts(8080, 80)
-		->addLinks("mysql", "db")
-
-		->addEnviroment("MYSQL_ROOT_PASSWORD", $mysql_root_pass)
-		->addEnviroment("VIRTUAL_HOST", "pma.".$fd_domain)
-		->addEnviroment("HTTPS_METHOD", 	"nohttps")
-	;
-
-
-	$composer->addService("grafana")->image("grafana/grafana")
-
-		->addLinks("jsendpoint","endpoint")
-		->addLinks("mysql")
-		->restart("always")
-		->addEnviroment("VIRTUAL_HOST", "grafana.".$fd_domain)
-		->addEnviroment("HTTPS_METHOD", 	"nohttps")
-
-		->addEnviroment("./statsd/grafana/lib", "/var/lib/grafana")
-		->addEnviroment("GF_SECURITY_ADMIN_PASSWORD", "queRini6")
-		->addEnviroment("GF_INSTALL_PLUGINS", "grafana-simple-json-datasource")
-		->addEnviroment("GF_DEFAULT_THEME", "light")
-		->addEnviroment("GF_AUTH_ANONYMOUS_ORG_NAME", "Main Org.")
-		->addEnviroment("GF_AUTH_ANONYMOUS_ORG_ROLE", "Viewer")
-		->addEnviroment("GF_AUTH_ANONYMOUS_ENABLED", "true")
-		->addEnviroment("GF_DATABASE_URL", "mysql://root:".$mysql_root_pass."@mysql:3306/grafana")
-		->addEnviroment("GF_SERVER_ROOT_URL", "http://grafana.".$fd_domain."/")
-	;
-
-	$composer->addService("jsendpoint")
-		->build("./extra/statsd/endpoint/json")
-		->image($registry."fd3/jsonep:$v")
-		->addVolumes("./extra/statsd/endpoint/json", "/opt/datasource")
-		->addLinks("jsonep_mysql")
-		->addLinks("jsonep_mongo")
-		->restart("always")
-		;
-
-	$composer->addService("jsonep_mysql")
-		->build("./extra/statsd/endpoint/mysql")
-		->image($registry."fd3/jsonep_mysql:$v")
-		->addVolumes("./extra/statsd/endpoint/mysql", "/opt/datasource")
-		->addLinks("mysql")
-		->addEnviroment("MYSQL_ROOT_PASSWORD", $mysql_root_pass)
-		->restart("always")
-		;
-
-        $composer->addService("jsonep_mongo")
-		->build("./extra/statsd/endpoint/mongodb")
-		->image($registry."fd3/jsonep_mongo:$v")
-		->addVolumes("./extra/statsd/endpoint/mongodb", "/opt/datasource")
-		->addLinks("mongodb")
-		->restart("always")
-		;
-
-	$composer->addService("mongodb")
-		->image("mongo:3.4")
-		->addVolumes("./mongodb", "/data/db")
-	;
-
-
-	$composer->addService("statsd")->build("./extra/statsd/statsd")
-		->image($registry."fd3/statsd:$v")
-		->addPorts("8125", "8125/udp")
-		->addLinks("mysql")
-		->addLinks("mongodb")
-		->restart("always")
-		->addVolumes("./extra/statsd/statsd/statsd.config.js", "/opt/config/statsd.config.js")
-	;
-
-	$composer->addService("supervisord")->build("./extra/supervisord")
-		->image($registry."fd3/supervisord:$v")
-		->privileged(true)
-		->restart("always")
-		->addEnviroment("./extra/supervisord/", "/etc/supervisord/")
-		->addEnviroment("./extra/supervisord/var/", "/var/log/supervisor/")
-		->addEnviroment("./extra/supervisord/sshd_config", "/etc/ssh/sshd_config")
-		->addEnviroment("./extra/supervisord/bin/fiberhome", "/usr/bin/fiberhome")
-		->addEnviroment("./extra/supervisord/bin/fiberlink", "/usr/bin/fiberlink")
-	 
-	;
+	//$composer->addService("ftth_worker")->image($registry."fd3/ftth:" . $v)
+	//	->build("./ftth/")
+	//	->restart("always")
+	//	->addLinks("mysql")
+	//	->addLinks("base")
+	//	->addLinks("amqp")
+	//	->addLinks("base", "base.".$fd_domain)
+
+
+	//	->addEnviroment("VIRTUAL_HOST", "ftth.".$fd_domain)
+	//	->addEnviroment("HTTPS_METHOD", 	"nohttps")
+	//	->addEnviroment("HOST_FTTH",	"ftth.".$fd_domain)
+	//	->addEnviroment("HOST_STATS", 	"stats.".$fd_domain)
+	//	->addEnviroment("HOST_MAPAS", 	"mapas.".$fd_domain)
+	//	->addEnviroment("HOST_BASE", 	"base.".$fd_domain)
+	//	//->addEnviroment("OAUTH_CLIENT_ID", $oauth_client)
+	//	//->addEnviroment("OAUTH_CLIENT_SECRET", $oauth_client_secret)
+
+	//	->addVolumes("./ftth/", "/opt/ftth")
+	//;
+
+
+	//$composer->addService("phpmyadmin")->image("phpmyadmin/phpmyadmin")
+	//	->restart("always")
+	//	->addPorts(8080, 80)
+	//	->addLinks("mysql", "db")
+
+	//	->addEnviroment("MYSQL_ROOT_PASSWORD", $mysql_root_pass)
+	//	->addEnviroment("VIRTUAL_HOST", "pma.".$fd_domain)
+	//	->addEnviroment("HTTPS_METHOD", 	"nohttps")
+	//;
+
+
+	//$composer->addService("grafana")->image("grafana/grafana")
+
+	//	->addLinks("jsendpoint","endpoint")
+	//	->addLinks("mysql")
+	//	->restart("always")
+	//	->addEnviroment("VIRTUAL_HOST", "grafana.".$fd_domain)
+	//	->addEnviroment("HTTPS_METHOD", 	"nohttps")
+
+	//	->addEnviroment("./statsd/grafana/lib", "/var/lib/grafana")
+	//	->addEnviroment("GF_SECURITY_ADMIN_PASSWORD", "queRini6")
+	//	->addEnviroment("GF_INSTALL_PLUGINS", "grafana-simple-json-datasource")
+	//	->addEnviroment("GF_DEFAULT_THEME", "light")
+	//	->addEnviroment("GF_AUTH_ANONYMOUS_ORG_NAME", "Main Org.")
+	//	->addEnviroment("GF_AUTH_ANONYMOUS_ORG_ROLE", "Viewer")
+	//	->addEnviroment("GF_AUTH_ANONYMOUS_ENABLED", "true")
+	//	->addEnviroment("GF_DATABASE_URL", "mysql://root:".$mysql_root_pass."@mysql:3306/grafana")
+	//	->addEnviroment("GF_SERVER_ROOT_URL", "http://grafana.".$fd_domain."/")
+	//;
+
+	//$composer->addService("jsendpoint")
+	//	->build("./extra/statsd/endpoint/json")
+	//	->image($registry."fd3/jsonep:$v")
+	//	->addVolumes("./extra/statsd/endpoint/json", "/opt/datasource")
+	//	->addLinks("jsonep_mysql")
+	//	->addLinks("jsonep_mongo")
+	//	->restart("always")
+	//	;
+
+	//$composer->addService("jsonep_mysql")
+	//	->build("./extra/statsd/endpoint/mysql")
+	//	->image($registry."fd3/jsonep_mysql:$v")
+	//	->addVolumes("./extra/statsd/endpoint/mysql", "/opt/datasource")
+	//	->addLinks("mysql")
+	//	->addEnviroment("MYSQL_ROOT_PASSWORD", $mysql_root_pass)
+	//	->restart("always")
+	//	;
+
+        //$composer->addService("jsonep_mongo")
+	//	->build("./extra/statsd/endpoint/mongodb")
+	//	->image($registry."fd3/jsonep_mongo:$v")
+	//	->addVolumes("./extra/statsd/endpoint/mongodb", "/opt/datasource")
+	//	->addLinks("mongodb")
+	//	->restart("always")
+	//	;
+
+	//$composer->addService("mongodb")
+	//	->image("mongo:3.4")
+	//	->addVolumes("./mongodb", "/data/db")
+	//;
+
+
+	//$composer->addService("statsd")->build("./extra/statsd/statsd")
+	//	->image($registry."fd3/statsd:$v")
+	//	->addPorts("8125", "8125/udp")
+	//	->addLinks("mysql")
+	//	->addLinks("mongodb")
+	//	->restart("always")
+	//	->addVolumes("./extra/statsd/statsd/statsd.config.js", "/opt/config/statsd.config.js")
+	//;
+
+	//$composer->addService("supervisord")->build("./extra/supervisord")
+	//	->image($registry."fd3/supervisord:$v")
+	//	->privileged(true)
+	//	->restart("always")
+	//	->addEnviroment("./extra/supervisord/", "/etc/supervisord/")
+	//	->addEnviroment("./extra/supervisord/var/", "/var/log/supervisor/")
+	//	->addEnviroment("./extra/supervisord/sshd_config", "/etc/ssh/sshd_config")
+	//	->addEnviroment("./extra/supervisord/bin/fiberhome", "/usr/bin/fiberhome")
+	//	->addEnviroment("./extra/supervisord/bin/fiberlink", "/usr/bin/fiberlink")
+	// 
+	//;
 
 	$composer->addService("nginx")->build("extra/nginx/")	
 		->image($registry."fd3/nginx:".$v)