构建gitbook并基于gitlab自动发布~

整个构建过程分为以下几个部分: 安装node,npm部署gitbook gitlab版本8以上支持pipelines,服务器上安装,配置gitlab runner。

1.安装node

curl -sL https://rpm.nodesource.com/setup_6.x | bash -  (6.9.5)

yum install -y nodejs

2.安装gitbook

npm install -g gitbook-cli

3.gitlab-ci实现 gitlab的CI主要通过新版本的pipelines功能。 实现原理: 在部署服务器上运行一个gitlab的runner,并且在gitlab项目的根目录下创建.gitlab-ci.yml文件,里面主要保存一些运行 脚本,当有新数据被push时,就会执行其中的代码,实现持续集成。 实现步骤: 1.在项目根目录下新建.gitlab-ci.yml文件,内容如下

rspec:
  script:
    - gitbook init
    - gitbook build
    - sh start.sh

当项目内容更新时,更新的内容就会pull到部署服务器,然后依次执行上面代码,完成gitbook的更新。 2.安装runner到服务器上

#增加gitlab的yum源仓库
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
#yum安装runner
yum install gitlab-ci-multi-runner

为了把runner添加到gitlab项目中,需要项目的token和gitlab的url,在服务器上运行如下代码:

gitlab-ci-multi-runner register

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
your url
Please enter the gitlab-ci token for this runner:
your token
Please enter the gitlab-ci description for this runner:
[opstest]: 
Please enter the gitlab-ci tags for this runner (comma separated):
opsdoc  
Whether to run untagged builds [true/false]:
[false]:true  #此处我选择的是true,不然每次push还得弄tag 
Whether to lock Runner to current project [true/false]:
[false]: 
Registering runner... succeeded

然后根据提示信息输入,具体的token和url在项目的Settings-->CI/CD Pipelines下。 然后你就会在上图页面看到你增加的runner了。记得要Whether to run untagged builds [true/false]:选择true,不然触发时会卡住~ 理论上建立完毕之后就会部署一次,可在项目路径下Pipelines--->Pipelines里面查看部署过程。

时间: 2024-10-15 03:53:11

构建gitbook并基于gitlab自动发布~的相关文章

项目构建之maven篇:8.maven发布web工程及基于spring mvc,jetty实现的用户管理demo

web工程目录结构 pom/pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&qu

[ci] 构建触发器,实现当gitlab有push动作时候,jenkins自动拉代码.

构建触发器,实现当gitlab有push动作时候,jenkins自动拉代码. ? 拉取gitlab代码库: jenkins安装git插件 配置gitlab服务器和jenkins服务器身份互信 jenkins服务器生成一对rsa key. 复制公钥到gitlab web dashboard添加 在jenkins Credentials里添加private key. 接下去创建project ? 拉取到了本地: /var/lib/jenkins/workspace

基于python实现jenkins自动发布代码平台

前言:jenkins自动发布代码平台是我2014年6月搭建的,截止目前已经有24个项目接入了jenkins,公司开发team中大部分是用GIT管理代码,也有一部分是用svn管理代码.我的实现原理是,通过jenkins构建新版本代码,然后用python脚本发布到生产环境,在jenkins界面上点击构建,即完成在线发布. 一.Jenkins环境部署 1, 后续整理.........

基于GitLab+Jenkins的DevOps赋能实践

随着微服务.中台架构的兴起,DevOps也变得非常关键,毕竟是一些基础设施层面的建设,如果搞好了对后面的研发工作会有很大的效率提升.关于DevOps本身的概念,网上已经非常多了,在园子里随便搜索一些都一堆概念,我就不再重复介绍了.下面直接进入正题,怎么使用GitLab+Jenkins来完成DevOps的建设. 在开始实战演练之前,首先用一张图来展示一下这次实践所要完成的功能: 在这个流程中,分为3个环境,分别是预览环境.预发环境和生产环境,普通开发者接受到任务以后,在GitLab中基于featu

部署基于Gitlab+Docker+Rancher+Harbor的前端项目这一篇就够了

部署基于Gitlab+Docker+Rancher+Harbor的前端项目这一篇就够了 安大虎 ? momenta 中台开发工程师 6 人赞同了该文章 就目前的形势看,一家公司的运维体系不承载在 Docker+Harbor(或 Pouch 等同类平台)之上都不好意思说自己的互联网公司.当然这些技术也不适用于全部公司,技术在迭代,平台也一样,把我使用的工具和大家分享下,一起成长(文章中扩展可按需Google). Docker docker的架构图如下: 从图中可以看出几个组成部分 docker c

[转] 基于Gitlab CI搭建持续集成环境

[From] https://blog.csdn.net/wGL3k77y9fR1k61T1aS/article/details/78798577 前言 本文是在12月12号迅雷@赵兵在前端早读课第三期Live中提到的关于CI构建的,可能这部分在不同公司由不同的岗位负责,刚好如果你没遇到你可以看看. @赵兵,来自迅雷前端团队.是一个热爱前端技术,喜欢造轮子,爱折腾的人,也是一个奉行"懒惰使人进步"的懒人工程师. 正文从这开始- 本文简单介绍了持续集成的概念并着重介绍了如何基于 Gitl

Linux配置SSH公钥认证与Jenkins远程登录进行自动发布

公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密:另一个称为密钥(private key),只有拥有者才能看到,用于解密. 在使用jenkins自动构建并远程登录服务器进行发布应用的时候,需要使用SSH公钥认证来解决登录服务器的问题. 其实很简单,只需要两个指令即可. ssh-keygen -t rsa -P '' ssh-copy-id -i ~/.ssh/id_rsa.pub <IP> 假设有两台服务器,A是Jenkins构建服务器,

Web Service (二) CXF自动发布Web Service(No Spring)

Web Service实现目前流行的框架主要有两种,cxf和axis这两个框架,下面是这两个框架的优缺点,我们这个项目中使用的是cxf这个框架,首先看一下没有集成spring的时候是怎么实现远程调用的. Axis与Cxf比较 在SOA领域,我们认为Web Service是SOA体系的构建单元(building block).这两个框架 都是从已有的开源项目发展起来的.这两个框架哪一个更好一些呢? 通过一个比较矩阵来比较Axis2和CXF变得有现实的意义.最主要的区别在以下几个方面: 1.CXF支

使用Jenkins自动发布Windows服务项目

不同于发布Web项目,自动发布Windows服务项目需要解决以下几个问题: 如何远程停止和开启服务?需要在发布前停止服务,在发布完成后开启服务. 如何上传编译文件到目标服务器? 问题1:如何远程停止和开启服务 在msbuild之前添加一个execute windows batch command,执行cmd命令,cmd命令如下: echo **********stop remote server windows service********** "C:\Program Files\IIS\Mi