Code & Func

Use Travis CI

2019-08-20
CICD
Hexo
最后更新:2024-09-19
3分钟
453字

今天简单使用了一下Travis CI

起因

因为搭建Django-blog时,每次更新一次代码,就需要手动登陆到服务器上进行一系列操作来重启服务,感觉过于麻烦且容易出错,因此想使用 CI/CD 工具来自动化这一过程。

所以这里就简单了解了一下 CI/CD,并尝试使用 Travis CI 来实现 Hexo 的自动化部署。

但考虑到 Travis CI 是一个 SaaS 服务,需要开发服务器的权限来完成部署,所以后面应该会先将Django-blog的部署方式转换成Docker的方式,然后在搭建DroneJenkins来完成 CI/CD

CI/CD

  • CI(Continuous Integration)即持续集成,个人理解是在提交代码后进行一些了测试来确保代码的正确性,保证每个开发者每次提交都会进行测试。
  • CD(Continuous Deploy)即自动部署,个人理解是在完成了测试后将代码自动化的部署到服务器上,这样就不需要开发者或运维来手动进行代码拉取,设置配置,重启服务等操作了,而是将其自动化。这个东西其实就是我想要的

Travis CI

要使用Travis CI来完成自动化部署hexo可以分为以下几个步骤:

  • Travis CI网站上将 repo 加入构建
  • 在Github生成Github Access Token并将其加入到Travis CI的环境变量中,这里使用的变量名是GITHUB_TOKEN
  • 在repo上添加一个Travis CI的配置文件:

下面是.travis.yml配置文件

1
langaue: node_js
2
node_js: stable
3
4
branches:
5
only:
6
- save
7
8
before_install:
9
- npm install -g hexo-cli
10
- git clone https://github.com/smduan/next.git themes/next
11
12
install:
13
- npm install
14
- npm install hexo-deployer-git --save
15
10 collapsed lines
16
script:
17
- mv _next_config.yml themes/next/_config.yml
18
- hexo clean
19
- hexo generate
20
21
after_script:
22
- git config user.name "wuxiaobai24"
23
- git config user.email "[email protected]"
24
- sed -i "s/GITHUB_TOKEN/${GITHUB_TOKEN}/g" ./_config.yml
25
- hexo deploy
本文标题:Use Travis CI
文章作者:wuxiaobai24
发布时间:2019-08-20