Docker----gitlab

一、gitlab简介

GitLab 是由 GitLab Inc.开发,一款基于 Git 的完全集成的软件开发平台(fully 集成软件 development platform)。另外,GitLab 且具有wiki以及在线编辑、issue跟踪功能、CI/CD 等功能。

二、docker搭建gitlab

docker hub 镜像仓库地址

1、将容器内的/etc/gitlab拷贝到宿主机本地

/etc/gitlab是用来配置gitlab各种配置的,需要将容器内/etc/gitlab配置文件映射出来方便以后修改。

cyf@KobeBryant:~/docker/gitlab$ docker run --rm -d --name gitlab twang2218/gitlab-ce-zh:11.0
Unable to find image 'twang2218/gitlab-ce-zh:11.0' locally
11.0: Pulling from twang2218/gitlab-ce-zh
3620e2d282dc: Pull complete 
ef22f5e4b3b2: Pull complete 
.....
cyf@KobeBryant:~/docker/gitlab$ docker cp gitlab:/etc/gitlab .
cyf@KobeBryant:~/docker/gitlab$ mv gitlab/ config
cyf@KobeBryant:~/docker/gitlab$ ls
config  runner

2、修改宿主机/etc/hosts配置

添加如下配置,使宿主机能够识别gitlab.cyf.com

127.0.0.1	localhost
127.0.1.1	KobeBryant
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.10.24 gitlab.cyf.com #添加此行

3、启动gitlab容器

不太懂docker的可以参考我的一篇博客:docker常用命令总结

cyf@KobeBryant:~/docker/gitlab$ docker run -d -hgitlab.cyf.com \
--add-host gitlab.cyf.com:192.168.10.24 \
-p80:80 -p443:443 -p22:22 \
-v /home/cyf/docker/gitlab/config:/etc/gitlab \
-v /home/cyf/docker/gitlab/data:/var/opt/gitlab \
-v /home/cyf/docker/gitlab/logs:/var/log/gitlab \
--name gitlab \
twang2218/gitlab-ce-zh:11.1
134734fec8cbe43555e25e9d7f6b687205c4a2e014e2b331a76cd34fe2b640e5

4、查看日志观察启动情况

当有如下日志输出时,证明gitlab启动完成

cyf@KobeBryant:~/docker/gitlab$ docker logs gitlab --tail 300 -f
.....
    - restart service service[postgres-exporter]
  * ruby_block[restart postgres-exporter svlogd configuration] action create
    - execute the ruby block restart postgres-exporter svlogd configuration
  * ruby_block[reload postgres-exporter svlogd configuration] action create
    - execute the ruby block reload postgres-exporter svlogd configuration

Running handlers:
Running handlers complete
Chef Client finished, 404/590 resources updated in 02 minutes 32 seconds
gitlab Reconfigured!
Checking for an omnibus managed postgresql: OK
Checking for a newer version of PostgreSQL to install
No new version of PostgreSQL installed, nothing to upgrade to
==> /var/log/gitlab/logrotate/current <==

==> /var/log/gitlab/prometheus/current <==
.....

三、gitlab简单使用

可以用ip地址+端口或者用自定义的域名gitlab.cyf.com

1、首页设置root密码

浏览器打开地址后,会进入到一个设置密码界面如下图,需要设置长度大于等8的root用户的密码
在这里插入图片描述

2、gitlab首次登录主页面

使用root用户和上一步设置的root密码登录到gitlab服务器,首次登录到gitlab服务器的主页如下图
在这里插入图片描述

3、新建项目

新建一个eureka项目,点击创建一个项目,进入到新建项目界面,填写项目名称即可:
在这里插入图片描述

4、上传本地项目到gitlab服务器

新建项目后,会有相关git命令提示,使用第三种方式:
在这里插入图片描述

cyf@KobeBryant:~/git$ cd eureka/
cyf@KobeBryant:~/git/eureka$ git init
已初始化空的 Git 仓库于 /home/cyf/git/eureka/.git/
cyf@KobeBryant:~/git/eureka$ git remote add origin http://192.168.10.24/root/eureka.git
cyf@KobeBryant:~/git/eureka$ git add .
cyf@KobeBryant:~/git/eureka$ git commit -m "Initial commit"
[master (根提交) cf051d6] Initial commit
 15 files changed, 840 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 .mvn/wrapper/MavenWrapperDownloader.java
 create mode 100644 .mvn/wrapper/maven-wrapper.jar
 create mode 100644 .mvn/wrapper/maven-wrapper.properties
 create mode 100644 Dockerfile
 create mode 100644 README.md
 create mode 100644 docker-compose.yml
 create mode 100755 mvnw
 create mode 100644 mvnw.cmd
 create mode 100644 pom.xml
 create mode 100644 src/main/java/com/allqj/eureka_server/EurekaServerApplication.java
 create mode 100644 src/main/resources/application-cluster2.yml
 create mode 100644 src/main/resources/application-cluster3.yml
 create mode 100644 src/main/resources/application.yml
 create mode 100644 src/test/java/com/allqj/eureka_server/EurekaServerApplicationTests.java
cyf@KobeBryant:~/git/eureka$ git push -u origin master
Username for 'http://192.168.10.24': root
Password for 'http://root@192.168.10.24': 
对象计数中: 31, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (23/23), 完成.
写入对象中: 100% (31/31), 75.30 KiB | 75.30 MiB/s, 完成.
Total 31 (delta 1), reused 0 (delta 0)
To http://192.168.10.24/root/eureka.git
 * [new branch]      master -> master
分支 'master' 设置为跟踪来自 'origin' 的远程分支 'master'

5、设置ssh密钥

将本地的id_rsa.pub文件内容上传的gitlab服务器,这样就可以实现免密上传项目和拉取项目在这里插入图片描述

四、gitlab CI/CD流水线

详情见我的另一篇博客:docker容器搭建----gitlab-runner自动化部署

简单运行过程如下图:
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值