A simple question: how to automate release process

I develop my projects and publish its on GitLab.
I wanna know which service offers release process to publish binaries on my website and where i can update sources, doc, and binaries updates.

CI/CD are very helpful when it comes to automating stuff, but creating those automations is a difficult task.

Just to get started, write down all the scripts which you run when you release an application manually.

Then try tweaking them by adding additional stuff to the .gitlab-ci.yml file. For example, artifiacts, cache and more.

Currently gitlab doesn’t have to option to save articifacts to releases directly from CI/CD so you have to add some more custom scripts to the yml file where it get the url of saved artificats and then upload it to the server, from where the user can access it.

Where can I have a full course of yml? What is that exactly and what it can do and how?

Here are some links that define the basics pretty well:

You should be able to figure the logic if you spend some time reading the documentation. For your specific need, I would just go with mittalyashu’s approach. How would you do things manually, find a way to automate these steps and there you go.