软件技巧

【软件】一分钱不花建个人网站(部署Gitlab Pages服务)

2020-03-30  本文已影响0人  zhyuzh3d

全免费个人站点

Gitlab相当于开源的Github网站源码,你可以直接用它部署到自己的公有或者私有服务器上,这样不仅得到了一个和Github一样功能强大的GUI网站界面版的Git服务器,它要比完全命令行操作的Git服务器高大上很多。

你可以访问我的站点http://10knet.com/,它就是这样搭建的。但我暂时很抱歉的说,还不能让大家注册使用,因为我担心流量费太大支付不起...

安装Gitlab-CE(社区版)并不难,关键点就是你的服务器需要至少4G内存,否则就会莫名的失败。

我们在Github上创建的项目都可以发布成为一个子域名的站点。你可以在Settings里面的Github Pages部分找到它,如下所示。

你可以直接访问https://zhyuzh3d.github.io/kksMagic/这个站点,它就是我的一个项目发不出来的网站,没有服务器空间租赁费,没有域名购买费用。

我们能不能在自己的Gitlab服务器上实现这个功能,也就是让用户可以在你的Gitlab上创建他们自己的主页?肯定是可以的,而且也不难。

部署Gitlab Pages服务

这一段是对网站管理员而言的。如果你只是一个Gitlab用户,请跳过这段直接看下面如何建网站。

部署Gitlab Pages服务有三步。以下是用阿里云的ECS服务器CentOS 7系统操作的。

第一步,安装gitlab runner。

简单说它就是一个后台运行的服务,当用户要把自己的网页项目发布到网站上的时候,就会自动呼叫这个服务。

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-runner

其他参考请看https://docs.gitlab.com/runner/install/linux-manually.html

第二步,注册gitlab-runner

就是把gitlab-runner后台服务指定给gitlab网站程序,让我们的网站能够识别这个服务。

sudo gitlab-runner register

然后会要求输入URL网址和token。这个要用管理员账号在浏览器中登陆你的网站,在Admin area中找到它,如下图所示。

然后还会要输入description描述,任意就好;还有tags,也是任意;最后要选一个executer执行器,我选的的是shell,这个最简单。

Please enter the executor: ssh, ... docker, parallels, virtualbox, docker-ssh, shell:
shell

第三步,检查是否成功

那么有没有注册成功呢?回到网站的admin area,刷新页面,看看runner里面是否有新的runner出现。如下图所示就表示成功了。

需要注意左端的那个绿色shared标志,表示它可以被所有用户调用。

但这时候还不能用,我们要点右侧的铅笔进去编辑,务必勾选下面这个Indicates whether this runner can pick jobs without tags选项,它是指对任意项目都能发布成为网站,不区分项目的标签。

那么到底能不能用呢?我们下面来说怎么发布网站。

免费发布个人网站

我们来直接讲最简单的四步操作。

第一步,创建项目

登陆网站,new project创建项目,这些就不啰嗦了。直接看下图,注意Project slug要用英文,后来会变成你网站的地址。要勾选Public否则只有你自己能访问。勾选Initialize repository with a README的目的是自动建一个文件先。

第二步,创建首页

Create Project创建项目之后,直接点加号New File创建一个index.html文件。

进去编辑直接输入文件名index.html,并输入一行欢迎词。如下所示。

点击底部的绿色Commit changes提交文件内容。

第三步,创建自动处理配置文件

每次我们提交文件修改之后,都要让服务器自动发布到网站上,所以要做一个自动处理的配置文件。同样点加号New Files新建文件。这次直接选模板,如下图所示,创建.gitlab-ci.yml。

然后再选HTML模板,如下图所示。

然后就得到了一个文件,如下图所示。

Commit changes提交。

第四步,查看发布情况

我们的网站到底有没有发布成功?点左侧CI/CD的Pipelines管线进去看看,正常的话应该都是绿色,passed表示服务器顺利的把我们的index.html发布到网站上去了。

那么我们的网站在哪里?从左侧的Settings里的Pages里可以看到,Your pages are served under:下面就是你的网站啦~

你也可以直接访问我的这个测试地址http://zhyuzh.10knet.com/mysite/查看效果。

结语

为什么要搭建自己的Gitlab?直接使用Github或者Gitlab不香吗?不香。因为这些大网站都在国外,下载速度都很慢,Github竟然经常只有十几k,实在是太慢了。当然,这些网站都有收费项目,比如Github项目最多只能三人协作,再多人就要收钱了。而且这些网站也都有很多限制,比如文件大小只能100M以内,如果你有个200M的文件就没办法了。

而自己搭建的Gitlab就完全没有限制,——唯一的限制就是你花多少钱购买阿里云的服务器内存和硬盘。

PS:修改Gitlab首页

如果发布到公网上,管理员必须修改Gitlab首页,添加备案号和链接。那么你需要修改下面两个文件:

/gitlab-rails/app/views/layouts/devise.html.haml
/gitlab-rails/app/views/layouts/devise_empty.html.haml

把里面的链接改为:

    .container
      .footer-links
        = link_to _("快速浏览"), explore_root_path
        = link_to _("苏ICP备号-1"), "http://www.beian.miit.gov.cn/"
        = link_to _("帮助"), help_path

修改完之后要重新设置并重启

gitlab-ctl reconfigure
gitlab-ctl restart

haml是html的一个变种语法,深入修改的话需要仔细学习,个人觉得这语法最恶心的地方就在于每次修改后都要重新编译生成,每次修改都要reconfigure-restart...


欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】

每个人的智能新时代

如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~


END

上一篇下一篇

猜你喜欢

热点阅读