【问题标题】:Development process, deployment, GitHub开发流程、部署、GitHub
【发布时间】:2012-01-04 01:31:37
【问题描述】:

我正在努力为我们的团队制定一个开发流程。

我们有 3/4 的分散开发人员随时处理我们的代码库。

我们已经开始使用 GIT,我们的想法是,工作不仅仅是实时修复,然后他们 fork 主分支。

每个人在服务器上都有自己的开发环境,我们有一个临时环境,它应该始终是主分支的副本。

开发人员在他们的本地开发,然后合并回主分支,然后应该将他们的更改推送到临时服务器 (I want to set up something like this)。

如果所有内容都获得批准,则应实时复制更改。我想以某种方式自动执行此操作,但不确定具体如何。我们使用的是 GitHub,所以我确信那里有自动部署脚本。

虽然我们只有 1 个实时服务器,所以如果只有主分支上的更改文件可以部署到实时服务器,那就太好了。

任何想法如何做到这一点?

这种方法合理吗?

还有其他 cmets/警告吗?

这样的事情需要负载均衡器吗?

【问题讨论】:

    标签: deployment github capistrano web-deployment


    【解决方案1】:

    我的公司在this blog附近。

    我们为生产创建 ma​​ster 分支。 我的案例是网络开发

    我们要做的就是

    开发人员从 ma​​ster

    分叉他们的功能/错误
    git checkout -b feature/featureA
    git checkout -b bug/B
    

    通过这种方式,我们将获得已经在发布行中的新代码。在登台服务器中,我们使用 testing 分支。因此,当任何功能想要进行测试时,它将合并到该分支

    在我们使用的登台服务器中

    git checkout testing
    git pull
    

    release分支处理热修复,每个热修复在合并到master之前都会合并到这个分支。这个想法是 release 分支会在合并到 master 之前打包一些提交,如果出现问题,它只需使用类似的命令

    git reset --hard HEAD^
    

    暂时的。

    让我们看看我的完整工作步骤

    git checkout master # Go to Master
    git checkout -b feature/New  # New branch
    

    来自老板的电子邮件,用于修复严重错误

    git stash 
    git checkout master
    git checkout -b hotfix/a
    

    做事

    git commit
    git checkout release
    git merge hotfix/a
    git checkout master
    git merge release # In case that you want to pack all ready to production
    

    生产中

    git tag -d previous
    git tag previous
    git pull
    

    哎呀!不工作

    git checkout previous
    

    新提交合并

    git checkout master
    git pull
    

    继续我的工作

    git checkout feature/New
    git stash pop #Restore workspace
    git commit
    git checkout testing # ready to mix a test
    git merge feature/New
    

    准备发布功能

    git checkout release
    git merge feature/New
    

    这是因为测试分支中的所有东西都准备好部署了。因此,当将所有准备好的功能合并到 release 分支时,现在就可以进行最终测试了。

    当一切都投入生产时,我们会这样做

    git checkout testing
    git merge master
    git checkout release
    git merge master
    

    自动化脚本

    我认为您可能会在提交代码后查看.git/hooks/post-commit.sample 以连接一些脚本?反正我从来没用过。

    【讨论】:

    • 谢谢你,我根据你的帖子和你链接的博客做了一些改编。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多