docker 部署 gitlab-ce 16.9.1的详细过程

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

gitlab/gitlab-ce(需要科学上网)

拉取 gitlab-ce 镜像

docker pull gitlab/gitlab-ce:16.9.1-ce.0

查看镜像是不是有 Volumes 的配置

docker inspect gitlab/gitlab-ce:16.9.1-ce.0 –format={{.Config.Volumes}}

获取到类似如下的内容,说明有 Volumes 的配置

map[/etc/gitlab:{} /var/log/gitlab:{} /var/opt/gitlab:{}]

创建 gitlab-ce 持久化目录

mkdir -p /data/gitlab-ce-root cat << EOF > /data/gitlab-ce-root/gitlab-ce.env GITLAB_BASE_DIR=/data/gitlab-ce-root GITLAB_CONFIG_DIR=”${GITLAB_BASE_DIR}/conf” GITLAB_DATA_DIR=”${GITLAB_BASE_DIR}/data” GITLAB_LOG_DIR=”${GITLAB_BASE_DIR}/logs” EOF

创建目录

source /data/gitlab-ce-root/gitlab-ce.env mkdir -p ${GITLAB_CONFIG_DIR} ${GITLAB_DATA_DIR} ${GITLAB_LOG_DIR}

启停脚本配置

通过 start 启动容器通过 stop 停止容器通过 restart 重启容器通过 exec 进入容器 #!/usr/bin/env bash source /data/gitlab-ce-root/gitlab-ce.env GITLAB_PORT=8888 GITLAB_MEM=4G GITLAB_NAME=gitlab-ce GITLAB_IMAGE=gitlab/gitlab-ce:16.9.1-ce.0 function useAge () { echo “usage: [ bash ${0} start ] to start gitlab-ce” echo “usage: [ bash ${0} stop ] to stop gitlab-ce” echo “usage: [ bash ${0} restart ] to restart gitlab-ce” echo “usage: [ bash ${0} exec ] to exec gitlab-ce” exit 1 } function optStart () { DOCKER_PS=$(docker ps -a | awk “/${GITLAB_NAME}/ {print $NF}”) if [[ “${DOCKER_PS}”x == “${GITLAB_NAME}”x ]];then DOCKER_STATUS=$(docker ps -a –format=”{{.Names}} {{.Status}}” | awk “/${GITLAB_NAME}/ {print $2}”) if [[ “${DOCKER_STATUS}”x == “Up”x ]];then echo “${GITLAB_NAME} is up” else docker start ${GITLAB_NAME} > /dev/null if [ $? -eq 0 ];then echo “${GITLAB_NAME} start success” fi fi else docker run -d -p ${GITLAB_PORT}:80 -v ${GITLAB_CONFIG_DIR}:/etc/gitlab -v ${GITLAB_LOG_DIR}:/var/log/gitlab -v ${GITLAB_DATA_DIR}:/var/opt/gitlab –restart always –privileged=true –name ${GITLAB_NAME} –memory=${GITLAB_MEM} ${GITLAB_IMAGE} fi } function optStop () { docker stop ${GITLAB_NAME} > /dev/null if [ $? -eq 0 ];then echo “${GITLAB_NAME} stop success” fi } function optExec () { docker exec -it ${GITLAB_NAME} bash } if [ $# -eq 0 ];then useAge fi case $1 in start ) optStart ;; stop ) optStop ;; restart ) optStop optStart ;; exec ) optExec ;; * ) useAge ;; esac

配置 gitlab-ce

进入 gitlab-ce 容器

docker exec -it gitlab-ce bash

编辑 gitlab-ce 配置文件

egrep -q ^external_url /etc/gitlab/gitlab.rb || echo “external_url http://172.72.0.170” >> /etc/gitlab/gitlab.rb

重启 gitlab-ce

退出容器,然后重启容器

docker restart gitlab-ce

gitlab-ce 的重启时间非常的久,这个和硬件有关系,等到日志出现 gitlab Reconfigured 就说明重启完成了,就可以用浏览器访问 ip 地址去打开 gitlab 页面了

配置 root 密码

进入容器

docker exec -it gitlab-ce bash

进入控制台

gitlab-rails console -e production

耐心等待,等他出现下面的内容

——————————————————————————– Ruby: ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux] GitLab: 16.9.1 (0ef8ba69a8f) FOSS GitLab Shell: 14.33.0 PostgreSQL: 14.10 ————————————————————[ booted in 44.67s ] Loading production environment (Rails 7.0.8) irb(main):001:0>

查询管理员的名字

user = User.where(id:1).first

返回如下的内容

=> #<User id:1 @root>

设置密码

user.password=Password@123

保存密码,返回 true 表示修改成功

user.save!

设置中文

docker 部署 gitlab-ce 16.9.1的详细过程插图

找到 Localization ,把 Language 换成简体中文,然后save change

docker 部署 gitlab-ce 16.9.1的详细过程插图1

刷新一下页面,就显示中文了

docker 部署 gitlab-ce 16.9.1的详细过程插图2


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容