Hi
I have a golang HTTP server that I am deploying on an AWS EC2 VM, as a systemd service.
Right now, I am manually deploying the service as follows:
1) vm$ sudo systemctl stop <myservice>
2) dev$ scp <cross-compiled-binary-from-dev-laptop> <vm>
3)psql$ Apply migrations manually
4) vm$ sudo stystemctl start <myserver>
4) vm$ sudo stystemctl status <myserver> ;# Just to check
I maintain my sources in gitlab and my database is postgres.
I am planning to use gitlab-ci for preparing cross-compiled systemd binaries and also sqitch for postgres migrations.
I wanted to ask if there are any advises (or links to tools/blogposts/scripts) from existing gitlab (or even github+ci) + golang users, who do continuous deployments already. I can have some downtime and 100% uptime is not important for me. Also, one instance of my server is enough and there is no need for HA, load-balancing, etc. as of now, as it is just an internal low-traffic service.
I am not using Docker (containers) because I do not want another layer which may cause some unknown problems (performance, networking, etc.) which I do not want to end up debugging.
Any advises or suggestions or links that would help me ? Thanks.
Sankar