Detect GitHub/GitLab CI test status to trigger auto deploys
in progress
R
Richard Gill
You can use Render Deploy Hooks to trigger a build from an external CI service like GitHub Actions or CircleCI.
It would be nice to automate this process based on CI status check events that GitHub already emits on the repo.
Log In
Anurag Goel
This can be achieved today by turning auto-deploys off and using Deploy Hooks: https://render.com/docs/deploy-hooks. We are still planning to add it to our native GitHub/GitLab integrations.
r
robdimarco
in progress
C
Ciao
can i use travis ci to auto deploy ?
g
geoff.tidey
Any updates Anurag Goel? This ticket is
three
years old & third most voted feature request at this moment in time.B
Bèr Kessels
I'm using Github Actions to run acceptance tests over the deployed instance. This is somewhat reversed from what is proposed here.
FWIW, what I
need
is the following:* CI runs linter & unit tests
* if green, CI triggers a build on acceptance env of Render.
* when deployed, CI runs acceptance tests over the network: client on CI, server on render acceptance env.
* if green, CI tags the release on GH.
In render.com I then want another interface (or CLI-tool) that allows me to deploy any such tagged release to production env on render. Full CI/CD might do this last step automated as well.
Except for maybe the last, this is a rather common CI pipeline: run unit tests, deploy to a staging env, acceptance-test that staging env, mark build as passed/failed.
Some ways this could be achieved, none of which work currently due to missing pieces on render.com (or needing to write coupled/complex code)
* As per this here feature-request: there is no easy way to say: deploy only after step or pipeline x has passed on the CI.
* I cannot easily trigger a release (using a webhook) and then wait for it to be deployed from my CI. The gh-action by bounceapp has a bug, but would do this. Ideally the health-check would be used for this.
* render cannot call a webhook (on github) after successfull release which would trigger another CI-pipeline and/or the next step in the pipeline - I must now build this into the app and/or the boot script instead. Maybe I'm missing something?
* Render seems to have no easy way to reset or drop+create the database around each integration test - I must now build this into the app. Maybe this is planned in the API?
K
Khiman Louër
Anurag Goel Any news on this feature ?
We would really love this :)
G
Georges Gabereau
This would also help integrate nicely with Github Actions. I'd really love to see this implemented.
c
connor
Out of interest - this is marked as
Planned
- I was wondering if there's any information available as to what the plan is?We're currently using the Deploy Hooks with Circle CI and it's working well!
Anurag Goel
connor: The plan is to automatically detect CI check runs in Circle/Travis and optionally wait to deploy until the checks succeed.
L
Lloyd Chang
Hi Anurag Goel,
Would the plan look like:
Step 1: Render: Events: Get CircleCI pipeline by ID
Step 2: → CircleCI returns
"state": "created"
to Render: EventsStep 3: → Render: Events: Deploy
?
References:
Thank you.
M
Marc Köhlbrugge
Here's a work-around you can use right now:
- Create a new branch called "production".
- Set up Render to auto-deploy from that branch (instead of "master")
- Configure your CI such that when the build passes, it pushes "master" branch to "production"
The added benefit of this approach versus just deploying from master, is that you know for a fact* what code is live on production. With the traditional approach you might end up with a master branch that does not pass and thus is no longer a representation of what code is running on production.
* except of course, if the deploy itself failed
g
geoff.tidey
Unfortunately this breaks review apps. As currently they must be branched off the render deployment branch.
o
ouuan
This shoud be optional so that users can use Render as a CI test.
N
Nicos Maris
Same for gitlab Merge Requests
Load More
→