1
00:00:06,370 --> 00:00:08,020
Antes de dejarlos de.

2
00:00:08,140 --> 00:00:13,780
Bueno, ya que respiren y se vayan de esta sección, quiero mencionarles que en el código fuente que

3
00:00:13,780 --> 00:00:20,610
ustedes tienen en esta clase tienen el enlace que los lleva directamente a nuestro GitHub o amiguitos

4
00:00:20,800 --> 00:00:23,230
donde está el código de esta sección?

5
00:00:23,500 --> 00:00:27,310
Aquí ustedes van a ver que yo añadí un par de cosas, como por ejemplo un par de comandos en el caso

6
00:00:27,310 --> 00:00:32,020
que ustedes quieran hacer, aparte del mil X como se los despliegue solo para referencias, pero recuerden

7
00:00:32,020 --> 00:00:38,080
que eso ustedes lo tienen en la hoja de atajos, por lo menos la referencia para que ustedes sepan donde

8
00:00:38,080 --> 00:00:43,840
está la documentación oficial, que eso es lo más importante de todo y ustedes sepan como usar esa documentación.

9
00:00:44,230 --> 00:00:50,050
Ahora si regresamos aquí a nuestro Docker Field, quiero que pensemos nuevamente ya vamos a verlo en

10
00:00:50,050 --> 00:00:53,350
la siguiente sección la forma ideal para solventar esto.

11
00:00:53,350 --> 00:00:55,420
Pero solo quiero mencionarles a ustedes un par de cosas.

12
00:00:56,350 --> 00:01:02,410
Nosotros tenemos un paso aquí de tomar nuestra primera imagen y si lo hacemos en mil X toma basado en

13
00:01:02,410 --> 00:01:03,820
la arquitectura, que eso es genial.

14
00:01:04,450 --> 00:01:09,730
Luego nos cambiamos de directorio, copiamos el package json, hacemos el npm install, copiamos todo

15
00:01:09,730 --> 00:01:17,830
el código fuente, hacemos el npm run test para verificar el testing, ejecutamos el npm run, la eliminación

16
00:01:18,030 --> 00:01:20,860
de la carpeta de test y la eliminación de los módulos de NO.

17
00:01:21,280 --> 00:01:23,830
Luego hacemos la parte de la instalación de las dependencias de producción.

18
00:01:24,180 --> 00:01:29,470
Ok, todo esto parece estar bien, pero qué pasa cuando algo cambia en nuestra?

19
00:01:29,860 --> 00:01:31,320
Cuando algo cambia en nuestro archivo?

20
00:01:31,330 --> 00:01:38,050
Por ejemplo, si nosotros llegáramos y ahora hacemos una modificación pequeña en el package JSON, que

21
00:01:38,050 --> 00:01:43,210
en este caso sería tal vez solo añadir un script, o cambiamos el nombre o hacemos algo en particular,

22
00:01:43,210 --> 00:01:44,080
algo sencillo.

23
00:01:44,530 --> 00:01:50,500
Entonces todos los pasos que vienen después de este se van a volver a ejecutar literalmente todos esos

24
00:01:50,500 --> 00:01:50,890
pasos.

25
00:01:51,190 --> 00:01:55,300
Es decir, se va a hacer npm install, se va a copiar todo, se va a ser blah blah, blah blah ok,

26
00:01:55,300 --> 00:02:00,250
se va a hacer, se va a realizar todo nuevamente a partir del paso donde sufre alguna modificación,

27
00:02:00,730 --> 00:02:05,530
lo cual técnicamente es algo que ustedes van a querer hacer y está bien que lo haga de esa forma, porque

28
00:02:05,530 --> 00:02:06,880
obviamente hay un cambio.

29
00:02:06,880 --> 00:02:12,430
Es un poco difícil saber dependiendo de la tecnología, si es un cambio importante o no, pero también

30
00:02:12,580 --> 00:02:17,200
puede ser que ustedes estén utilizando el nombre, la versión o algo que se encuentra en el paquete

31
00:02:17,440 --> 00:02:19,210
JSON para construir su imagen.

32
00:02:19,390 --> 00:02:22,330
Entonces por eso está bien que lo haga, pero.

33
00:02:22,330 --> 00:02:25,090
Pero digamos que el código fuente no cambió.

34
00:02:25,570 --> 00:02:29,590
Esta parte no debería de reconstruirse si el código fuente no cambió porque lo único que se modificó

35
00:02:29,590 --> 00:02:30,730
fue el paquete JSON.

36
00:02:31,300 --> 00:02:32,920
Sí, eso fue lo único que se modificó.

37
00:02:32,920 --> 00:02:34,750
Entonces tampoco deberíamos de hacer el testing.

38
00:02:34,750 --> 00:02:40,900
O tal vez este paso hacerlo basado en ciertas modificaciones a algunos archivos.

39
00:02:40,960 --> 00:02:46,090
Entonces, a lo que voy es que nosotros innecesariamente vamos a hacer que nuestro build, el procedimiento

40
00:02:46,090 --> 00:02:49,030
del build, sea más tedioso de lo que realmente debería de ser.

41
00:02:49,600 --> 00:02:56,170
Nosotros podríamos pensar en que todo el paso de las dependencias, es decir, cuando hacemos este paso

42
00:02:56,860 --> 00:03:02,890
para hacer todas nuestras dependencias, podríamos crearnos, como decirlo, un stage encapsulado en

43
00:03:02,890 --> 00:03:08,440
el cual si algo sucede en el package JSON, entonces ahí se vuelve a hacer npm install, pero si nada

44
00:03:08,440 --> 00:03:14,890
cambia en el paquete de JSON, nosotros poder tener en caché todo esa, producir esa imagen y reutilizar

45
00:03:14,890 --> 00:03:20,080
la información creada en este paso que fue la de los módulos de NOT, que era el sus módulos de Node.

46
00:03:20,500 --> 00:03:27,910
También nosotros podríamos pensar de que si hay algún cambio en el testing, entonces ahí es donde vamos

47
00:03:27,910 --> 00:03:32,620
a volver a hacer el paso del testing solo ahí no, pero realmente no solo es en el paso del testing,

48
00:03:32,620 --> 00:03:34,990
sino también es el código fuente, que eso es algo que vamos a ver.

49
00:03:35,320 --> 00:03:39,490
Entonces aquí en este pequeño archivo, nosotros vamos a considerar que podemos tener varias etapas,

50
00:03:39,490 --> 00:03:45,880
por ejemplo, la etapa de la generación de las dependencias de desarrollo, más producción, vamos a

51
00:03:45,880 --> 00:03:48,730
tener una fase en la cual vamos a ocupar hacer el bald.

52
00:03:48,730 --> 00:03:54,400
En este caso no tenemos ningún vial, pero aquí ya realizaríamos después del testing haríamos el vill

53
00:03:54,400 --> 00:03:59,380
justo después de esto, npm run build, por ejemplo, en el caso de que tuviéramos algún tipo de builder,

54
00:03:59,380 --> 00:04:00,700
que esto ya sería propio en Node.

55
00:04:00,700 --> 00:04:02,710
Pero no se preocupe, lo vamos a ver en la próxima clase.

56
00:04:03,520 --> 00:04:07,120
Entonces después de hacer el testing, ahí es donde construimos la aplicación, pero si el testing falla

57
00:04:07,120 --> 00:04:08,110
entonces no construimos nada.

58
00:04:08,110 --> 00:04:15,850
Pero todo este paso de la construcción y el testeo de nuestra aplicación podría ser otro paso para nuevamente

59
00:04:15,850 --> 00:04:17,380
acelerar el proceso de construcción.

60
00:04:17,800 --> 00:04:19,540
Por qué voy a hacer la red?

61
00:04:19,570 --> 00:04:26,020
Bueno, remover estas carpetas y perfectamente yo le puedo decir es que para este siguiente paso no

62
00:04:26,020 --> 00:04:28,360
necesito nada de esto, entonces ni siquiera lo voy a ejecutar.

63
00:04:28,360 --> 00:04:30,310
Solo necesito las dependencias de producción.

64
00:04:31,000 --> 00:04:35,860
Entonces podríamos crearnos un paso en el cual tengamos solo la dependencia de producción y lo que ocupamos

65
00:04:35,860 --> 00:04:37,000
para ejecutar la aplicación.

66
00:04:37,360 --> 00:04:41,590
Todo esto sonará como bien complicado, pero a la larga y al final de la próxima sección.

67
00:04:41,610 --> 00:04:42,340
Bueno, no al final.

68
00:04:42,340 --> 00:04:46,130
Pronto en la próxima sección ustedes van a ver que es más fácil.

69
00:04:46,390 --> 00:04:52,210
Es más fácil o va a ser más sencillo con el multi stage que hacer un solo Docker file con todas las

70
00:04:52,210 --> 00:04:52,930
instrucciones.

71
00:04:53,080 --> 00:04:54,520
Eso lo vamos a ver en la siguiente sección.

72
00:04:54,520 --> 00:05:01,330
Pero recuerden en el material junto a ustedes tienen la documentación de como está ahorita, por si

73
00:05:01,330 --> 00:05:03,190
acaso ustedes quieren volverlo a ver, pero recuerden.

74
00:05:03,450 --> 00:05:04,140
Nuevamente.

75
00:05:04,440 --> 00:05:09,090
Yo les puse esto acá para que ustedes vayan cuando quieran construir sus imágenes, y esas imágenes

76
00:05:09,090 --> 00:05:11,700
necesitan que sean soportadas en múltiples arquitecturas.

77
00:05:12,090 --> 00:05:13,230
Vengan a este punto.

78
00:05:13,590 --> 00:05:14,850
Ok, los veo en el siguiente video.
