如何 运行 g运行t 构建以便使用 bitbucket 管道部署 Web 应用程序?

How to run grunt build in order to deploy the web application with bitbucket pipeline?

我想在生产模式下生成 Web 应用程序(运行ning g运行t 构建)并从 dist/[=37 推送生成的文件和文件夹=] 我的虚拟主机上的文件夹,通过 git ftp.

使用 bitbucket 管道

Bitbucket 网络应用结构

app[dir]
tests[dir]
.gitignore
Gruntfile.js
bitbucket-pipelines.yml
bower.json
package.json
...

git忽略

/node_modules
/dist
/.tmp
/.sass-cache
/bower_components

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db
log
node_modules
node

# Personal application yamls #
##############################
*bitbucket-pipelines.yml
src/main/resources/static/js/vendor
application-cat.yml
.tern-project
bitbucket-pipelines.yml
.idea/workspace.xml

bitbucket-pipelines.yml

image: node:4.6.0

pipelines:
  default:
    - step:
      script: 
        - apt-get update
        - apt-get -qq install git-ftp
        - npm install
        - npm install -g grunt-cli
        - npm install -g grunt@0.4.5
        - npm install -g bower
        - bower install  --allow-root
        - grunt build
        - git ftp push --user $FTP_USERNAME --passwd $FTP_PASSWORD ftp://myDomain.com/public_html/folder/

通知

如果我 运行 在本地 "grunt build" 它将在我的根应用程序名称中生成一个文件夹: dist ( OK !! ). 如果我 运行 bitbucket.pipelines.yml 脚本(全部成功),它不会生成任何 dist 文件夹( 不行!! ).

结论

I ended up with pushing all repository on my webhost because I can't target any dist folder. Any suggestions ?

我们需要使用.git-ftp-include 文件来包含未跟踪的文件。如果 grunt build 生成 build 文件夹。然后我们需要在 .git-ftp-include 中添加以下内容以强制同步过程中的构建文件夹。

!build/

希望对您有所帮助