1

私のラップトップでnpm run serveは Vue アプリをロードできるhttp://localhost:8080ので、git を初期化し、アプリを新しい Gitlab リポジトリにプッシュしてから、以下のように作成Dockerfileします。

FROM node:12.18.3 AS build-stage
WORKDIR /app
COPY package*.json .
RUN npm install
COPY . .
RUN npm run build

FROM php:7.3-apache AS production-stage
COPY --from=build-stage /app/dist /var/www/html
EXPOSE 80
CMD ["apachectl", "-D", "FOREGROUND"]

イメージdocker build -t vue-app .を作成し、それをラップトップで実行すると、docker run -d -p 80:80 --rm --name test-vue-app vue-appうまく機能します

したがって、Gitlab CICD を使用して、このアプリをセルフホストの Ubuntu にホーム サーバーとして展開するには、次の手順に従います。.gitlab-ci.yml

image: docker
services:
  - docker:dind
stages:
  - deploy
step-deploy-prod:
  stage: deploy
  script:
    - docker build -t vue-app .
    - docker run -d -p 80:80 --rm --name testvueapp vue-app

また、サーバーとして別のPC(新しいUbuntu OSを使用)にインストールufwし、ルーターをセットアップしてopen-ssh、このPCが単純なホームサーバーとしてうまく機能することを確認しましたが、これは肯定的でしたapache2php

そのため、ssh を使用してサーバー デバイスに接続しgitlab-runner、Docker もインストールして登録します。

Gitlab パイプラインを実行すると を取得Job succeededできますが、サーバーで変更や更新を確認できず、コンテナーを実行した結果をサーバー マシンで直接読み込むこともできませんでした。

PS: サーバー デバイスで apache2 を有効にすることにより、任意のデバイスからhttp://XX.XX.XX.XX (存在する /var/www/html/index.php ファイルによると) に単純な php ページを読み込むことができますが、実行後にパイプラインは機能せず、サーバーでapache2を有効にすると、代わりにVueアプリの代わりにphpページをロードできます

4

0 に答える 0