【问题标题】:Nuxt/Gitlab: WARNING: public: no matching files ERROR: No files to uploadNuxt/Gitlab:警告:公共:没有匹配的文件错误:没有要上传的文件
【发布时间】:2018-09-12 10:48:40
【问题描述】:

我正在尝试在 Gitlab 上部署我的 Nuxt.js/Vuetify 应用程序。我的应用在我的本地机器上运行良好。

.gitlab.ci.yml

这是Nuxt.js official documentation 建议的我的.gitlab-ci.yml 文件:

image: node

before_script:
  - npm install

cache:
  paths:
    - node_modules/

pages:
  script:
    - npm run generate
  artifacts:
    paths:
      - public
  only:
    - master

nuxt-config.js

这是我的 nuxt.config.js 文件的内容:

module.exports = {
    /*
    ** Headers of the page
    */
    head: {
    title: 'fending4',
    meta: [
        { charset: 'utf-8' },
        { name: 'viewport', content: 'width=device-width, initial-scale=1' },
        { hid: 'description', name: 'description', content: 'Nuxt.js project' }
    ],
    link: [
        { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
        { rel: 'stylesheet', type: 'text/css', href: 'https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons'}
    ]
    },


    /*
    ** Customize the progress bar color
    */
    loading: { color: '#3B8070' },
    /*
    ** Build configuration
    */
    build: {
    /*
    ** Run ESLint on save
    */
    extend (config, { isDev, isClient }) {
        if (isDev && isClient) {
        config.module.rules.push({
            test: /\.(js|vue)$/,
            enforce: 'pre',
            loader: 'eslint-loader',
            exclude: /(node_modules)/
        });
        config.module.rules.push({
            test: /\.css$/,
            loader: ['css-loader', 'stylus-loader'],
            exclude: /(node_modules)/
        });
        };      
    }   
    },
    maxChunkSize: 400000,
    performance: {
        hints: false
    }
}

错误信息

我收到此错误消息:

2018-09-12T10:33:22.028Z nuxt: Call generate:distRemoved hooks (1)
2018-09-12T10:33:22.028Z nuxt:generate Destination folder cleaned
2018-09-12T10:33:22.034Z nuxt: Call generate:distCopied hooks (1)
2018-09-12T10:33:22.034Z nuxt:generate Static & build files copied
2018-09-12T10:33:22.037Z nuxt:render Rendering url /
2018-09-12T10:33:24.320Z nuxt: Call generate:page hooks (1)
2018-09-12T10:33:24.321Z nuxt:generate Generate file: /index.html
2018-09-12T10:33:24.324Z nuxt:render Rendering url /
2018-09-12T10:33:24.325Z nuxt: Call generate:done hooks (1)
2018-09-12T10:33:24.326Z nuxt:generate HTML Files generated in 24.5s
2018-09-12T10:33:24.326Z nuxt:generate Generate done
Creating cache default...
node_modules/: found 22322 matching files          
Uploading cache.zip to http://runners-cache-3-internal.gitlab.com:444/runner/project/8345221/default 
Created cache
Uploading artifacts...
WARNING: public: no matching files                 
ERROR: No files to upload                          
Job succeeded

截图

有什么提示吗?

【问题讨论】:

  • 不包括screen shots of text。相反,只需将文本直接复制并粘贴到您的问题中即可。
  • 不清楚你的问题。你想让捆绑包更小,或者它只是不工作?
  • 在我的本地机器上,Nuxt 应用程序运行良好。我在 Gitlab 上遇到了那个错误,我想在其中进行集成测试和部署。 @Aldarund
  • @BillalBEGUERADJ 井包大小只是一个警告,它不是问题。我看到一个错误,没有要上传的文件,这就是它无法正常工作的原因。
  • 你的 .gitlab-ci.yml 看起来一点也不像 yml :)

标签: javascript gitlab vuetify.js nuxt.js


【解决方案1】:

有两种方法

  1. 您可以在 nuxt.config.js 文件中更改生成的文件夹
module.exports = {
 // custom generated folder
  generate: {
    dir: 'public'
  }
}
  1. 您可以将内容从 dist 文件夹移动到 public 文件夹
script:
  - npm run build
  - mv dist public

【讨论】:

    【解决方案2】:

    我猜问题如下:

      artifacts:
        paths:
          - public
    

    Nuxt 会生成到 dist 文件夹,而不是 public

    所以你需要这样的东西

      artifacts:
        paths:
          - dist
    

    【讨论】:

    • 感谢您的尝试,但在 Gitlab 上,文件必须生成到公共目录中,这与在本地计算机上工作时不同
    • @BillalBEGUERADJ docs.gitlab.com/ee/ci/yaml/README.html#artifacts-paths 它定义要上传的内容,而不是在 gitlab 上的位置。所以你需要上传 nuxt 生成的文件,这些文件在 dist 文件夹中,而不是 public
    • @BillalBEGUERADJ 是的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    相关资源
    最近更新 更多