【问题标题】:Upload 'ng build' to S3 Bucket将“ng build”上传到 S3 存储桶
【发布时间】:2021-10-07 04:02:25
【问题描述】:

我正在尝试将我的 angular-meteor 项目的 'ng build' 上传到 S3 存储桶。

这是我的.yml 文件

on:
  push:
    branches:
    - dev

jobs:
  build:

    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - name: Setup meteor
      uses: meteorengineer/setup-meteor@v1
      with:
        meteor-release: '1.8.1'
    

    - name: Install Node.js
      uses: actions/setup-node@v1
      with:
        node-version: '10.x'

    - name: NG build Angular
      run: ng build --prod

    - name: Deploy to S3
      uses: jakejarvis/s3-sync-action@master
      with:
        args: --acl public-read --delete

      env:
        AWS_S3_BUCKET: ${{ secrets.DEV_AWS_S3_BUCKET }}
        AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
        AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
        AWS_REGION: ${{ secrets.AWS_REGION }}
        SOURCE_DIR: 'browser'

运行此程序后,我会收到 NG build Angular 部分的此错误​​消息

除了运行ng build --prod,我还尝试运行ng build — prod — aotng build -- --prodnpm run build -- --prod,但我仍然收到相同的错误消息。

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: amazon-s3 angular-cli github-actions ng-build building-github-actions


    【解决方案1】:

    默认情况下,GitHub 运行器不会有ng/angular cli。所以我们必须安装它。下面的代码应该可以为您完成这项工作。

    on:
      push:
        branches:
        - dev
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
        - name: Setup meteor
          uses: meteorengineer/setup-meteor@v1
          with:
            meteor-release: '1.8.1'
        - name: Install Node.js
          uses: actions/setup-node@v1
          with:
            node-version: '10.x'
    
        - name: Install Angular CLI
          run: npm install -g @angular/cli
    
        - name: NG build Angular
          run: ng build --prod
        - name: Deploy to S3
          uses: jakejarvis/s3-sync-action@master
          with:
            args: --acl public-read --delete
    

    【讨论】:

    • 感谢您的回答。现在我收到此错误消息 - 您必须在 angular-cli 项目中才能使用 build 命令。 npm 错误!代码 ELIFECYCLE npm 错误!错误号 1
    • 尝试用下面的命令替换ng installnpm install -g @angular/cli@latest
    • 再次感谢山姆,但我仍然面临同样的问题,请参阅我的后续问题 - stackoverflow.com/questions/68614368/…
    【解决方案2】:

    @angular/cli 被安装为devDependency,所以你必须使用:

    - name: NG build Angular
      run: npx ng build --prod
    

    或在 Angular 12+ 中

    - name: NG build Angular
      run: npx ng build --configuration production
    

    【讨论】:

      猜你喜欢
      • 2017-04-19
      • 1970-01-01
      • 2018-08-31
      • 2020-10-17
      • 2018-04-25
      • 2015-03-12
      • 2020-12-30
      • 2018-03-11
      • 2020-02-14
      相关资源
      最近更新 更多