搭建文档中心(Runner版)

51 阅读2分钟

技术方案 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
    image.png
  • 参考资料
    【1】gitlab-runner:安装、注册、配置用户root
    【2】 gitlab runner下载安装注册+卸载 + shell指令没执行的问题

(三) 安装Nodejs

[linux] ubuntu安装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

image.png

# 输入项目的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

(四)访问博客

http://xxxxx/chenxs/