gitlab利用ci自动部署gitbook的问题

T2phageBy 发布于 07/16 08:00
阅读 177
收藏 0

最近部署了一个gitlab和gitbook,利用gitlab的gitrunner来自动化管理gitbook,但是遇到了问题,编写了.gitlab-ci.yml脚本,内容如下:


before_script:
  - export PATH=$PATH:/usr/local/bin

stages:
  - build

GenerateHTML:
  stage: build
  script:
    - p=`pwd`
    - echo $p
    - sh restartGitbook.sh &
  only:
    - master
  tags:
    - gitbook-tag

然后写了一个启动脚本,大致内容就是先检测gitbook serve是否还存在,存在先kill,然后build重新启动,不存在,就直接build然后启动gitbook serve,内容如下:

#!/bin/bash 
#根据进程名杀死进程 
#定义进程名称
proname=testgitbook
PROCESS=`ps -ef|grep gitbook|grep "$proname" | grep -v grep|awk '{print $2}'`
#启动gitbook服务
function start_process(){
        echo "Now restarting......"
		gitbook build
        setsid gitbook serve -$proname
}
#结束正在运行的gitbook进程
function kill_progress(){
        echo "kill $1 process begin"
        echo "Kill the $1 process [ $PROCESS ]"
        for i in $PROCESS
            do
                echo "Kill the $proname process [ $i ]" 
                kill -9 $i
            done
}
#判断gitbook进程是否运行
function if_process_exist(){
        if [ -n "$PROCESS" ];then
                echo "Yeah,$proname is running! "
				gitbook build
				exit
        else
                echo "$proname didn't start or exist......"               
        fi
}
if_process_exist
start_process

现在脚本都能正常运行,而且gitbook服务也能正常启动,但是gitlab-runner任务会一直显示running,(重点:脚本中的任务都完成了,没有任何报错),如下图,就停在这了,这个日志的意思是gitbook服务启动成功

加载中
返回顶部
顶部