team setup and deploying for a laravel production evironment

时间:2018-01-23 19:38:20

标签: git laravel-5 web-deployment production-environment continuous-deployment

I am just starting own as a developer. I am currently working with laravel and soon Nodejs. I have a very small budget so free and open source are my best friends. i have two questions.

  1. how do i setup my team to work with git so that every can be working on something related to the same project without having much conflict with access management?

  2. how do i setup my production environment, in term of deployment and roll back with minimum or no downtime? currently i am using filezilla but there has to be a better way.

1 个答案:

答案 0 :(得分:0)

你有很多选择!

最重要的是,如果您自己的项目也是开源的,那么它们都是免费的。 这意味着您的回购需要公开。 如果您需要私人回购,请不要担心 - 费用很少,而且在合理预算紧张的情况下仍然可以遵循这些步骤。

  1. 在github上创建一个repo并托管你的源代码(或bitbucket,或者gitlab,或者其他什么 - 但github受到广泛支持)
  2. 弄清楚如何构建laravel项目并编写脚本。它可能像npm run dev,npm run production等一样简单。
  3. 在AppVeyor和/或TravisCI上设置帐户。如果要在Windows机器上运行构建,请使用Appveyor,如果要在linux / macOS机器上运行构建,请在travisCi上运行。您也可以查看VSTS,但这将比这些选项花费更多。
  4. 学习maven或gradle或其他可以使用的构建工具。 maven和gradle有办法部署到生产。这将全部在构建工具本身中编写脚本并进行配置。
  5. 配置appveyor / travisci / vsts以在项目上运行maven / gradle构建。
  6. 关于appveyor / travisCI的最佳部分是这些对开源项目完全免费 - 这意味着,您的构建将运行在其他人的硬件和电费账单上。如何保持低成本? 最后,您将要进行生产 - 再次,maven和gradle已内置配置来处理此问题。

    对于新手来说,步骤4和5将是最难的,但这并不难学 - 只需要一些时间:)

    P.S。 jenkins也是一个很好的构建系统,但它会花费你一分钱 - 与VSTS相同。 我上面提到的建议最有利于节省成本。它们也是开源(读取:免费)开发项目中最受欢迎的工具(如果不是最受欢迎的话)< / p>

    这一切都不容易,特别是如果你以前从未接触过maven或gradle,或者有过CI / CD(持续集成/持续部署)的经验。但CI / CD实践在软件开发中无处不在,网上有大量资源可以帮助您!

    祝你好运!