CentOS7 環境下 Dokcer 部署 GitLab Maven jenkins
阿新 • • 發佈:2019-01-08
文章說明:
1.查閱了相關的官方網站,查閱了些資料,請教了些前輩,自己實踐安裝環境,按照如下的步驟 在CentOS7上部署成功。
2.下面的安裝過程中 涉及的IP地址及埠號根據實際的情況自行修改。
3.本文只寫到了環境安裝部署,具體的使用,請到對應的官網上學習使用。
一,關閉防火牆
systemctl stop firewalld.servicesystemctl 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. 生成序列
[
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
*************************************************************
*************************************************************
*************************************************************
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.初始使用者/密碼: admin/admin123