1

I'm an absolute beginner on the Google app engine.

I have gone through the documentations for deploying a basic php app. The guidelines for deploying php7 apps aren't very clear to me.

Let's say I have a CMS written in php MySQLi. Assuming the project has privileges (in separate folders) for admin, users and guests, and I want to deploy it on Google app engine;

  1. What are the configuration(s) that are most recommended for this option.
  2. Asides the Google SDK, is there any GUI application that could help make the process easier?
  3. Does the SDK also have version control on them? How do it update codes without re-deploying the whole project all over again?
Dan Cornilescu
  • 39,470
  • 12
  • 57
  • 97
Solomon Mbak
  • 75
  • 1
  • 2
  • 14

2 Answers2

3

For #1 you probably should go through Choosing an App Engine environment first. I can't help with more details as I'm not a PHP developer (which is also why I can't answer #2).

For #3 GAE itself only tracks versions at the entire service level, each deployment consisting of the entire set of the service's deployable artifacts.

However it may be able to skip unnecessarily uploading unchanged artifacts. I know it does it at least for python standard environment services if re-deploying from the same workspace, in rsync style. You can confirm this by increasing the deployment verbosity via the --verbosity option. I'm unsure if the fact that I was using git for the project mattered.

For the flexible environment services things are a bit more complex, since the deployment artifacts are docker images, see How can I speed up Rails Docker deployments on Google Cloud Platform?

If you'll have a multi-service app each service can be deployed individually, but a service deployment in itself is a complete one, not an incremental one, creating a new version of the service.

The app-level configs (applicable to all services) are individually re-deployable, without re-deploying any of the services:

To deploy the other configuration files of your service, you must target and deploy each file separately. For example:

gcloud app deploy cron.yaml
gcloud app deploy dispatch.yaml
gcloud app deploy index.yaml
Dan Cornilescu
  • 39,470
  • 12
  • 57
  • 97
0

There is another way. The google console allows for mirroring of repositories withing the cloud service. Locate "Source Repository", connect with you GitHub account and mirror a repository. Its faster and easier if you ask me.

Solomon Mbak
  • 75
  • 1
  • 2
  • 14