DEV Community

electrocnic
electrocnic

Posted on

Vue Django Development and Continuous Integration and Continuous Deployment (CI/CD for Vue+Django)

So I made a gitlab repo which has some basic code for a Vue frontend and a Django backend. CI/CD is the focus of this setup. If you are looking for a way to be able to develop such an app on your local machine, but still deploy it regularly with docker, isolated from your local machine, and maybe also run tests on a gitlab CI pipeline, you might be interested in my repo: https://gitlab.com/electrocnic/vue-django-ci-cd-boilerplate

It is for users who are just starting with a new project.

It has still quite some room for improvements, for example, the secrets could be passed with the new docker feature --secret.

Also, it needs the privileged mode and produces quite large docker images in quite a lot of build-time. This could be improved.

If you are fine with that though, you can fork it, experiment with it, have fun with it. However, I do not guarantee for anything, this is just a project for my personal requirements, but I thought, it could be helpful for others as well.

The app supports to deploy multiple different apps on the same server, when they are all based on this boilerplate template.

It is based on https://github.com/NdagiStanley/vue-django and makes use of some third-party repos like https://github.com/nginx-proxy/nginx-proxy and https://github.com/nginx-proxy/docker-letsencrypt-nginx-proxy-companion and https://github.com/zenhack/simp_le

The first-time setup of your own gitlab ci/cd pipeline after you forked it, will take approximately 1 hour, due to the fidely work with the variables in the gitlab settings and badge-links.

Have fun!

Top comments (0)