Jump to content

Deployment workflow using submodules


Recommended Posts

We have a Prestashop 1.5.6 installation we manage, and we've been fine with using capistrano to manage our deployments to both our live and test servers.

 

I'm trying to refine our workflow, as we've got the entire prestashop installation stuck into our git repository, along with every module that we've written, of which there are about 9.

 

Does anybody follow a deployment workflow whereby Prestashop core is pulled from the Prestashop Github repository, and custom modules built as separate Git submodules?

 

I'm looking at creating a parent Git repo, with the Prestashop repository as a submodule, and then with our custom Prestashop modules, as submodules inside the modules folder.

 

What is the best way to set this up? 

 

If I can refine the question even further, here's how I see the folder structure looking like:

    myproject
        - .git
        - prestashop (https://github.com/PrestaShop/PrestaShop.git)
            - ...
            - modules
                - ...
                - my_module_1 (Git submodule 1)
                - my_module_2 (Git submodule 2)
                - my_module_3 (Git submodule 3)

I'm thinking I'll have a parent project, myproject, with the submodules added to prestashop/modules.

 

If I commit the above, will I be able to do a git clone, and all the repositories clone with the entire project?

Edited by [email protected] (see edit history)
Link to comment
Share on other sites

  • 1 month later...

Hi,

 

we are using capistrano (2.15.5) with custom recipes to deploy to staging/production. After almost year in use I regret this decision. It's not mistake of capistrano, it's just that prestahop doesn't have any (not counting installation) command line interface. As a result, after deployment, I run migrations (doctrine) and then going to admin to activate/place modules/alter settings, etc.

 

So I've spent time by writing bash tasks for: creating config file, symlinking common directories... well, almost dozen different db tasks.. and suddenly there isn't alsmost anything that capistrano does for me... it's all just bash script I've written using silly capistrano DSL.

 

And it's still really painful to deploy anything.

 

It might be that capistrano 3 is kinda better, but it was rather alpha release when I was playing with it. If I were you, I would definitely forget about capistrano and move to Docker + write some cli to work with modules. I'm planing to write some temporary cli as soon as I get some free time.

Link to comment
Share on other sites

  • 7 months later...

Hi,

 

we are using capistrano (2.15.5) with custom recipes to deploy to staging/production. After almost year in use I regret this decision. It's not mistake of capistrano, it's just that prestahop doesn't have any (not counting installation) command line interface. As a result, after deployment, I run migrations (doctrine) and then going to admin to activate/place modules/alter settings, etc.

 

So I've spent time by writing bash tasks for: creating config file, symlinking common directories... well, almost dozen different db tasks.. and suddenly there isn't alsmost anything that capistrano does for me... it's all just bash script I've written using silly capistrano DSL.

 

And it's still really painful to deploy anything.

 

It might be that capistrano 3 is kinda better, but it was rather alpha release when I was playing with it. If I were you, I would definitely forget about capistrano and move to Docker + write some cli to work with modules. I'm planing to write some temporary cli as soon as I get some free time.

 

Are you still working with capistrano? what would you suggest for a new setup?

 

I am looking for best solution in order to follow similar approach

[ local development/test enviroment , github between , live server with production enviroment ]

Edited by HaCos (see edit history)
Link to comment
Share on other sites

×
×
  • Create New...