CentOS7 环境下 Dokcer 部署 GitLab Maven jenkins

文章说明:

1.查阅了相关的官方网站,查阅了些资料,请教了些前辈,自己实践安装环境,按照如下的步骤 在CentOS7上部署成功。

2.下面的安装过程中 涉及的IP地址及端口号根据实际的情况自行修改。

3.本文只写到了环境安装部署,具体的使用,请到对应的官网上学习使用。

 

一,关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

禁用selinux安全
vi /etc/selinux/config 

#SELINUX=enforcing
SELINUX=disabled

二、下载镜像:
1.postgresql数据库下载:
1)搜索可用的镜像
docker search sameersbn/postgresql
2)下载镜像
docker pull docker.io/sameersbn/postgresql

2.redis下载:
1)搜索可用的镜像
docker search sameersbn/redis
2)下载镜像
docker pull docker.io/sameersbn/redis

3.下载gitlab
1)搜索可用的镜像
docker search gitlab 
2)下载镜像 (社区汉化版)
docker pull docker.io/twang2218/gitlab-ce-zh

三、安装数据库
1、mkdir   -pv  /home/docker/gitlab/postgresql
2、docker run --name gitlab-postgresql -d \
    --env 'DB_NAME=gitlabhq_production' \
    --env 'DB_USER=gitlab' --env 'DB_PASS=password' \
    --env 'DB_EXTENSION=pg_trgm' \
    --volume /home/docker/gitlab/postgresql:/var/lib/postgresql \
    docker.io/sameersbn/postgresql
参数说明:
--name 给安装镜像取名字,便于在容器中查看。
--env表示环境变量
--volume表示将后面容器中的路径挂载到前面的路径上

四、安装 Redis
1、mkdir   -pv  /home/docker/gitlab/redis
2、
    docker run -p 63791:6379 --name gitlab-redis -d \
    --volume /home/docker/gitlab/redis:/var/lib/redis \
    sameersbn/redis

参数说明:
-p 63791:6379 :将容器的63791端口映射到主机的6379端口
--volume 表示将后面容器中的路径挂载到前面的路径上/home/docker/gitlab/redis:/var/lib/redis  :将主机中当前目录下的/home/docker/gitlab/redis 挂载到容器的/var/lib/redis
redis-server --appendonly yes :在容器执行redis-server启动命令,并打开redis持久化配置

五、安装gitlab
1. 安装pwgen-2.07-1.el7.x86_64.rpm
   wget http://dl.fedoraproject.org/pub/epel/7/x86_64/p/pwgen-2.07-1.el7.x86_64.rpm
   rpm  -ivh *.rpm 

2. 生成序列
[root@localhost ~]#  pwgen -Bsv1 64
DqQ4WVHQvmDnScs5WHXbwKm4tM7XD6Hd263w6QzrgjtmWtkqdTm5bLQhQzGQvLC7


把生成的序列复制到如下: 
    --env 'GITLAB_SECRETS_DB_KEY_BASE=DqQ4WVHQvmDnScs5WHXbwKm4tM7XD6Hd263w6QzrgjtmWtkqdTm5bLQhQzGQvLC7' \
    --env 'GITLAB_SECRETS_SECRET_KEY_BASE=DqQ4WVHQvmDnScs5WHXbwKm4tM7XD6Hd263w6QzrgjtmWtkqdTm5bLQhQzGQvLC7' \
    --env 'GITLAB_SECRETS_OTP_KEY_BASE=DqQ4WVHQvmDnScs5WHXbwKm4tM7XD6Hd263w6QzrgjtmWtkqdTm5bLQhQzGQvLC7' \

3.镜像添加到容器

1)mkdir   -pv  /home/docker/gitlab/gitlab 
2)docker run --name gitlab_ce_ch -d \
    --link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
    --publish 10022:22 --publish 5080:80 \
    --env 'GITLAB_PORT=5080' --env 'GITLAB_SSH_PORT=10022' --env 'GITLAB_HOST=IP_ADDRESS' \
    --env 'GITLAB_SECRETS_DB_KEY_BASE=DqQ4WVHQvmDnScs5WHXbwKm4tM7XD6Hd263w6QzrgjtmWtkqdTm5bLQhQzGQvLC7' \
    --env 'GITLAB_SECRETS_SECRET_KEY_BASE=DqQ4WVHQvmDnScs5WHXbwKm4tM7XD6Hd263w6QzrgjtmWtkqdTm5bLQhQzGQvLC7' \
    --env 'GITLAB_SECRETS_OTP_KEY_BASE=DqQ4WVHQvmDnScs5WHXbwKm4tM7XD6Hd263w6QzrgjtmWtkqdTm5bLQhQzGQvLC7' \
    --volume /home/docker/gitlab/gitlab:/home/git/data \
    twang2218/gitlab-ce-zh 

参数说明:
--link 连接数据库 redis
--publish  10022:22 :将容器的22端口映射到主机的10022。端口 ; 5080:80 :将容器的80端口映射到主机的5080
--name 给安装镜像取名字,便于在容器中查看。
--env表示环境变量
--volume表示将后面容器中的路径挂载到前面的路径上

六、安装 jenkins 持续集成
1. mkdir   -pv  /home/docker/jenkins_home && chown -R 1000 /home/docker/jenkins_home
2. docker run --name jenkins -p 9080:8080 \
 -p 50000:50000 -v /home/docker/jenkins_home:/var/jenkins_home \
 -v /etc/localtime:/etc/localtime \
 jenkins/jenkins 

参数说明:
-p 端口号的映射 根据实际的情况自己修改。
--name 给安装镜像取名字,便于在容器中查看。
--env表示环境变量
--volume表示将后面容器中的路径挂载到前面的路径上

生成密钥如下:


*************************************************************
*************************************************************
*************************************************************


Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

 

017ae0c2045e49669ddffe686a902352      

 

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************

3、退出:Ctr + C

4、登录:127.0.0.1:6080/

5、输入密钥: 017ae0c2045e49669ddffe686a902352

七、部署maven是私有库
方法一:
1、mkdir -pv /home/docker/nexus-data && chown -R 200 /home/docker/nexus-data
2、docker pull sonatype/nexus
3、docker run -d --name nexus-data sonatype/nexus echo "data-only container for Nexus"
4、docker run -d -p 80811:8081 --name nexus --volumes-from nexus-data sonatype/nexus

方法二:
1、mkdir -pv /home/docker/nexus-data && chown -R 200 /home/docker/nexus-data

2、sudo docker run -d \
--name nexus \
-p  80811:8081 \
-v /home/docker/nexus-data:/var/lib/nexus-data \
sonatype/nexus

参数说明:
-p  80811:8081 :将容器的8081端口映射到主机的80811。
--name 给安装镜像取名字,便于在容器中查看。
-v表示将后面容器中的路径挂载到前面的路径上

5.127.0.0.1:20081/nexus
 

6.初始用户/密码: 账号/密码

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值