2 years ago
While the existing Github integration is great, it is ok only for trivial deployments.
For a complex application I would need to create a pipeline that does the following
Checks out my code
Runs unit tests and linters
Builds my docker image with custom args
Runs integration tests in Github actions with an attached db
Runs DB migrations against the Railway prod DB
Deploys the image to Railway DB
Runs smoke tests
It would be great if for step 6 there exists an action here https://github.com/marketplace?type=actions that deploys a docker image to Railway environment. Something similar to "railway up" but for an existing docker image.
See also https://devcenter.heroku.com/articles/heroku-ci for a "proper" workflow solution
5 Replies
2 years ago
2 years ago
We do have this! Simply call the CLI from actions
Example:
Jake Cooper: While this might work and I will use it right away, I was thinking more or a special github action that does all this for me. No need to setup npm and no need to install anything.
I mean, if my project is Java based for example I don't want to deal with nodeJS or have my CI pipeline download node_modules just to run railway.
A docker image that bundles railway CLI and its deps and wrapped in a Github action would be perfect IMHO.
2 years ago
We do have this! Simply call the CLI from actions
Example:
Kostis Kapelonis: Right but your usecases might be different than someone else's usecases. How would we reconcile this?
e.g someone wants to skip migrations and someone wants to run them as part of this pipeline
Totally open to suggestions! Would love to make this as magic as possible
2 years ago
We do have this! Simply call the CLI from actions
Example:
Jake Cooper: I suggest a docker image that contains the railway CLI and its deps packaged in a Github action.
Very similar to https://github.com/marketplace/actions/deploy-to-heroku and https://fly.io/docs/app-guides/continuous-deployment-with-github-actions/
Neither of these requires node/yarn/npm as shown in your own blog post. You just use the action straight in the pipeline without any conflicts with your own project.
2 years ago
We do have this! Simply call the CLI from actions
Example:
Kostis Kapelonis: I think this is valid, but I am unsure where we might get the cycles for this until this gets more votes.