Dart - 처음부터 배포까지 🚀

엠페세모스 ✨



Creemos el proyecto desde 0.

Si tienes configurado Flutter, dart ya debería estar en tu PATH también.



$ dart create server


Obtendrás algo como esto:

void main(List<String> arguments) {
  print('Hello world!');
}


Para este proyecto usaremos el poderoso server de Shelf .

$ dart pub add shelf


Agreguemos algo de código:

import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart' as shelf_io;

void main() async {
  var server = await shelf_io.serve(
      (Request request) => Response.ok('Hello World!'), '0.0.0.0', 8080);

  print('Serving at http://${server.address.host}:${server.port}');
}


엔트라모스 alocalhost:8080 :


프레페모스 도커



Esto no es un tutorial de docker así que no me detendré a explicarlo, eso daría para una serie de publicaciones 🤷‍♂️



도커파일




FROM dart:stable AS build
WORKDIR /app
COPY pubspec.* ./
RUN dart pub get
COPY . .
RUN dart pub get --offline
RUN dart compile exe bin/server.dart -o bin/server
FROM scratch
COPY --from=build /runtime/ /
COPY --from=build /app/bin/server /app/bin/
CMD ["/app/bin/server"]


.dockerignore




.dockerignore
resources
CHANGELOG.md
LICENSE
README.md
Dockerfile
build/
.dart_tool/
.git/
.github/
.gitignore
.packages


docker-compose.yml




version: '3'
services:
  dart-server:
    build: .
    ports:
      - "8080:8080"


바모스 아 프로발로 🐛




$ docker compose up


Probamos de nuevo localhost:8080 y todo 정상.

준비 과정 👩‍🚀👨‍🚀



Para esto usaremos Github Y Railway (Por qué son excelentes herramientas y son gratis).

Railway nos dará un puerto para nuestra aplicación así que hay que hacer ese cambio.


  • Actualizamos nuestro código.

  • import 'dart:io';
    
    import 'package:shelf/shelf.dart';
    import 'package:shelf/shelf_io.dart' as shelf_io;
    
    void main() async {
      var port = int.tryParse(Platform.environment['PORT'] ?? '') ?? 8080;
      var server = await shelf_io.serve(
          (Request request) => Response.ok('Hello World!'), '0.0.0.0', port);
    
      print('Serving at http://${server.address.host}:${server.port}');
    }
    


  • Lo subimos a Github .
  • 초기 프로젝트는 Github en Railway에서 시작되었습니다.
  • Elegimos el repositorio, Railway detectara nuestro Dockerfile y empezara a armarlo.
  • Al terminar nos imprimirá el log de nuestra aplicación y nos dará un URL.

  • Y listo 🚀🚀



    Estamos online .

    Te gusto la practica? 의도적으로 언어를 사용합니까?
    Happy Hacking 🧑‍💻🎉에 대한 댓글 보기

    좋은 웹페이지 즐겨찾기