轻松移动环境:deploybot,docker或manual grunt / gulp setup?

时间:2015-12-03 11:36:09

标签: wordpress git docker gruntjs gulp

使用wordpress网站的直接环境设置,用于开发的本地AMP堆栈,用于审阅/签收的登台环境以及最终的生产环境,什么是快速移动环境的最佳选择?

local (dev) > staging > development

不同的开发人员应该能够轻松地模拟网站(使用类似的服务器设置),然后在完成功能时提交git。 (然后travis根据运行测试的提交启动)

然后它必须能够轻松地移动到登台服务器,以便客户可以查看它以最终发布到生产中。

阅读Docker的文档符合要求,但这似乎有点矫枉过正。

1 个答案:

答案 0 :(得分:1)

是的,Docker似乎对你想要的东西有些过分,你可以用Grunt和grunt-ftp-deploy来做到这一点

示例:
您可以将任务添加到grunt文件中以进行开发,登台和生产。

我们以分段为例。

'ftp-deploy-staging': {
  build: {
    auth: {
      host: 'server.com',
      port: 21,
      authKey: 'key1'
    },
    src: 'path/to/git/folder',
    dest: '/path/to/staging/folder'
  }
}

您可以在暂存任务中添加此内容。

grunt.registerTask('staging', 'Staging', function() {
    // do staging stuff
    grunt.task.run('do-staging-stuff');
    /**
     * etcetera
     */

    // send to FTP 
    grunt.task.run('ftp-deploy-staging');
});

关于Docker:
Docker通常用于完整环境的持续部署。你可以在你的Dockerfile中做这样的事情。

ENV HOME /usr/share/
ENV GITURL github.com/something/something.git
ENV GITNAME git_name_on_github
ENV GITBRANCH master

RUN cd ${HOME} && rm ./* && \
    git clone https://${GITACCESSTOKEN}@${GITURL} ${HOME} && \
    /usr/bin/git init && /usr/bin/git pull origin ${GITBRANCH}