I switched over to GitLab for a static blog when I realized I could use the free shared runners to compile any static site generator out there. Such a beautiful feature. I would be interested to hear how it holds up in a production environment.
However, most of us prefer to generate such things from templates and markup files. The most popular system for doing this, by far, is Jekyll (https://jekyllrb.com/), probably because Github recommends it. Metalsmith (http://www.metalsmith.io/) and Wintersmith (http://wintersmith.io/), while not as popular, are certainly options if you're a JS fan, and don't mind cutting code to write your configurations, and have some very nice features for customization. However, if you're coming from Wordpress, I'd reccomend Lektor (https://www.getlektor.com/). It's Python based, well documented, and uses a simple file tree to build the website like all other options discussed. However, it also provides a simple admin panel, which can be used to write your posts, manage your posts, and publish the generated site to your server.
As for distributing a static site, you just have to stick it onto some kind of hosting. S3, Apache, Github pages, whatever. Once again, Lektor can do this via the admin panel. For the rest of the generators, you're on your own: you'll have to write the scripts yourself, but this is fairly trivial.
Danger recently moved their site over (https://gitlab.com/danger-systems/danger.systems, https://danger.systems/) if you want another example.
We have a bunch of working example sites in a bunch of different static site generators at the "pages" group: https://gitlab.com/groups/pages
Jekyll, Middleman, Pelican, Metalsmith, Octopress, Nanoc, etc. etc. All working examples. We also have gitlab-ci.yml templates if you create the YML file via the web editor, so for many of these you can get a simple site deploying pretty quick.
And if you want a bit more guidance we have a series of blog posts on static sites & GitLab Pages: https://about.gitlab.com/2016/06/03/ssg-overview-gitlab-page...
Personally I'd recommend Jekyll, but it really depends on what languages you're comfortable in :)
(Shout-out to Marcia, Axil, Kamilt, and others for helping build out Pages and these examples over the last while, really awesome resources!)
The resulting .html is pushed with the source to the github repo. This setup, while not very sexy, doesn't even need a CI.
Not much to see, but it was pretty straightforward to make, you just write the templates.
As for CI, I utilized the docker-machine runner so we could autoscale based on demand.
Big plus: With Google Cloud Platform, we can leverage preemptible VMs for the runners (not for the coordinator of course), so the cost is really low.
What services are people using for that?
Disclaimer: I'm the founder
Years ago, I did set up our own private Docker registry and build server, but it was a lot of work to setup and maintain, so I killed it. Hopefully and probably, that's become easier to do today.
However, last night, I decided that I had had enough with our current setup (it's slow, expensive, and cumbersome), and moved to GitLab. Here were the steps:
1. Create an account.
2. Create a repository, and select the option to import from Github.
3. Connect my Github account, and import all of our private repositories.
4. Ensure Container Registry was enabled for the repositories.
5. Create a .gitlab-ci.yaml file in each repository to build our Docker images. (https://docs.gitlab.com/ce/ci/docker/using_docker_build.html)
6. Decide that I didn't want to use the Shared Runners.
7. Spin up an EC2 Ubuntu instance, install GitLab's multi-runner. (https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/ma...)
8. Add the new runner to each repo.
9. Start a build to ensure Docker image gets built.
In less than 10 steps, I was able to migrate all of our code and CI to GitLab, in less than 2 hours. With the repository mirroring, Github can remain synced to GitLab, so that I have time to modify our deployment scripts to use the GitLab URLs instead. I'll be cancelling our GitHub and CoreOS subscriptions this week.
As our team grows, we will likely host GitLab on our own servers, and I expect that will go smoothly. I'll be happy to pay them at that time. Right now, I'm really happy with this migration.