[鼠年全马] W40 - 用GithubPages写下完美句点

这篇是今年的最後一篇~

最近有个需求是要架个对外的站台,内容是作品集展示之类的东东
上网估狗了一下有没有符合我的需求的功能
而就这麽刚好 Github 有提供一个 Github Pages 能达到我要的需求
而且重点是

不用额外付费!!
不用额外付费!!
不用额外付费!! xD

可恶,不用钱对我来说吸引力太大了,於是乎就来研究他的使用方式 /images/emoticon/emoticon01.gif


#开始架站

首先,先来了解一下Github Pages的好处:

  • 免费
  • 网域归属github
  • 架站快速且方便

有好处当然也有坏处:

  • 只能架静态网页

这个缺点就蛮可惜的了~
不过如果只是要架展示用的站台,使用Github Pages就非常够用了!!

Github Pages 本身有一些 限制条件:

  • 网站大小 < 1GB
  • 流量限制 < 100GB/月
  • 建置次数 < 10次/时

https://ithelp.ithome.com.tw/upload/images/20201217/20118686bdQGStEQQS.jpg

其他条件可以再参考官网内容

接下来就直接进入主题吧~
来看看 Github Pages 官网首页下方有基本的步骤教学,真的很基本xD

直接以我做了11周才完成的[Vue出一个旅馆预约平台]专案来做架站步骤教学吧~

#Step 1

由於这个专案本身就有使用github管理,所以建立专案的步骤就跳过罗~

直接在专案页点最右边的 [Settings]
https://ithelp.ithome.com.tw/upload/images/20201217/201186862c8LRg1DSp.jpg

进去之後拉到最下面有个 [GitHub Pages] ,这边要注意的是专案必须设定公开(public)或是升级(xD)才可以使用 GitHub Pages 来架站
https://ithelp.ithome.com.tw/upload/images/20201217/20118686FjCbxqFowJ.jpg

#Step 1-1

如果专案原本设定是 public 就跳过这段,原本是 private 要变 public 可以继续看
设定公开的方式很简单, [GitHub Pages] 下方有个 [Danger Zone] 危险区域,点右上角的 [Change visibility] 按钮
https://ithelp.ithome.com.tw/upload/images/20201217/20118686w4FgFTaKob.jpg

#Step 1-2

跳出视窗後选 [Make public],然後文字框输入他要你输入的字串,输入之後点 [I understand, change repository visibility.] 就完成罗!!
https://ithelp.ithome.com.tw/upload/images/20201217/20118686S6Vp0CEvBB.jpg

#Step 2

专案已经设定公开的话 [GitHub Pages] 可以设定站台来源路径并且可以选择预设的主题
https://ithelp.ithome.com.tw/upload/images/20201217/20118686IN5osnkuX1.jpg

这边我们先选一个喜欢的主题来试试看连结有没有画面吧~
https://ithelp.ithome.com.tw/upload/images/20201217/201186869BHQh6dLbG.jpg

选好之後回到 [GitHub Pages] 可以看到设定变了,系统帮你建好了一个 gh-pages 分支,并且给你预设的 url-path
本专案的路径: **https://cookie-lee.github.io/F2ERound6/**
https://ithelp.ithome.com.tw/upload/images/20201217/20118686F68P1hfbRH.jpg

网址点进去看看有没有刚刚选的主题画面吧~有的话这个步骤就完成罗~
https://ithelp.ithome.com.tw/upload/images/20201217/20118686IBAyCYe0v8.jpg

#Step 3

接下来我们要把专案打包丢到 gh-pages 里面
这里可以使用 自动部属脚本 的方式来执行(这个也是新学的技巧xD)

首先在专案底下的 vue.config.js 加上 publicPath: '/F2ERound6/',这个动作是设定根目录为 /F2ERound6/

module.exports = {
  ...,
  publicPath: '/F2ERound6/'
}

再来就是这个步骤的重点「自动化部属脚本」
脚本的内容长这样,直接看注解吧xD

#deploy.sh
#!/usr/bin/env sh
# 当发生错误时终止脚本运行
set -e
# 打包
npm run build
# 移动至到打包後的dist目录 
cd dist
git init #因为dist资料夹预设是被ignore的,因此在进入dist资料夹後初始化git
git add -A
git commit -m 'deploy'
# 部署分支为 gh-pages
git push -f https://github.com/cookie-lee/f2eround6.git master:gh-pages
#将dist资料夹中的内容推送至远端eric-project的gh-pages分支中,并强制无条件将旧有的内容取代成目前的内容(指令 git push -f)
cd -

执行时移动到档案资料夹中,输入指令 .\deploy.sh,然後就可以发呆了 (误)
https://ithelp.ithome.com.tw/upload/images/20201217/20118686SZLhAbaHN0.jpg

#结果

视窗跑完之後就可以点刚才的连结去看我们美美的专案画面罗~!!
https://ithelp.ithome.com.tw/upload/images/20201217/20118686nDri0Z5NMM.jpg


参考资料:
从零开始: 用github pages 上传静态网站
不用懂git也能用GitHub Pages架设静态网站并绑定网域
[Vue] 将Vue专案部署至Github Pages


最後的最後,感谢六角学院举办这个活动
让我不只会coding,还学会该如何表达自己的code(这真的很重要!!)
等我拿到金角奖奖盃在来好好炫耀一番
/images/emoticon/emoticon07.gif/images/emoticon/emoticon07.gif/images/emoticon/emoticon07.gif

再拉干


<<:  Gulp 一键部属到 Github Pages DAY93

>>:  [Day06] 什麽是摩尔投票法

[Day 14] - 『转职工作的Lessons learned』 - Docker Build Issue

今天的笔记应该算是日常初阶工程师会发生的问题,以及可以怎麽去找根因的一些做法,不外乎就是下好关键字,...

Raspberry pi 与云端的连结

前面都在讲电控 对Raspberry pi似乎大材小用了 既然他有网路, 那就可以将感测器所计算出来...

【Day15】状态机的撰写

什麽是状态机呢? 状态机,其实是有限状态机(finite-state machine(FSM))的简...

Vue Components 子元件之间的资料传递

沟通不良的代价就是彼此越来越疏远,然後行同陌路如陌生人。 子元件之间就像兄弟一样的关系,所以这篇要...

Day14 - 结果今天只做小蛇,小蛇还不贪

class Snake { constructor() { // 蛇头位子 this.head = ...