docker方式部署并使用gitlab

工作中企业会在内网搭建一个公司内部使用的git环境,一般用的是gitlab。

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

下面介绍一下如何用docker方式部署自己的gitlab,作为私服使用。

安装ubuntu虚拟机和docker环境的步骤省略。

1.docker方式安装

docker pull gitlab/gitlab-ce
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data
docker run --name gitlab -d \
> -v /mnt/gitlab/etc/:/etc/gitlab \
> -v /mnt/gitlab/log:/var/log/gitlab \
> -v /mnt/gitlab/data:/var/opt/gitlab \
> gitlab-ce:11.8.10-ce.0

2.docker compose方式安装

version: '3'
services:
    web:
      image: 'gitlab/gitlab-ce'
      restart: always
      hostname: '192.168.5.129'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://192.168.5.129:8009'
          gitlab_rails['gitlab_shell_ssh_port'] = 2222
          unicorn['port'] = 8888
          nginx['listen_port'] = 80
      ports:
        - '8009:80'
        - '8443:443'
        - '2222:22'
      volumes:
        - /usr/local/docker/gitlab/config:/etc/gitlab
        - /usr/local/docker/gitlab/data:/var/opt/gitlab
        - /usr/local/docker/gitlab/logs:/var/log/gitlab

启动:

docker-compose up

后台启动:

docker-compose up -d

3.部署秘钥

ssh-keygen -t rsa -C "indexman@126.com"
cat /c/Users/Dylan/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgF4AxrRjo+mre2tAfTnuRDJ/+9BSgqdzqydPJ4fAT2foxuiBYlLF7TCNDvlKs1JP+6nb3LR4WdukHoaLYkomPCc2HkbqXe+IgKZwF5gBO+LbKVWGoJX33wJcpqiiYOfUCv7NQHSOHHwclfNZHmdVco+ySEhEQPlB+TY8lkaydSVut48MedTDefez0WPp2ovUmjz72rESGpqmq+NAQVceLwbttLQSCyl9iLREQRT0Nycso2OeiGUC4Z5ITfMv1wNqzdtGdPPSBvv6A3oFxFz/1yUN/CA+WD418T2gFzCPpKXXQiU0i5XwKA8VBzku1bHmJWCf7VDAKHLFWGpcp6Ngj indexman@126.com

4.新建第一个项目

git clone ssh://git@192.168.5.129:2222/luohanye/hello-gitlab.git
touch README.md
vim README.md
git commit -m "add README"
git add README.md
git commit -m "add README"
git push -u origin master

Git 全局设置

git config --global user.name "luohanye"
git config --global user.email "indexman@126.com"

拉取

git clone ssh://git@192.168.5.129:2222/luohanye/hello-gitlab.git
cd hello-gitlab
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

提交已存在的项目到git

cd existing_folder
git init
git remote add origin ssh://git@192.168.5.129:2222/luohanye/hello-gitlab.git
git add .
git commit -m "Initial commit"
git push -u origin master