Wie kann ich mit NUXTJS Official S3 und CloudFront für AWS bereitstellen? Mit Docker-Compose

Einführung

Wie kann ich mit S3 und CloudFront in der offiziellen Dokumentation für AWS bereitstellen? Ich möchte zusammenfassen, wie man es einfach mit Docker-Compose bereitstellt.

(Offizielles Dokument) Wie kann ich mit S3 und CloudFront auf AWS bereitstellen?

Die Einstellungen von AWS (S3, CloudFront) finden Sie unter hier.

1. Dateistruktur

nuxtapp/docker-compose.yml
nuxtapp/Dockerfile
nuxtapp/deploy.sh
nuxtapp/gulpfile.js

2. Für die Docker-Konvertierung erforderliche Dateivorbereitung

Dockerfile


FROM node:12.18.3-alpine3.9
RUN apk add --no-cache openssh bash python make
RUN npm install -g gulp
RUN npm install --save-dev gulp gulp-awspublish gulp-cloudfront-invalidate-aws-publish concurrent-transform

docker-compose.yml


version: '3'

services:
  node: &app_base
    build: .
    # tty: true
    working_dir: /var/www
    volumes:
      - .:/var/www
    environment:
      PORT: 3000
      HOST: 0.0.0.0
  install:
    <<: *app_base
    command: npm ci
  dev:
    <<: *app_base
    ports:
      - "3000:3000"
    command: npm run dev
  generate:
    <<: *app_base
    command: npm run generate
  dev_static:
    image: httpd
    volumes:
      - ./dist:/usr/local/apache2/htdocs/
    ports:
      - "80:80"
  s3deploy:
    <<: *app_base
    command: ./deploy.sh

Ändern Sie für "docker-compose.yml" den Artikel hier von Garn auf npm und installieren Sie die Prozedur mithilfe der Docker-Datei manuell im Container. Ich habe es vorbereitet.

3. Verwendung

Jeder Container sollte nach Bedarf in "docker-compose.yml" definiert werden.

Starten Sie die Anwendungsentwicklungsumgebung

$ docker-compose up dev

Führen Sie npm run dev im Container aus.

Generierung statischer Dateien

$ docker-compose up generate

Führen Sie "npm run generate" im Container aus. Das Ausgabeergebnis wird standardmäßig in nuxtapp / dist ausgegeben.

Überprüfen der Funktion der statischen Ausgabedatei lokal

$ docker-compose up dev_static

Stellen Sie den dist lokal im Tomcat-Container bereit. http://localhostにアクセスするとアプリを確認できます。

Bereitstellen

$ docker-compose up s3deploy

Führen Sie deploy.sh im Container aus.

Wenn Sie dem Erfolgsbild des offiziellen Verfahrens folgen, sind Sie fertig.

Recommended Posts

Wie kann ich mit NUXTJS Official S3 und CloudFront für AWS bereitstellen? Mit Docker-Compose
[Rails] So laden Sie Bilder mit Carrierwave und Fog-Aws in AWS S3 hoch
[Rails] So laden Sie Bilder mit refile und refile-s3 in AWS S3 hoch
So stellen Sie Java mit Serverless Framework für AWS Lambda bereit
Verwendung von MinIO mit derselben Funktion wie S3 Verwenden Sie Docker-Compose
So überwachen Sie Nginx mit Docker-Compose mit Datadog
Wie man eine hybride Suche mit morphologischer Analyse und Ngram mit Solr realisiert
Verwendung der Dateien args :, environment :, env_file: und .env mit dem Befehl docker-compose
Erste Schritte mit Micronaut 2.x ~ Native Build und Bereitstellung für AWS Lambda ~
So geben Sie Excel und PDF mit Excella aus
Ausführen einer Methode und Verspotten mit JUnit
Wie man Stimme oder Musik mit Javascript spielt
[AWS] So stellen Sie eine mit Rails 6 erstellte Webanwendung mithilfe von CircleCI (1) -Vorbereitung automatisch für ECR / ECS bereit [Containerbereitstellung]
Verwendung des Java-Frameworks mit AWS Lambda! ??
So speichern Sie Bilder auf Heroku in S3 unter AWS
So senden Sie benutzerdefinierte Metriken und Ereignisse mit Laravel in einer Docker-Compose-Umgebung an Datadog
Stellen Sie Rails mit AWS Copilot für ECS Fargate bereit
So erstellen Sie eine API mit GraphQL und Rails
[Docker] Wie man mit einem Container in Heroku aktualisiert und wie man mit Migrate Error umgeht
So führen Sie mit RxAndroid einen Komponententest mit JVM an einer Quelle durch
Ich habe MySQL 5.7 mit Docker-Compose gestartet und versucht, eine Verbindung herzustellen
So serialisieren und deserialisieren Sie den LocalDateTime-Typ mit GSON
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
So laden Sie Bilder von AWS S3 herunter (Rails, Carrierwave)
[Rails] Erstellen Sie eine Sitemap mit sitemap_generator und stellen Sie sie in GAE bereit
So installieren Sie Gradle und Kotlin mit SDKMAN (Mac)
Wie schreibe ich Docker-Compose
So erstellen Sie Docker-Compose
Testen des Einschlusses von Bildern bei Verwendung von ActiveStorage und Faker
Festlegen von Umgebungsvariablen bei Verwendung von Payjp mit Rails
So transformieren Sie ARKit- und SceneKit-Figuren mit Metal Shader
Festlegen und Beschreiben von Umgebungsvariablen mit Rails zsh
So stellen Sie jQuery in Rails-Apps mit Webpacker bereit
So stellen Sie eine Kotlin (Java) -App auf AWS fargate bereit
So erstellen Sie eine App mit Tensorflow mit Android Studio
So verbinden Sie eine Tabelle ohne DBFlute und SQL
Erste Schritte mit JDBC mit PostgresSQL unter MacOS
So stellen Sie die Rails-Anwendung in AWS bereit (Artikelzusammenfassung)
So registrieren Sie sich mit Tomcat als Kunde in Square
Umgang mit verschiedenen Versionen von rbenv und Ruby
Hochladen / Herunterladen / Löschen von Daten in S3 mithilfe von Amazon S3 Client Builder mit AWS SDK für Java
Verwendung des Zertifikats und des privaten Schlüssels, die durch die BASIC-Authentifizierung von Docker mit AWS ALB erstellt wurden
Wie man mit Heroku einsetzt
Wie man mit html.erb nummeriert (nummeriert)
So aktualisieren Sie mit activerecord-import
So autorisieren Sie mit graphql-ruby
[Docker-compose] Verwendung unbenannter und benannter Volumes von Volumes. Binden Sie die Halterung
Verschlüsseln Sie Daten, die mit AWS SDK für Java / SSE-KMS in S3 hochgeladen wurden
Wie POST JSON in Java-Methode mit OkHttp3 und Methode mit HttpUrlConnection-
[Rails] Wie man Kaminari mit Slim einführt und das Design ändert
[Tipps] So lösen Sie Probleme mit XCode und Swift für Anfänger
So veröffentlichen Sie eine Anwendung mithilfe der AWS (3) EC2-Instanzumgebungskonstruktion