
GitLab Pages - Hangya
http://pages.gitlab.io/
======
Trundle
Dear lord these guys are putting in work. I'm not exactly a huge supporter of
Github (the company not the product) so I'm very glad to see it. I look
forward to their continued growth.

~~~
dominotw
>Dear lord these guys are putting in work.

man I wish they would bring something new, cool and innovative to the space,
instead being bent on doing feature-by-feature copy of github.

They have an amazing opportunity now to take advantage of github fatigue. But
they are throwing it all away by trying to become an inferior clone of github.

~~~
connorshea
It has integrated CI whereas GitHub requires using a third-party CI system,
it's had Reaction Emoji (called Award Emoji for GitLab) for a while now, it
has "Merge when build succeeds", CE is entirely FOSS, etc.

~~~
ianleeclark
I'd honestly be really surprised if Github didn't end up acquiring one of
those CI systems which they already integrate with.

~~~
dominotw
There seems to be a healthy competition between various ci software that works
with github. Why would github try to kill that and take on such a high touch
area.

Its quite puzzling why gitlab went that route, they are basically discouraging
ci systems from integrating with them. I think this is would turn out to be a
bad decision for gitlab.

~~~
tiplus
Well, their CI is pretty good for starters... compared to self hosting
jenkins, or paying for Travis CI. Self hosting gitlab integrated CI runners is
a big plus for me.

As a third party service provider you could still host and/or modify those CI
runners for specific tasks like node, go, etc.

~~~
sytse
Thanks tiplus!

And to give some additional background to dominotw's question. We didn't like
the options for CI on-premises. And by integrating it directly into GitLab it
is very easy set up a new project, encouraging people to use CI on more
projects.

Having people use GitLab CI will mean GitLab is a less attractive platform for
other CI products. We do have a good commit status API since GitLab 8.1 and
there is a great Jenkins plugin that supports that
[http://doc.gitlab.com/ee/integration/jenkins.html](http://doc.gitlab.com/ee/integration/jenkins.html)

------
scott_hardy
I especially like that they have added configuration options to the .gitlab-
ci.yml. If I am not mistaken, this means your project can auto-deploy using an
arbitrary build process. Here's what an example .gitlab-ci.yml looks like with
a GitLab Pages build configuration:
[https://gitlab.com/pages/pages.gitlab.io/blob/master/.gitlab...](https://gitlab.com/pages/pages.gitlab.io/blob/master/.gitlab-
ci.yml)

A couple friends and I made something similar for GitHub Pages using Travis CI
as our static deployment build-and-deploy host. For example, here's what our
.travis.yml looks like: [https://github.com/L33T-KR3W/soundcasts-
web/blob/master/.tra...](https://github.com/L33T-KR3W/soundcasts-
web/blob/master/.travis.yml) and here is the actual deploy command that is
being run to `git push` to GitHub Pages:
[https://github.com/L33T-KR3W/soundcasts-
web/blob/master/pack...](https://github.com/L33T-KR3W/soundcasts-
web/blob/master/package.json#L15)

The GitLab approach is cleaner and requires less tooling. Nice work!

~~~
djsumdog
One of the big limitations of Jekyll + Github pages is you cannot use
plugins..any plugins at all. If Gitlab's build process allowed for Jekyll
plugins and custom domains, I may consider moving my pages there as well.

~~~
langolier
You can totally use Jekyll plugins since you can define any command in
.gitlab-ci.yml. It's like running Jekyll locally.

And custom domain are supported as well. See the bottom of
[https://pages.gitlab.io](https://pages.gitlab.io)

~~~
jobvandervoort
In fact, you don't even need to use Jekyll. You can use literally anything you
want.

------
cornstalks
This is awesome. One question I have in comparison to GitHub Pages is if a
global CDN is used and if there is effective DDOS protection built in. GitHub
has to deal with regular DDOS attacks, and I imagine GitLab will have a few
too. GitHub does a pretty good job with it, but before I move to GitLab Pages
I'd like to understand that better but didn't see that info anywhere.

~~~
jobvandervoort
Right now, GitLab Pages is hosted on the same servers as GitLab.com, so it
gets the same attention from our engineers in terms of reliability and uptime.

We're not using a global CDN, but this is something we will explore.

~~~
sytse
We're working on adding Cloudflare in front of GitLab Pages in
[https://gitlab.com/gitlab-
com/operations/issues/75](https://gitlab.com/gitlab-com/operations/issues/75)

We don't have a lot of experience yet with DDOS protection so there might be
downtime as we learn that. As you can see in the issue we're working to
implement protection before we need it but it might not be ready in time nor
can it protect against everything.

~~~
mynewtb
Please do not use Cloudflare. Their 'protection' against privacy aware Tor
users makes accessing sites through incredibly painful.

~~~
the_mitsuhiko
For what it's worth Cloudflare does not do anything different for Tor than for
regular IPs. Since those are static pages with most likely not exactly
questionable content the use of Tor is probably not all that important anyways
that the total number of users that might be affected would be miniscule.

~~~
dublinben
>the use of Tor is probably not all that important anyways

Who are you to decide that my use of Tor is not important enough?

~~~
sneak
A site operator. It isn't censorship for someone to decide who they want to
talk to.

CF is simply giving site owners levers to use if they so choose. While I am a
strong supporter of Tor, privacy, and anonymity, CF has done nothing wrong
here by allowing site operators to selectively choose who they wish to serve
to.

~~~
parallelist
Sounds a lot like censorship to me. It's discrimination at the very least.

~~~
ferbivore
Spam filters are discrimination, but I don't see anyone suggesting we stop
using those.

------
josefdlange
This is great -- it has a killer feature that I think GitHub Pages is sorely
missing (unless it exists and I'm just ignorant to the fact). Custom domains
WITH SSL.

Right now I have my custom domain set up on GitHub, but it's not SSL. I would
love to be able to do that.

~~~
zeeshanm
Clourfare provides free SSL - just proxy through them.

~~~
bad_user
There are several problems with it:

1\. the certificate is not generated by you (in the Free or the Pro plan) but
by them and these certificates are for multiple domain names. So you end up
_sharing_ your certificate with other domains / websites of dubious nature
that are also on CloudFlare's network.

2\. CloudFlare only secures the connection between users and the CloudFlare
network. It does not secure the connection between CloudFlare and your hosting
service, unless your hosting service also supports TLS/SSL connections and you
activate their Strict SSL option.

For the purposes of hosting a project website, secure connections are more
important than ever due to the potential of external attackers, which could
very well be a government institution, to infect distributed binaries or
source code. Instances like XcodeGhost will become more common imho. And a
secure connection between your user's browser and your hosting server is not
100% secure, but it's a good start. And towards that purpose CloudFlare Free
in front of GitHub Pages isn't very good ;-)

~~~
sneak
Why is #1 an issue?

~~~
kieranhunt
If a domain that you share your certificate with has their certificate revoked
or is blacklisted for any reason this could have a negative impact on you.

~~~
spicyj
It's a single certificate that never leaves CloudFlare's hands so revocation
seems unlikely and they'd manage it for you if anything came up.

------
dominotw
Gitlab is still super slow even compared to young projects like gogs. I know
many ppl who shied away for gitlab due to its slowness.

If I was them, I would stop all copycat 'me too' features like ci/pages ect
and put the resources to making it faster. This is a sign that their features
are pritorized by business ppl who want to put features on their slides .

~~~
jobvandervoort
What is the latest version you have tried?

We've made a lot of changes to GitLab in the last number of releases that make
GitLab a whole lot faster [0], but we recognize that the performance of
GitLab.com can still improve quite a bit.

For low-memory machines, we do recommend people to use Gogs.

[0]:
[https://about.gitlab.com/2016/02/22/gitlab-8-5-released/](https://about.gitlab.com/2016/02/22/gitlab-8-5-released/)

~~~
dominotw
Wow nice improvements, i hadn't noticed this. Gitlab.com seems a lot snappier.

~~~
jobvandervoort
Good to hear! Let us know what we can improve.

------
vruiz
I really like GitLab, we use it and they follow the business model I wish
GitHub had. But as they become bigger and bigger I have to wonder how much
longer until they start antagonizing GitHub with these feature clones, and who
should have my support when that day comes.

~~~
d33
I'd say that it's a pretty easy choice. Pick the open source one.

~~~
Spivak
Only Gitlab CE is OSS, GitLab EE is "publicly viewable" but neither FOSS/OSS
[1].

It's really a shame because I would pay good money to have GitLab EE under a
FOSS license.

[1] [https://about.gitlab.com/license-faq/](https://about.gitlab.com/license-
faq/)

~~~
connorshea
Out of curiousity, would you consider GPL Affero sufficiently FOSS?

~~~
Spivak
As long as we're talking about the GNU AGPL then absolutely! I would say that
the original AGPL is sufficiently FOSS but it's GNU GPL incompatible which
might be annoying. It's not necessarily a deal breaker though if it's handled
well.

~~~
cyphar
> As long as we're talking about the GNU AGPL then absolutely! I would say
> that the original AGPL is sufficiently FOSS but it's GNU GPL incompatible
> which might be annoying. It's not necessarily a deal breaker though if it's
> handled well.

It's GPLv2 incompatible. GPLv3 has a special exception for the AGPL.

------
masida
I was wondering if GitLab provides a Markdown editor that could be used by
non-technical users directly from the web interface? Something like Prose[1],
Dillinger[2] or StackEdit[3].

Of course you could argue if it's in scope for a project like GitLab, but it
means that I could use static site generators for projects where non-technical
users need to edit the content without ever thinking about a CMS.

Would be nice:

\- if it would also provide an easy upload/commit of images to some
configurable directory from that Markdown editor;

\- configure a content-editor user that's restricted to a subset of
directories;

\- allow the user to preview the full website without pushing to the live
environment;

\- use a tag or branch to mark the version that can be pushed to the live
environment.

It would probably be the most flexible CMS that's available right now.

[1] [https://prose.io/](https://prose.io/) [2]
[http://dillinger.io/](http://dillinger.io/) [3]
[https://stackedit.io/](https://stackedit.io/)

~~~
ngrilly
I'd like to have that too!

------
skeoh
FYI for the GitLab guys: 404 pages are being served without a Content-Type
header (e.g. [http://pages.gitlab.io/404/](http://pages.gitlab.io/404/) \--
shows HTML in plain text).

------
dankohn1
Great start. The obvious missing feature is Let's Encrypt support. I would
like to see hosting companies like GitLab implement HTTPS for 100% of their
served pages, and Let's Encrypt is a key enabling technology to do so.

~~~
jobvandervoort
This is a great idea.

I believe we've looked into this before, but I couldn't find anything, so I've
created an issue[0].

[0]: [https://gitlab.com/gitlab-org/gitlab-
ce/issues/14926](https://gitlab.com/gitlab-org/gitlab-ce/issues/14926)

edit:

Found the original issue:

[https://gitlab.com/gitlab-org/omnibus-
gitlab/issues/1096](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1096)

------
krautsourced
This is great news, Gitlab really is coming along very, very fast. Does it say
anything about where the sites are going to be hosted? Are they using AWS
underneath or something? It's curious timing since literally just the other
day I moved my Hugo site to Bitbucket + Aerobatics. But since I have all my
other stuff on Gitlab already, it'd be kinda convenient.

~~~
wickchuck
I believe they are using Azure underneath, but someone from the gitlab team
should probably confirm.

~~~
jobvandervoort
GitLab.com is running on Azure, so are GitLab Pages.

------
JorgeGT
The custom runners and the ability to view the results of a build are killer
features. I really hate GitHub's cryptic "something went wrong" emails.

~~~
jobvandervoort
Glad to hear you like this model!

We want you to be able to run anything. Any static site generator, any kind of
script. Using our own CI seemed to make sense.

------
nubela
Just want to shout out that you can actually get HTTPS on your custom domained
Github Page now with Kloudsec[1]. We actually built a dedicated onboarding
tool for this: [https://kloudsec.com/github-
pages](https://kloudsec.com/github-pages)

[1] Kloudsec is a CDN for programmers

~~~
everfree
Is the connection between your servers and the GitHub Pages servers
unencrypted?

~~~
cbHXBY1D
Yeah, Kloudsec is being disingenuous here.

------
therealmarv
Two questions: 1. Does this work with private repos? 2. Are there traffic
limits? (use case e.g. when I reach a HN Top 10 ;)

~~~
jobvandervoort
1\. Yes, you can use Pages with private projects

2\. No, there are no traffic limits.

~~~
tacone
Very nice!

Suggestion: if you use a CDN or other methods to improve the performance make
sure to point it out in the landing page.

Keep up the good job.

~~~
jobvandervoort
Thanks, we're trying to do a better job communicating everything we have and
can do and will definitely do so in this case!

------
brightball
My only issue with Gitlab is that the entire product initially started off as
a completely ripoff of Github.

Considering what Github does for the open source community in general, that
somewhat bothers me.

~~~
rkangel
One of the founding principles of open source is that you can take a copy of
someone's work and make changes to it (as long as you continue to make the
changes public).

Github isn't open source so the analogy doesn't quite hold, but they're
creating something and giving it to the community (as well as building a
business).

~~~
hk__2
> One of the founding principles of open source is that you can take a copy of
> someone's work and make changes to it (as long as you continue to make the
> changes public)

Also as long as you acknowledge it. It’s acceptable to copy a FOSS project and
make a new one on top of it but you have to mention it; you can’t just create
a copycat and claim you invented everything by yourself, especially if you
start making money off it (well some licences let you do that but that’s not
ethical).

~~~
hobarrera
The guys at GitLab are usually quite open about this sort of thing (having
copied this and that, etc). I don't think they've ever claimed to have
invented anything they have not.

~~~
sytse
We indeed try to be open about it. Let us know if we should improve the
attribution somewhere, in this thread we already made a fix in
[https://news.ycombinator.com/item?id=11432400](https://news.ycombinator.com/item?id=11432400)

------
zokier
Congrats on new major feature. One thing I'd like to see developed further is
support for per-branch pages. Right now it looks like you could jerryrig a
build script that builds each branch in its own subdirectory, but that sounds
bit suboptimal considering that any commit will trigger full rebuild of all
branches.

~~~
jobvandervoort
Can you elaborate a bit more? Because you are able to restrict builds to
certain branches.

Why not have multiple projects in your case?

~~~
zokier
For example if you have version branches like v1.3 and v1.4 etc, you'd want to
have docs built for each branch and publish them like
myproject.gitlab.com/v1.3/... etc

------
tilfin
I think GitLab overtook GitHub about UI.

~~~
connorshea
<3

------
zebMcCorkle
Sad to see it's only available self-hosted on GitLab EE. I would _love_ to see
this on CE.

------
dudul
Nice! Finally a good documentation for GitLab pages. This was literally the
only missing feature( _) that made me keep a GitHub account.

(_) and by missing feature I mean "I never thought it was as good as GH
product."

~~~
sytse
Glad you're able to completely move to GitLab now.

------
iBotPeaches
Still looks like GitLab EE only :(

~~~
jobvandervoort
GitLab.com runs GitLab EE, which you can use for free.

~~~
anfogoat
This is a moot point to anyone running GitLab CE though.

~~~
jobvandervoort
I was a little short in my reply, my apologies.

Sytse explained our vision below [0]. We're always open to discuss this
further.

[0]:
[https://news.ycombinator.com/item?id=11432614](https://news.ycombinator.com/item?id=11432614)

------
aviraldg
> GitLab Runners do not offer secure isolation between projects that they do
> builds for. You are TRUSTING all GitLab users who can push code to project
> A, B or C to run shell scripts on the machine hosting runner X.

Not sure this sounds like the best idea.

~~~
langolier
Well, there is an issue for that[0]. Also, as of today[1], all shared Runners
on GitLab.com are each on their own VM inside Docker containers, so that
message does not apply for sure.

[0] [https://gitlab.com/gitlab-org/gitlab-
ce/issues/14732](https://gitlab.com/gitlab-org/gitlab-ce/issues/14732) [1]
[https://about.gitlab.com/2016/04/05/shared-
runners/](https://about.gitlab.com/2016/04/05/shared-runners/)

~~~
aviraldg
Exactly what I thought, so that message should probably be updated?

------
ArtDev
I a huge fan of Gitlab and have seen them grow since when I started using
them. This is a great new set of features. Looking forward to trying this out!

~~~
jobvandervoort
Great to hear! Let us know how it worked out for you.

------
wldcordeiro
Nice! I love Gitlab, use it for all my personal stuff currently and wish I
could use it for more! sytse and team, thanks for the great product.

~~~
sytse
Thanks! Please let us know what we can do to have you use it for work too.

------
glitcher
Nice! Very happy to see the ability to integrate with Doxygen for automatic
documentation generation from source code :)

------
ssahoo
Git + Gitlab CI + gerrit. Working awesome for us.

------
jeyraof
Awesome. Gitlab is following Github well.

------
kahwooi
I really love using gitlab.

------
treve
Must be nice that your entire roadmap is written for you =) no shame in
straight up copies.

------
TheLogothete
Yes. I lobbied several companies to terminate their enterpise contracts with
github because of their racist attitudes. All switched within 2 weeks. Some to
VS Team Services, some to Gitlab. My work projects went to MSFT, but I think I
will transfer my side projects to gitlab from bitbucket, since they have pages
now.

~~~
d33
Racist attitudes? Interesting - not sure what you're talking about. Could you
link a source?

~~~
someonenewer
Their new 'social impact team' isn't a fan of white people

[https://twitter.com/_danilo/status/690601512813367297](https://twitter.com/_danilo/status/690601512813367297)

[http://www.breitbart.com/tech/2016/02/08/report-anti-
white-a...](http://www.breitbart.com/tech/2016/02/08/report-anti-white-agenda-
revealed-at-githubs-diversity-team/)

~~~
mrks_
Wow, that tweet is blatantly racist. I'm somewhat surprised that this wasn't
made into a bigger deal. Or, if it was, that I somehow missed it.

------
pitchka
Well, now if only I can change the max-age of some resources (images, css, js)
it'll get better than github.

Good job!

~~~
jobvandervoort
Can you elaborate and / or create an issue here [0]?

[0]: [https://gitlab.com/gitlab-org/gitlab-
ce/issues/new](https://gitlab.com/gitlab-org/gitlab-ce/issues/new)

~~~
aptwebapps
FYI, that 404's if you aren't logged in.

------
stevekemp
That first headline should really read "What ARE gitlab pages", rather than
"What is gitlab pages". Surely?

~~~
langolier
It's referring to the feature, so it should be singular.

~~~
teddyh
Notably, the name is capitalized, as a proper name should be: “What is GitLab
Pages?”.

------
echelon
I would so switch to using Gitlab if my username was available. I'm `echelon`
here, on Twitter, on Gmail, on Github... I was so disappointed to be
`echelon1`.

Is there any means to claim a username if it isn't in use?

~~~
kels
Same. I'm @kel on github and twitter but that's taken on here and gitlab. I
emailed to ask since it was just being squatted on but gitlab told me no.

~~~
echelon
Wow. Well, if that's the case I'll never be using Gitlab then. :(

I'd pay money to have my username, too.

~~~
jobvandervoort
Unfortunately, you won't be able to claim a username that is already taken.
That would be unfair to other users.

GitLab.com is growing fast, but most people should be able to still claim
their username.

Of course, you always have the option to run your own instance relatively
easily [0].

[0]:
[https://about.gitlab.com/downloads/](https://about.gitlab.com/downloads/)

~~~
meagher
GitHub has a policy of releasing _dormant_ usernames, will GitLab do that?

~~~
jobvandervoort
We have currently no plans, but happy to discuss it [0].

[0]: [https://gitlab.com/gitlab-org/gitlab-
ce/issues/14932](https://gitlab.com/gitlab-org/gitlab-ce/issues/14932)

~~~
dannysu
Would love to be able to use my GitHub username on GitLab as well. Currently
occupied by a dormant user with zero activity over the last 10 months, no
repos except a fork of GitLab CE and no added commits to it. Of course I don't
know if he has private repos or not.

~~~
jobvandervoort
We're considering adopting the same policy, see the issue linked above.

~~~
echelon
That would be amazing.

(I'm not sure why I got downvoted into oblivion. I stated my honest opinion--I
haven't signed up for a lot of services where I can't use the username I
want.)

~~~
59nadir
I can't speak for anyone else, but it seems exceptionally ridiculous to me
that you'd make a choice of which technology to use based on whether or not
your username is available. I don't know if I'd downvote anyone for that, but
it did inspire a laugh out loud moment.

------
programminggeek
If you are doing a FOSS project not hosted on GitLab, you could also host your
project website on [http://statichosting.co/](http://statichosting.co/) for $5
a month.

~~~
hvm
Static hosting for $5 a month seems too high. If it would be $1 I might use
it. But for $10 a month you can get a good VPS that you can use for any
hosting needs (including a gitlab/gogs/whatever instance and a demo of your
project (if it's on the web)).

~~~
programminggeek
I agree, perhaps the price isn't perfect, but $5/month buys you not having to
manage the server, configure nginx for your domain, easy site upload, etc.

