我正在使用Bitbucket Pipelines + AWS CodeDeploy + AWS EC2实例运行我的角度应用程序。管道运行良好,代码是即时生成的,然后对于EC2,它仅上载dist /文件夹。然后,当我尝试访问我的页面时,不会加载css文件和js文件。
我尝试使用stackoverflow的另一种解决方案,但没有任何效果。 EC2在Ubuntu 18.04上的apache2上运行。
我试图授予执行js文件的权限,但是它也无法正常工作。
所有文件都在同一目录中。
/deployment-id/deploment-archive/
-index.html
-runtime.js
-main.js
-polyfills.js
-runtime.js
-styles.css
index.html
<script type="text/javascript" src="runtime26209474bfa8dc87a77c.js"></script>
<script type="text/javascript" src="es2015-polyfillsbda95d5896422d031328.js" nomodule></script>
<script type="text/javascript" src="polyfills8bbb231b43165d65d357.js"></script>
<script type="text/javascript" src="maindcabcbb8258040c4d925.js"></script>
目前,它仅使用呈现空白页面,并且在控制台中出现警告“使用源www.myawslink.com/main.js加载失败”
当我尝试直接访问文件时,apache说“找不到404个文件”,但是当我用腻子连接到ec2时,我会在index.html中看到部署目录中的文件。我希望页面能够正确呈现,并且js文件可以正常工作。
答案 0 :(得分:0)
好的,问题出在apache2。
因为文件是从/ var / www / html /提供的,而在我的appspec.yml中,我在此处仅包含index.html
所以我改变了
- source: /index.html
destination: /var/www/html/
对此
- source: /dist
destination: /var/www/html/
现在一切正常。
和我的bitbucket-pipeline.yml看起来像这样
pipelines:
default:
- step:
name: build angular
image: node:10
caches:
- node
script:
- npm install
- npm install -g @angular/cli
- ng build --prod
artifacts:
- dist/**
- step:
name: deploy
image: python:3.5.1
script:
- apt-get update # required to install zip
- apt-get install -y zip # required for packaging up the application
- pip install boto3==1.3.0 # required for codedeploy_deploy.py
- zip -r /tmp/artifact.zip dist/* scripts/* appspec.yml package.json # package up the application for deployment
- python codedeploy_deploy.py # run the deployment script