搭建部署 wiki
搭建部署 wiki
环境准备
操作系统:CentOS 7
软件:docker / GitLab / jenkins(blueocean 版本)
安装 GitLab
1$ 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
2# -d:后台运行
3# -p:将容器内部端口向外映射
4# --name:命名容器名称
5# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
按上面的方式,GitLab 容器运行没问题,但在 GitLab 上创建项目的时候,生成项目的 URL 访问地址是按容器的 hostname 来生成的,也就是容器的 id。作为 GitLab 服务器,我们需要一个固定的 URL 访问地址,于是需要配置 gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)。
1# gitlab.rb文件内容默认全是注释
2$ vim /home/gitlab/config/gitlab.rb
3# 配置http协议所使用的访问地址,不加端口号默认为80
4external_url 'http://x.x.x.x'
5
6# 配置ssh协议所使用的访问地址和端口
7gitlab_rails['gitlab_ssh_host'] = 'http://x.x.x.x'
8gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
9:wq #保存配置文件并退出
10修改gitlab.rb文件
11# 重启gitlab容器
12$ docker restart gitlab
13此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头
14打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)
安装 jenkins
1docker run \
2 -u root \
3 --rm \
4 -d \
5 -p 8080:8080 \
6 -p 50000:50000 \
7 -v jenkins-data:/var/jenkins_home \
8 -v /var/run/docker.sock:/var/run/docker.sock \
9 jenkinsci/blueocean
mkdocs 搭建
目录结构如下
1.
2├── Dockerfile
3├── Jenkinsfile
4├── README.md
5├── docs
6└── mkdocs.yml
Dockerfile 内容如下
1From squidfunk/mkdocs-material
2ADD . /docs
Jenkinsfile 内容如下
1import java.text.SimpleDateFormat
2node {
3 def dockerName='wiki'
4 stage('git pull'){
5 sh 'pwd'
6 git credentialsId: '001', url: 'http://1xx.xxx.xx.xx/sunwei/wiki.git'
7 }
8 stage('docker run') {
9 sh 'pwd'
10 def imageUrl = "squidfunk/mkdocs-material:v1"
11 def customImage = docker.build(imageUrl)
12 sh "docker rm -f ${dockerName} || true"
13 docker.image('squidfunk/mkdocs-material:v1').run("-it -d --name ${dockerName} -p 8090:8000 --workdir /docs")
14 }
15}
配置 jenkins
新建一个 pipeline 项目
配置 jenkins 凭证
jenkins - 配置 - 全局配置
配置 GitLab
管理中心 - 项目 - 编辑
这样每次提交代码时,就会触发自动构建
可以实现 wiki,Markdown 编辑提交自动部署了
---------------------------------------------------------------
>> 博客地址:https://blog.mufengs.com
>> 邮箱地址:[email protected]
>> 微信帐号:Do8080
>> Github : https://github.com/mufengcoding
---------------------------------------------------------------