如何配置我的存储库和TravisCI以自动部署到GAE标准环境?

I'm in the process of configuring my Go app to be able to be automatically deployed on pushes to master on GitHub.

So far, I've been able to set it up using Google App Engine's flexible environment but I'm unable to take advantage of the free tier by doing so. I'm pretty sure what I'm doing wrong is misconfiguring my cloudbuild.yml file since it seems like the code is actually getting to GAE but it will not run when it gets there.

Here's my app.yaml:

runtime: go112

Here's my cloudbuild.yaml:

steps:
  - name: 'golang'
    args: ['go', 'build', '.']
    env: ['GO111MODULE=on']

The Go app itself is relatively standard in its layout/design and can be found here where I'm working on the "gae-standard" branch.

I'd ideally love to have: - TravisCI run tests/deploy code to GAE - GAE running the code in the standard environment

If anyone has a good example to point me at, or some insight into what I'm doing wrong, I'd appreciate it.

It seems that you have 2 main questions here.

1- How automatically deployed on pushes to master on GitHub? For this you can use Running builds on GitHub[1]. Google Cloud Build lets you create fast, consistent, reliable builds across all languages. Automatically build containers or non-container artifacts on commits to your GitHub repository. Get complete control over defining custom workflows for building, testing, and deploying across multiple environments such as VMs, serverless, Kubernetes, or Firebase.

2.-How to set-up Google App Engine's flexible environment to take advantage of the free tier? From my point of view you where well addressed by @Jesse

[1] https://cloud.google.com/cloud-build/docs/run-builds-on-github

I think the watchmyrepo.db file was exactly the problem or at least that's what it looks like in the logs (which I failed to find/review). I'm planning on migrating this over two Datastore or something else and moving off of BoltDB so that should alleviate the issue.

It was all just coding issues on my part that were generating 500/502 errors and those have now all been resolved - thanks!