Как развернуть приложение Angular8 на движке приложений Google с помощью процесса CI-CD? - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь развернуть свое приложение пользовательского интерфейса на google app engine с помощью процесса CI-CD. Для меня это в новинку. Ниже приведены шаги, которые я выполнил:

  1. Зеркальное отображение моего репозитория bitbucket.
  2. Созданы файлы cloudbuild.yaml и app.yaml.
  3. Создан триггер сборки облака.

Вот мой файл cloudbuild.yaml:

steps:
# Install npm
- name: 'node:10.10.0'
  args: ['npm', 'install']
  dir: './UI'
# Build productive file
- name: 'node:10.10.0'
  args: ['npm', 'run', 'build', '--prod']
  dir: './UI'
# Deploy UI to CP-D
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['app', 'deploy', './']
  dir: './UI'

app.yaml:

runtime: python27
threadsafe: true

handlers:
- url:  /(.*\.js)
  mime_type: text/javascript
  static_files: EPortal/\1
  upload: EPortal/(.*\.js)

- url:  /favicon.ico
  static_files: EPortal/favicon.ico
  upload: EPortal/assets/favicon.ico

- url:  /(.*\.(gif|png|jpg|css|js|json)(|\.map))$
  static_files: EPortal/\1
  upload: EPortal/(.*)(|\.map)

- url:  /(.*\.svg)
  static_files: EPortal/\1
  upload: EPortal/(.*\.svg)
  mime_type: image/svg+xml

- url:  /.*
  secure: always
  redirect_http_response_code: 301
  static_files: EPortal/index.html
  upload: EPortal/index\.html
  http_headers:
    Strict-Transport-Security: max-age=31536000; includeSubDomains
    X-Frame-Options: DENY

Ниже представлены созданные журналы. Вставка только нескольких журналов из соображений безопасности:

Step #2: Do you want to continue (Y/n)?  
Step #2: Beginning deployment of service [default]...
Step #2: ERROR: (gcloud.app.deploy) Cannot upload file [/workspace/UI/node_modules/canvas/build/Release/librsvg-2.so.2], which has size [47123185] (greater than maximum allowed size of [33554432]). Please delete the file or add to the skip_files entry in your application .yaml file and try again.
Finished Step #2
ERROR
ERROR: build step 2 "gcr.io/cloud-builders/gcloud" failed: step exited with non-zero status: 1

Все работает нормально, кроме моего deployment. Не развертывается из-за проблемы size. Было бы здорово, если бы вы помогли мне это исправить.

Спасибо.

1 Ответ

2 голосов
/ 16 июня 2020

Вам нужно node_modules в приложении Python? Похоже, это только для создания сайта stati c. В этом случае вы можете проигнорировать node_modules либо:

Учитывая текущую конфигурацию вашего приложения, это может выглядеть так:

runtime: python27
threadsafe: true
skip_files:
  - node_modules/

handlers:
- url:  /(.*\.js)
  mime_type: text/javascript
  static_files: EPortal/\1
  upload: EPortal/(.*\.js)

- url:  /favicon.ico
  static_files: EPortal/favicon.ico
  upload: EPortal/assets/favicon.ico

- url:  /(.*\.(gif|png|jpg|css|js|json)(|\.map))$
  static_files: EPortal/\1
  upload: EPortal/(.*)(|\.map)

- url:  /(.*\.svg)
  static_files: EPortal/\1
  upload: EPortal/(.*\.svg)
  mime_type: image/svg+xml

- url:  /.*
  secure: always
  redirect_http_response_code: 301
  static_files: EPortal/index.html
  upload: EPortal/index\.html
  http_headers:
    Strict-Transport-Security: max-age=31536000; includeSubDomains
    X-Frame-Options: DENY
...