【问题标题】:Best practice to automatically initialize project (git + composer + bower etc.)自动初始化项目的最佳实践(git + composer + bower 等)
【发布时间】:2015-05-20 09:00:53
【问题描述】:

我有带有 2 个 git 子模块的私有 git 存储库 (后端 - Laravel API REST 和前端 - AngularJS)。

一旦开发者克隆了项目,他必须运行一个设置过程来初始化这个项目。

例如:

git submodule init
git submodule update
cd backend
composer update
mv .env.example .env
php artisan migrate --seed
cd ../frontend 
bower install
etc ...
  • 自动运行这些命令的最佳做法是什么?
  • 简单地告诉开发人员如何手动初始化项目的最佳做法是什么
    (也许是 git 存储库中的一些自述文件)?

【问题讨论】:

    标签: git setup-project projects-and-solutions


    【解决方案1】:

    你可以创建 bash 脚本

    创建一个名为“update.sh”的文件并添加您的命令序列,如下所示

    #!/bin/bash -e
    git status
    composer update
    bower install jquery
    

    现在保存文件并将其放在您的根目录中。

    你可以像这样update.sh

    在你的shell中执行sh文件

    【讨论】:

    • 谢谢,我也想过,但现在我确定这是最好和最简单的解决方案。
    • 由于当前目录通常不在(也不应该)在 shell 路径中,因此您需要 ./update.sh 来运行脚本。
    【解决方案2】:

    听起来您需要一个脚本来为您完成这项工作。

    编写脚本,将其放在项目的根文件夹中并告诉用户运行它。如果您修改脚本及其内容,使用脚本将使您的生活更轻松。
    您只需更新脚本即可跳过更新文档的需要,除非您必须这样做。

    如果您使用 git(任何操作系统),您可以编写 bash/sh 文件,只需将问题中的内容复制到文件中并将其推送到 git。只需确保您设置了文件的执行权限,以便您的用户能够执行它。

    init_project.sh

    #!/bin/sh
    
    git submodule init
    git submodule update
    cd backend
    composer update
    mv .env.example .env
    php artisan migrate --seed
    cd ../frontend 
    bower install
    

    【讨论】:

    • 谢谢,我也想过,但现在我确定这是最好和最简单的解决方案。
    • 这种方式很容易维护和节省用户从手动开始做事的时间
    猜你喜欢
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    相关资源
    最近更新 更多