Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Podman-ify the application so that we automatically deploy to the new (test) server #718

Closed
6 of 7 tasks
drikusroor opened this issue Jan 17, 2024 · 3 comments · Fixed by #722
Closed
6 of 7 tasks
Assignees
Labels
Infrastructure Relates to deployment or testing

Comments

@drikusroor
Copy link
Contributor

drikusroor commented Jan 17, 2024

Is your feature request related to a problem? Please describe.
Currently, it's tedious to deploy the MUSCLE project. We have to ssh into one of the servers, fetch the latest branch, run docker commands, etc. Ideally, we should have some form of CI/CD with automated deployment, reducing our workload and shortening the feedback cycle for testing.

Describe the solution you'd like
There has been a plan to convert our Docker setup to use Podman (which is similar and compatible). Podman then runs on the server, and by using a self-hosted GitHub Action runner we can run the required Podman commands from our Github workflow.

Requirements:

  • Update (or for now add) workflow to run Podman commands to build the Podman images that will eventually run on the new server
  • Update the Dockerfiles where needed
  • Update (or for now add) workflow to run Podman commands to run (and therefore deploy) the Podman containers on the new server
  • Move the Storybook jobs to its own workflow that still runs on Github's cloud runner? Update: it already is separate!
  • Change DNS settings so that tst.amsterdammusiclab.nl will give us the frontend and /admin will give us the Django backend dashboard. *The DNS change has already been requested
  • Configure it so that the application will be deployed after pushes to develop (or by a manual trigger) to the test environment using the test environment variables configured in Github.
  • Verify that everything works and if not, fix things where necessary.

Describe alternatives you've considered

  • I think we have talked of just building the frontend in GitHub Actions using a cloud runner with a basic yarn image. But having everything configured in Podman is more consistent, I guess.

Additional context

@drikusroor drikusroor added the Infrastructure Relates to deployment or testing label Jan 17, 2024
@drikusroor drikusroor self-assigned this Jan 17, 2024
@BeritJanssen
Copy link
Collaborator

When discussing with Auke, I thought we had a setup in mind where the images would also be built by the runner on the server.

@drikusroor
Copy link
Contributor Author

When discussing with Auke, I thought we had a setup in mind where the images would also be built by the runner on the server.

That's correct and is also what will be happening. Did I describe it incorrectly or ambiguously somewhere?

@BeritJanssen
Copy link
Collaborator

No, all good! I misread your issue description.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Infrastructure Relates to deployment or testing
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants