技术方案 Vuepress+Gitlab+GitlabRunner+Nginx
一、软件安装
(一) gitlab
安装宝塔,通过宝塔安装gitlab 宝塔地址: www.bt.cn/new/index.h…
(二) gitlabrunner
- 下载
curl -LJO "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_amd64.deb"
- 安装
dpkg -i gitlab-runner_amd64.deb
- 启动runner
gitlab-runner start
- 查看runner状态
gitlab-runner status
- 关闭
gitlab-runner stop
- 变更用户
安装gitlab-runner构建机时默认会将用户设置为:gitlab-runner,该设置会使编写.gitlab-ci.yml的脚本,操作带来一些权限上的问题。为了解决这些权限需要将gitlab-runner构建机上的默认用户设置为root。
1、查看gitlab-runner进程:ps aux|grep gitlab-runner
(可以查看到gitlab-runner的工作目录和默认用户等一系列相关信息。)
2、卸载gitlab-runner默认用户:sudo gitlab-runner uninstall
3、将用户设置为root:gitlab-runner install --working-directory /home/gitlab-runner --user root
4、重启服务:systemctl restart gitlab-runner.service
5、再次查看gitlab-runner进程:ps aux|grep gitlab-runner
- 在gitlab中查看runner
- 参考资料
【1】gitlab-runner:安装、注册、配置用户root
【2】 gitlab runner下载安装注册+卸载 + shell指令没执行的问题
(三) 安装Nodejs
(四) nginx
- 安装依赖
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
# Ubuntu14.04的仓库中没有发现openssl-dev,由下面openssl和libssl-dev替代
#apt-get install openssl openssl-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
- 下载安装包
cd /usr/local
wget http://nginx.org/download/nginx-1.20.2.tar.gz
tar -xvf nginx-1.20.2.tar.gz
- 编译
# 进入nginx目录
cd /usr/local/nginx-1.20.2
# 执行命令
./configure
# 执行make命令
make
# 执行make install命令
make install
- 常用操作
#检查nginx配置文件
cd /usr/local/nginx/sbin
./nginx -t
#启动
cd /usr/local/nginx/sbin
./nginx
#重启
cd /usr/local/nginx/sbin
./nginx -s reload
#关闭
cd /usr/local/nginx/sbin
./nginx -s stop
- 参考文档
【1】 ubuntu安装nginx
【2】nginx常用操作命令
二、 搭建个人博客
(一)项目源码
下载vuepress-voding主题,然后上传到gitlab
(二)注册runner
# 输入项目的gitlab地址
Please enter the gitlab-ci coordinator URL (e.g. gitlab.com/):http://xxxxxxx/
# 输入 GitLab Token
Please enter the gitlab-ci token for this runner:
76xxxxxxxx91
# 输入 Runner 的说明
Please enter the gitlab-ci description for this runner:
vuepress自动化部署
# 设置 Tag,可以用于指定在构建规定的 tag 时触发 ci
Please enter the gitlab-ci tags for this runner (comma separated):
mytag
# 选择 runner 执行器,选择的是 shell
Please enter the executor: virtualbox, docker+machine, parallels, shell, ssh, docker-ssh+machine, kubernetes, docker, docker-ssh:
shell
(三)创建流水线
gitlab项目新增:.gitlab-ci.yml,如:
# 定义各阶段的执行顺序
stages:
- build
# 在脚本执行前设置npm源
before_script:
- npm config set registry registry.npm.taobao.org/
- npm config set cache-folder .cache/
# 定义各阶段的具体执行命令
# artifacts缓存在gitlab上的工件,用于将指定目录下的文件下载下来
build:
stage: build
script:
- npm i
- npm run build
#把runner打的包剪切到nginx目录下
- mv -f docs/.vuepress/dist/* /usr/local/nginx/html/chenxs
tags:
- mytag
artifacts:
paths:
- catch_public