Deployment to Google Cloud Run using Angular v17 Application Builder not working
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- angular, firebase, google-cloud, typescript
- Lĩnh vực
- build-system, cloud, devops
Hướng nghiên cứu
Bắt đầu bằng cách chạy npx nx run app:build --configuration=production và kiểm tra src/schematics/deploy/actions.ts quanh phần mã triển khai Cloud Run được liên kết trong issue. So sánh đầu ra dist/.../browser và server của Angular application builder với các đường dẫn được sử dụng để triển khai, sau đó xác minh rằng việc triển khai thành công với cấu hình này.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Version info
Angular:
17.2.2
Firebase:
13.3.1
AngularFire:
17.0.1
Other (e.g. Ionic/Cordova, Node, browser, operating system):
Node 20
How to reproduce these conditions
Use @angular/fire with the new @angular-devkit/build-angular:application.
Failing test unit, Stackblitz demonstrating the problem
Steps to set up and reproduce
Start a new repo with the following configuration (I used Nx with project.json, but vanilla angular.json also works):
// ...
"targets": {
"build": {
"executor": "@angular-devkit/build-angular:application",
"outputs": ["{options.outputPath}"],
"options": {
"outputPath": "dist/apps/app",
}
}
"deploy": {
"executor": "@angular/fire:deploy",
"configurations": {
"production": {
"buildTarget": "app:build:production",
"serveTarget": "app:build:production"
}
},
}
Then execute the target using npx nx run app:build --configuration=production. This creates the following structre:
dist/
|_ apps/
|_ app/
|_ browser/
|_ server/
|_ ...
|_ main.server.mjs
|_ server.mjs
But this code to deploy to Cloud Run still uses the old main.js. Also, it is using the outputPath from the build target, but since that outputPath does not contain browser or server, the final path needs to have this folder added too.
The change can be something like this (I have not tested this):
const packageJson = getPackageJson(context, workspaceRoot, options, join(serverBuildOptions.outputPath, 'main.js'));
...to something like this:
const packageJson = getPackageJson(context, workspaceRoot, options, join(serverBuildOptions.outputPath, 'server', 'main.server.mjs'));
...and probably more than this.
Sample data and security rules
Debug output
** Errors in the JavaScript console **
** Output from firebase.database().enableLogging(true); **
** Screenshots **
Expected behavior
Upload to Cloud Run using Angular v17 @angular-devkit/build-angular:application should work.
Actual behavior
Upload to Cloud Run fails for Angular v17 with @angular-devkit/build-angular:application.
- Ngôn ngữ chính
- TypeScript
- Star
- 7.8k
- Fork
- 2.2k
- Merge trung bình
- 3 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 5
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của angular/angularfire
-
comp: build/pipeline type: bug version: current (v17+)
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
angular/angularfire#3766 ·
-
comp: schematics type: bug version: current (v17+)
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 76/100
angular/angularfire#3768 ·
-
comp: docs type: chore version: current (v17+)
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 58/100
angular/angularfire#3764 ·
-
comp: firestore comp: ssr priority: P0 (critical) type: feature version: current (v17+)
angular/angularfire#3757 · 1 người được giao ·
-
Six `firebase` entry points have no `@angular/fire` equivalent, so their exports are unreachable Đang mởcomp: core type: feature
angular/angularfire#3755 · 1 người được giao ·
Tất cả issue của angular/angularfire
Issue tương tự
-
blocklist removal
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
MetaMask/eth-phishing-detect#296544 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
pastelsky/bundlephobia#1122 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100