国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

我們一起聊聊絲滑的代碼管理

開發 前端
最近需要修改一個很重要的項目源碼,但是這個源碼的代碼倉庫權限又不能給我們,只給了一份拷貝的版本,為了能夠更好地對這份代碼進行代碼版本管理,我決定在本地搭建一個 Gitlab 倉庫,來和其他同事進行協同開發。

你好,我是悟空。

本文主要內容如下:

圖片圖片

一、背景

最近需要修改一個很重要的項目源碼,但是這個源碼的代碼倉庫權限又不能給我們,只給了一份拷貝的版本,為了能夠更好地對這份代碼進行代碼版本管理,我決定在本地搭建一個 Gitlab 倉庫,來和其他同事進行協同開發。

二、環境依賴

1、本地部署一臺 Ubuntu 虛擬機

2、Ubuntu Docker 環境

3、能否訪問 docker hub 網絡(如果不能訪問,用離線方式安裝 Gitlab 也可以)

三、部署 Gitlab

3.1 采用 docker compose 方式啟動 Gitlab 容器

  • 拉取 Gitlab 鏡像
  • 編寫 docker-compose.yml 文件
  • 啟動 Gitlab 容器

(如果你不喜歡用 docker compose 方式,也可以直接用 docker run 的方式啟動 Gitlab 容器。)

3.1.1 拉取 Gitlab 鏡像

docker pull gitlab/gitlab-ee:latest

3.1.2 編寫 docker-compose.yml 文件

創建一個 docker-compose.yml 文件:

vim docker-compose.yml

內容如下:

version: '3.3'
    services:
      web:
        image: 'gitlab/gitlab-ee:latest'
        restart: always
        hostname: 'gitlab.example.com'
        environment:
          GITLAB_OMNIBUS_CONFIG: |
            external_url 'https://gitlab.example.com'
        ports:
          - '8000:80'
          - '8443:443'
          - '2222:22'
        volumes:
          - '/home/wukong/gitlab/config:/etc/gitlab'
          - '/home/wukong/gitlab/logs:/var/log/gitlab'
          - '/home/wukong/gitlab/data:/var/opt/gitlab'
        shm_size: '256m'

配置說明:

  • version: '3.3':指定了 Docker Compose 文件的版本。
  • services::指示接下來定義服務部分的開始。
  • web::這是服務的名稱,可以自定義。在這個示例中,服務名為 "web"。
  • image: 'gitlab/gitlab-ee:latest':指定要使用的 Docker 鏡像。在這里,使用了 gitlab/gitlab-ee 鏡像的最新版本。
  • restart: always:指定容器的重新啟動策略為始終重新啟動。
  • hostname: 'gitlab.example.com':設置容器的主機名為 "gitlab.example.com"。
  • environment::定義容器內的環境變量。
  • GITLAB_OMNIBUS_CONFIG: |:這是一個環境變量的名稱,其值是一個多行字符串,表示 GitLab 配置文件的內容。
  • external_url 'https://gitlab.example.com':在 GitLab 配置文件中設置 GitLab 的外部 URL 為 "https://gitlab.example.com"。
  • ports::定義容器與主機之間的端口映射關系。
  • '8000:80':將容器的 80 端口映射到主機的 8000 端口。
  • '8443:443':將容器的 443 端口映射到主機的 8443 端口。
  • '2222:22':將容器的 22 端口(SSH)映射到主機的 2222 端口。
  • volumes::定義容器內的數據卷掛載關系。
  • '/home/tss/gitlab/config:/etc/gitlab':將主機上的 /home/tss/gitlab/config 目錄掛載到容器內的 /etc/gitlab 目錄。
  • shm_size: '256m':設置容器的共享內存大小為 256MB。

還需要在 Ubuntu 上創建一些文件夾:

  • /home/wukong/gitlab/config
  • /home/wukong/gitlab/logs
  • /home/wukong/gitlab/data

3.1.3 啟動容器

在文件 docker-compose.yml 的所在的目錄下執行以下命令啟動 Gitlab 容器并查看容器狀態:

docker-compose up -d
docker ps

圖片圖片

等幾分鐘后,容器狀態會從 starting 狀態變為 healthy 狀態。

更多配置和部署方式詳見官網文檔:

https://docs.gitlab.com/ee/install/docker.html

3.2 訪問 Gitlab

可以通過 Ubuntu 虛擬機的 IP 的方式來訪問 Gitlab 網站,也可以通過域名的方式來訪問Gitlab 網站。

用瀏覽器打開 Gitlab 網站打開后如下所示:

圖片圖片

3.2.1 通過 IP 訪問

瀏覽器直接打開如下地址:

https://<虛擬機 IP 地址>:8443/

3.2.2 通過域名訪問

host 配置:

<虛擬機 IP 地址> gitlab.example.com

瀏覽器打開如下地址:

https://gitlab.example.com:8443/

3.3 修改 root 密碼

打開 Gitlab 網站后,就會讓你登錄,即使你選擇注冊,也需要等管理員審批通過才能登錄。所以我們首先得用管理員賬號登錄,但是我們是不知道賬號密碼的,所以需要先修改管理員的密碼。

  • 1.查看運行的容器ID
sudo docker ps
  • 2.進入容器
sudo docker exec -it <容器 ID>  /bin/bash

圖片

  • 3.進入 gitlab的 bin 目錄
cd /opt/gitlab/bin
  • 4.執行 gitlab-rails console
gitlab-rails console

圖片圖片

  • 5.找到 root 的用戶
u=User.where(id:1).first

因為 root 用戶的 id 是默認用戶,所以 id 為 1。

圖片圖片

  • 6.修改 password
u.password='passjava'
  • 7.修改確認密碼
u.password\_cnotallow='passjava'

圖片圖片

  • 8.保存修改

輸入u.save,然后回車,等到輸出 true,這時,密碼修改成功。

u.save

圖片圖片

密碼修改成功后,退出容器,然后回到登錄頁面,輸入用戶名和密碼即可登錄管理員賬號。用戶名:root,密碼:passjava。

四、測試 Gitlab 功能

4.1 注冊用戶

在注冊頁面填寫用戶信息,注冊成功后需要等待管理員審批。

圖片圖片

管理員審批界面

圖片圖片

4.2 測試 創建 Group 和 Project

管理員創建 Group

圖片圖片

管理員創建的 Project

圖片圖片

添加用戶到這個倉庫里面。

https://gitlab.example.com:8443/test-group/passjava/-/project_members

圖片圖片

4.3 添加 SSH Key

用戶登錄成功后,可以看到自己的 passjava 項目,不過還需要添加 SSH Key 才能 push 或 pull 項目。

圖片圖片

如果本地沒有 SSH key,則可以參考下面這個鏈接生成 SSH Key。

https://gitlab.example.com:8443/help/ssh/index#generate-an-ssh-key-pair

4.4 用戶 clone 項目

clone 倉庫到本地

git clone https://gitlab.example.com:8443/test-group/passjava.git
或
git clone https://192.168.56.12:8443/test-group/passjava.git

提示輸入密碼,輸入用戶名和密碼:

圖片圖片

圖片圖片

4.4 提交代碼到 Gitlab 倉庫

圖片圖片

附錄:離線安裝 Gitlab

docker pull gitlab/gitlab-ee:latest

打包測試環境的 gitlab鏡像,這個命令會將服務器上 gitlab 鏡像打包成 tar 包,這樣我們就方便拷貝到其他服務器上了。執行打包鏡像命令:

sudo docker save -o gitlab-ee.tar gitlab/gitlab-ee:latest

因為保存的 tar 包權限不夠,所以設置下權限為 777。執行修改權限的的命:

sudo chmod 777 gitlab-ee.tar

將這個 tar 包拷貝新環境的三臺服務器上。執行導入鏡像的命令:

sudo docker load -i gitlab-ee.tar

然后按照第三章的 3.1.2 和 3.1.3 內容啟動容器。

關于我

InfoQ 簽約作者、藍橋簽約作者、阿里云專家博主、51CTO 紅人。

責任編輯:武曉燕 來源: 悟空聊架構
相關推薦

2023-05-31 08:42:02

管理產品技術項目

2022-10-08 00:00:05

SQL機制結構

2023-08-04 08:20:56

DockerfileDocker工具

2023-08-10 08:28:46

網絡編程通信

2022-05-24 08:21:16

數據安全API

2023-06-30 08:18:51

敏捷開發模式

2023-09-10 21:42:31

2023-04-26 07:30:00

promptUI非結構化

2024-02-20 21:34:16

循環GolangGo

2021-08-27 07:06:10

IOJava抽象

2023-03-29 08:26:06

2024-06-14 09:32:12

2024-09-09 08:53:56

2022-12-06 08:12:11

Java關鍵字

2025-04-11 00:05:49

RPC底層分布式

2022-09-08 08:50:17

SSDOracleCPU

2023-08-02 08:35:54

文件操作數據源

2024-07-26 09:47:28

2022-02-23 08:41:58

NATIPv4IPv6

2024-11-28 09:57:50

C#事件發布器
點贊
收藏

51CTO技術棧公眾號

高清在线成人网| 欧美影片第一页| www.久久艹| 一二三四视频在线中文| 日本一区二区三区国色天香| 看高清中日韩色视频| 国产91精品入| 在线观看精品国产视频| 精品51国产黑色丝袜高跟鞋| **网站欧美大片在线观看| 麻豆中文字幕在线观看| 99久久综合| 欧美日韩国产123| xxx性欧美| 一本色道亚洲精品aⅴ| 福利在线一区二区三区| 黄色日韩网站视频| 久久波多野结衣| 99久久婷婷| 欧美在线观看网址综合| 亚洲网站免费| 国产一区av在线| av3级在线| 日韩免费观看高清完整版| 青青青草原在线| 亚洲综合视频网| 五月天亚洲激情| 久久蜜桃香蕉精品一区二区三区| 成年人黄色在线观看| 久久av最新网址| 国产亚洲一区二区三区在线播放| 久久精品国产www456c0m| 欧美亚洲视频在线看网址| 精品一区二区三区中文字幕视频| 亚洲色图综合久久| bl视频在线免费观看| 欧美日韩国产小视频| www.亚洲免费| 欧美精品久久久久久久久老牛影院 | 欧美日本免费一区二区三区| 免费福利影院| 亚洲卡通欧美制服中文| 男捅女免费视频| 国产精品成人免费精品自在线观看| www黄色av| 久久久国产综合精品女国产盗摄| 日本熟妇人妻xxxx| 99精品久久免费看蜜臀剧情介绍 | 精品视频久久| 全球成人中文在线| 精品理论电影| 91精品黄色| 亚洲国内自拍| 亚洲三区在线观看| 国产精品123区| 国产精品人人妻人人爽人人牛| 久久这里只精品最新地址| 在线观看免费黄网站| 亚洲另类中文字| 在线观影网站| 欧美日韩久久久一区| 国产天堂在线播放视频| 亚洲一区www| 国产成人tv| 91九色在线视频| 日韩高清在线电影| 精品无码国模私拍视频| 国产精品久久综合| 免费福利在线观看| 日韩成人性视频| 视频精品一区| 成人国产精品久久久| 免费亚洲一区| 女人天堂av手机在线| 亚洲色图制服诱惑| 自拍视频在线| 色99之美女主播在线视频| 欧美三级午夜理伦三级小说| 5566中文字幕一区二区| 青娱乐精品视频| 国产成人精品视频ⅴa片软件竹菊| 亚洲精品高清在线观看| av色综合久久天堂av色综合在| 一区二区三区精品99久久 | 日韩一区二区三区视频在线 | 精品日韩av一区二区| 国产精品久久久久久妇女| 欧美老女人在线视频| 亚洲一区二区三区无吗| 宅男在线精品国产免费观看| 国产精品每日更新| 4438x成人网全国最大| 久久国产精品网站| 欧美三级在线| 中文精品无码中文字幕无码专区| 亚洲精品视频观看| 日本片在线观看| 97碰碰碰免费色视频| 亚洲综合99| 男女午夜刺激视频| 亚洲成人激情在线| 欧美精品一区二区三区精品| 在线播放 亚洲| 亚洲午夜影视影院在线观看| 精品三级久久| 亚洲综合av影视| 91日韩在线专区| 欧美jizz18性欧美| 国内精品久久影院| 免费日本视频一区| 中文字幕在线免费专区| 综合网日日天干夜夜久久| 国产精品xvideos88| 中文字幕国内自拍| 亚洲国产美女精品久久久久∴| 精品久久美女| 粉嫩虎白女毛片人体| 亚洲精品一区二区在线观看| 国产成人高清| 男女私大尺度视频| 精品日韩99亚洲| 欧美人成在线| 免费男女羞羞的视频网站中文字幕| 亚洲精品大尺度| 狠狠干成人综合网| 超级碰碰视频| 日韩在线精品视频| 奇米精品一区二区三区在线观看一| 亚洲男人资源| 人九九综合九九宗合| 91一区二区在线| 在线观看福利电影| 久久综合中文色婷婷| 午夜激情久久久| 亚洲精品国产setv| 久久久免费视频网站| 亚洲国产小视频| 亚洲免费网址| 裸体xxxx视频在线| 成人在线播放av| 亚洲成av人影院在线观看网| 91精品啪在线观看国产爱臀| 成人毛片100部免费看| 精品国一区二区三区| 亚洲国产精品一区| 男人的天堂在线视频| 国产精品啪视频| 亚洲成人综合在线| 青青草原综合久久大伊人精品| 男男视频在线观看网站| 午夜精品一区二区三区在线视| 91在线视频播放地址| 97精品国产99久久久久久免费| 亚洲永久一区二区三区在线| 精品久久久网站| 久久aⅴ国产欧美74aaa| 激情视频网站在线播放色| 日韩在线三级| 精品视频偷偷看在线观看| 另类小说视频一区二区| 另类视频在线| 亚洲在线观看一区| 精品一区精品二区| 国产精品一卡二| 国产成人精品一区二三区在线观看 | 夜夜精品视频| 在线日本中文字幕| 欧美日韩亚洲免费| 精品捆绑美女sm三区| 男人的j进女人的j一区| 妞干网免费在线视频| 国产一区二区三区在线免费| 国产一区二区三区在线观看视频| 成人永久免费视频| 精品一区二区三区中文字幕| 人人澡人一摸人人添| 国产欧美一区二区三区四区| 日本高清无吗v一区| 天堂久久久久va久久久久| 网友自拍亚洲| 欧美1819sex性处18免费| 国产中文欧美精品| 欧美一级一区二区| 国产a久久麻豆| 精品视频高潮| 一二三四在线视频观看社区| 国产高清不卡av| 日韩乱码在线视频| 国产免费久久精品| 欧美日韩精品| 亚洲www免费| 一二三四中文在线| 欧美一区亚洲二区| 精品国产欧美一区二区五十路 | 中文字幕精品一区二区精品| 91蝌蚪porny九色| 日韩欧美视频| xxx在线免费观看| 欧美成人福利在线观看| 国产一区二区不卡视频|