当前位置:   article > 正文

开发环境搭建-GitLab搭建_gitlab_shell_ssh_port

gitlab_shell_ssh_port

一、使用Docker搭建GitLab

        1:安装

  1. docker run --detach \ # 后台运行-d
  2. -p 8443:443 \ # 容器443端口映射到主机8443端口用于https
  3. -p 1080:80 \ # 容器80端口映射到主机1080端口用于http
  4. -p 1022:22 \ # 容器22端口映射到主机1022端口用于ssh
  5. --name gitlab \ # 指定容器名称
  6. --volume /var/lib/docker/volumes/gitlab-data/etc:/etc/gitlab \ # 挂载将本地挂载到容器 本地:容器
  7. --volume /var/lib/docker/volumes/gitlab-data/log:/var/log/gitlab \
  8. --volume /var/lib/docker/volumes/gitlab-data/data:/var/opt/gitlab \
  9. -v /etc/localtime:/etc/localtime \ # 同步主机时区
  10. --restart=unless-stopped \ # 容器运行中非手动退出时自动重启
  11. gitlab/gitlab-ce
  12. # docker-compose 方式
  13. version: "3"
  14. services:
  15. gitlab:
  16. image: gitlab/gitlab-ce
  17. container_name: gitlab
  18. ports:
  19. - 8443:443
  20. - 1080:80
  21. - 1022:22
  22. volumes:
  23. - /etc/localtime:/etc/localtime:ro
  24. - ./services/gitlab/etc:/etc/gitlab:rw
  25. - ./services/gitlab/data:/var/opt/gitlab:rw
  26. - ./logs/gitlab:/var/log/gitlab:rw
  27. restart: always
  28. logging:
  29. driver: "json-file"
  30. options:
  31. max-size: "500m"
  32. networks:
  33. my_bridge:
  34. aliases:
  35. - gitlba
  36. environment:
  37. TZ: "Asia/Shanghai"
  38. # SVN配置 https://blog.csdn.net/yeqinghanwu/article/details/126984838
  39. svn:
  40. image: elleflorio/svn-server:latest
  41. container_name: svn
  42. ports:
  43. - 3080:80
  44. - 3690:3690
  45. volumes:
  46. - /etc/localtime:/etc/localtime:ro
  47. - ./services/svn/config:/etc/subversion:rw
  48. - ./services/svn/data:/home/svn:rw
  49. restart: always
  50. logging:
  51. driver: "json-file"
  52. options:
  53. max-size: "500m"
  54. networks:
  55. my_bridge:
  56. aliases:
  57. - svn
  58. environment:
  59. TZ: "Asia/Shanghai"
  60. networks:
  61. my_bridge:
  62. driver: bridge

        2:创建启动脚本方便以后启动

  1. #!/bin/bash
  2. serverName="gitlab"
  3. imageName="gitlab/gitlab-ce"
  4. function runServer(){
  5. docker run --detach \
  6. -p 8443:443 \
  7. -p 1080:80 \
  8. -p 1022:22 \
  9. --name ${serverName} \
  10. --volume /var/lib/docker/volumes/gitlab-data/etc:/etc/gitlab \
  11. --volume /var/lib/docker/volumes/gitlab-data/log:/var/log/gitlab \
  12. --volume /var/lib/docker/volumes/gitlab-data/data:/var/opt/gitlab \
  13. -v /etc/localtime:/etc/localtime \
  14. --restart=unless-stopped \
  15. ${imageName}
  16. }
  17. runningCount=`docker ps -f status=running -f status=restarting | grep -w ${serverName} |wc -l`;
  18. if [[ ${runningCount} > 0 ]];then
  19. echo "docker restart 重启项目:${serverName}"
  20. docker restart ${serverName}
  21. exit 0
  22. fi
  23. serverCount=`docker ps -f status=exited -f status=created | grep -w ${serverName} |wc -l`;
  24. # 判断是否已经启动过,且端口为默认端口
  25. if [[ ${serverCount} > 0 ]];then
  26. if [[ ${serverCount} > 1 ]]; then
  27. echo "Error : 查找到多个 ${serverName} 容器,请手动启动"
  28. exit 1
  29. else
  30. echo "docker start 启动项目:${serverName}"
  31. docker start ${serverName}
  32. fi
  33. else
  34. name=${imageName%%:*}
  35. tag=${imageName##*:}
  36. # 判断是否有该镜像
  37. imageCount=`docker images | grep -w ${name} | wc -l`;
  38. if [[ ${imageCount} > 0 ]];then
  39. echo "docker run 第一次启动项目: ${imageName}"
  40. runServer
  41. else
  42. echo "Error : 还没有该镜像"
  43. exit 1
  44. fi
  45. fi

        3:配置gitlab

            vim /var/lib/docker/volumes/gitlab-data/etc/gitlab.rb
            nginx['listen_port'] = 80 # gitlab nginx 端口,默认80
            external_url 'http://ip:1080' # 配置http协议使用的访问地址
            gitlab_rails['gitlab_ssh_host'] = 'ip' #配置ssh协议使用的访问地址
            gitlab_rails['gitlab_shell_ssh_port'] = 1022 #配置ssh协议使用的访问端口
            修改默认头像地址
            gitlab_rails[gravatar_plain_url]=http://sdn.geekzu.org/avatar/%hash?s=%size&d=identicon
            gitlab_rails[gravatar_ssl_url]=https://sdn.geekzu.org/avatar/%hash?s=%size&d=identicon
            修改完成后重启 docker restart gitlab

        4:管理员密码修改

            第一次访问时会要求修改初始化账号root密码
            如果后期忘记密码也可以修改密码

  1. # 进入docker gitlab
  2. docker exec -it gitlab /bin/bash
  3. # 执行命令
  4. gitlab-rails console -e production
  5. user = User.where(id: 1).first
  6. user.password="密码"
  7. user.password_confirmation="密码"
  8. user.save!
  9. quit

        5:配置发送邮件(邮箱需要开启smtp服务)

             vim /var/lib/docker/volumes/gitlab-data/etc/gitlab.rb

  1. gitlab_rails['smtp_enable'] = true
  2. gitlab_rails['smtp_address'] = "smtp.163.com"
  3. gitlab_rails['smtp_port'] = 465
  4. gitlab_rails['smtp_user_name'] = "email@163.com"
  5. gitlab_rails['smtp_password'] = "password"
  6. gitlab_rails['smtp_domain'] = "smtp.163.com"
  7. gitlab_rails['smtp_authentication'] = "login"
  8. gitlab_rails['smtp_enable_starttls_auto'] = true
  9. gitlab_rails['smtp_tls'] = true
  10. gitlab_rails['smtp_openssl_verify_mode'] = 'none'
  11. gitlab_rails['gitlab_email_from'] = 'email@163.com'
  12. gitlab_rails['gitlab_email_enabled'] = true
  13. gitlab_rails['gitlab_email_display_name'] = 'gitlab'
  14. gitlab_rails['gitlab_email_reply_to'] = 'email@163.com'
  15. gitlab_rails['gitlab_email_subject_suffix'] = '[GITLAB]'

           docker exec -it gitlab /bin/bash # 进入容器发送测试

           gitlab-rails console
           ActionMailer::Base.delivery_method显示邮件发送协议
           ActionMailer::Base.smtp_settings查看邮件配置
           Notify.test_email('收件人邮箱', '标题', '内容').deliver_now

二、直接在主机上安装

        1:安装相关依赖

              sudo yum install -y curl policycoreutils-python openssh-server

              systemctl enable sshd

              systemctl start sshd

              sudo firewall-cmd --permanent --add-service=http

              systemctl restart firewalld

        2:添加镜像仓库

              curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash

              EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce

              以上方法如果慢可以修改国内源

              ls -l /etc/yum.repos.d/

              mv /etc/yum.repos.d/gitlab_gitlab-ce.repo /etc/yum.repos.d/gitlab_gitlab-ce.repo.bak #备份

              vim /etc/yum.repos.d/gitlab-ce.repo

  1. [gitlab-ce]
  2. name=Gitlab CE Repository
  3. baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
  4. gpgcheck-0
  5. enabled=1

            yum makecache

            yum install gitlab-ce

        3:配置并启动

            gitlab-ctl reconfigure # 首次启动也要用此命令。重新加载配置并启动

            gitlab-ctl start # 启动

            gitlab-ctl stop # 停止

        4:修改配置文件

           gitlab-ctl stop

           vim /etc/gitlab/gitlab.rb 配置项可参考上方docker方式安装

           gitlab-ctl restart postgresql

           gitlab-ctl reconfigure

           gitlab-ctl start

        5:卸载

            gitlab-ctl stop

            rpm -e gitlab-ce

            ps aux | grep gitlab # 查看守护进程

            kill -9

            find / -name gitlab | xargs rm -rf # 删除所有包含gitlab的文件

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/87956
推荐阅读
相关标签
  

闽ICP备14008679号