1. 程式人生 > >gitlab-docker安裝部署(postgresql、redis分離)

gitlab-docker安裝部署(postgresql、redis分離)

file pub tlab emctl gre wiki issue postgre 郵件

GitLab是由GitLabInc.開發,使用MIT許可證的基於網絡Git倉庫管理工具,且具有wiki和issue跟蹤功能。使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務。

一、Gitlab鏡像文件下載:

可參考此處下載運行:https://docs.gitlab.com/omnibus/docker/

我的運行方式:

docker run -dit --hostname gitlab.chen.com --publish 1443:443 --publish 18080:80 --name gitlab --restart always --volume /data/gitlab/etc:/etc/gitlab --volume /data/gitlab/logs:/var/log/gitlab --volume /data/gitlab/data:/var/opt/gitlab -v /data/gitlab/databases:/data/gitlab/databases 8be4d926d44e

二、安裝postgresql:

#yum install postgresql94-server.x86_64 postgresql94-contrib.x86_64 –y

#userdel postgres

#groupadd postgres

#useradd –g postgres postgres

修改啟動配置文件:

#vim /usr/lib/systemd/system/postgresql-9.4.service

Environment=PGDATA=/data/pgsql/data/ 數據庫文件存放目錄

#mkdir –p /data/pgsql/data

#chown postgres:postgres –R /data/pgsql/data/

初始化數據庫(必須以postgres用戶初始化)

#/usr/pgsql-9.4/bin/initdb -E UNICODE -D /data/pgsql/data/

編輯postgresql.conf配置文件,修改數據庫默認監聽地址和端口:

listen_addresses = ‘localhost‘ 改成 listen_addresses = ‘*‘

port = 5432 默認5432,根據自己需求來改,我這使用默認端口

編輯pg_hba.conf配置文件,告訴數據庫服務允許哪些客戶端連接自己:

以下是我的配置:

技術分享圖片技術分享圖片

備註:md5表示需要密碼驗證,可以設置為trust(本地可以直接psql -U postgres 登陸)

設置開機自啟:

#systemctl enable postgresql-9.4.service

啟動數據庫服務:

#systemctl start postgresql-9.4.service

登陸數據庫:

#su – postgres

#psql -U postgres

技術分享圖片技術分享圖片

三、Redis安裝

#mkdir –p /data/redis/{etc,logs,databases}

#tar xf redis-4.0.9.tar.gz

#cd redis-4.0.9

#make && make install

#cp redis.conf /data/redis/etc

修改redis配置文件:

dir /data/redis/databases

requirepass chen1234

logfile "/data/redis/logs/redis-slow.log"

啟動redis:

#redis-server /data/redis/etc/redis.conf &

修改gitlab配置文件:

vim /data/gitlab/etc/gitlab.rb

修改數據庫配置(docker鏡像使用內置postgresql,建議分離出來,後期方便升級gitlab):

postgresql[‘enable‘] = false #默認為true,設置為false

gitlab_rails[‘db_adapter‘] = "postgresql"

gitlab_rails[‘db_encoding‘] = "utf8"

gitlab_rails[‘db_host‘] = "postgresql數據庫服務端ip"

gitlab_rails[‘db_port‘] = 5432

gitlab_rails[‘db_username‘] = "postgres"

gitlab_rails[‘db_password‘] = "chen1234"

gitlab_rails[‘db_database‘] = "postgres"

修改gitlab redis配置(我使用的也是外置redis):

redis[‘enable‘] = false #和postgresql同理

gitlab_rails[‘redis_host‘] = "x.x.x.x"

gitlab_rails[‘redis_port‘] = 6379

gitlab_rails[‘redis_password‘] = "chen1234"

配置發送郵件服務:

gitlab_rails[‘smtp_enable‘] = true

gitlab_rails[‘smtp_address‘] = "smtp.exmail.qq.com"

gitlab_rails[‘smtp_port‘] = 465

gitlab_rails[‘smtp_user_name‘] = "[email protected]"

gitlab_rails[‘smtp_password‘] = "chen710409894"

gitlab_rails[‘smtp_domain‘] = "smtp.qq.com"

gitlab_rails[‘smtp_authentication‘] = "login"

gitlab_rails[‘smtp_enable_starttls_auto‘] = true

gitlab_rails[‘smtp_tls‘] = true

user[‘git_user_email‘] = "[email protected]"

gitlab_rails[‘gitlab_email_from‘] = ‘[email protected]

設置數據存儲目錄:

git_data_dirs({

"default" => {

"path" => "/data/gitlab/databases"

}

})

刷新gitlab配置:

1. 進入容器:docker exec -it 49fd5e4ff215 /bin/bash

2. 刷新配置文件:gitlab-ctl reconfigure

3. 重啟gitlab服務: gitlab-ctl restart

訪問gitlab,如圖所示:

技術分享圖片技術分享圖片

gitlab-docker安裝部署(postgresql、redis分離)