搭建部署 wiki

本贴最后更新于 1347 天前,其中的信息可能已经物是人非

搭建部署 wiki

环境准备

操作系统:Centos 7
软件:docker / gitlab / jenkins(blueocean 版本)

安装 gitlab

$ docker run -d  -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

按上面的方式,gitlab 容器运行没问题,但在 gitlab 上创建项目的时候,生成项目的 URL 访问地址是按容器的 hostname 来生成的,也就是容器的 id。作为 gitlab 服务器,我们需要一个固定的 URL 访问地址,于是需要配置 gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)。

# gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://x.x.x.x'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = 'http://x.x.x.x'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
修改gitlab.rb文件
# 重启gitlab容器
$ docker restart gitlab
此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头
打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)

安装 jenkins

docker run \
  -u root \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean

mkdocs 搭建

目录结构如下

.
├── Dockerfile
├── Jenkinsfile
├── README.md
├── docs
└── mkdocs.yml

Dockerfile 内容如下

From squidfunk/mkdocs-material
ADD . /docs

Jenkinsfile 内容如下

import java.text.SimpleDateFormat
node {
    def dockerName='wiki'
    stage('git pull'){
            sh 'pwd'
            git credentialsId: '001', url: 'http://1xx.xxx.xx.xx/sunwei/wiki.git'
        }
    stage('docker run') {
        sh 'pwd'
        def imageUrl = "squidfunk/mkdocs-material:v1"
        def customImage = docker.build(imageUrl)
        sh "docker rm -f ${dockerName} || true"
        docker.image('squidfunk/mkdocs-material:v1').run("-it -d --name ${dockerName} -p 8090:8000  --workdir /docs")
        }
}

配置 jenkins

新建一个 pipeline 项目
image.png

配置 jenkins 凭证

jenkins - 配置 - 全局配置

image.png配置 gitlab

管理中心 - 项目 - 编辑

image.png这样每次提交代码时,就会触发自动构建

可以实现 wiki,markdown 编辑提交自动部署了

  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • Wiki
    4 引用 • 15 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...