小常識

  • GitLab Admin預設登入帳號admin@example.com,密碼則需要進入Console進行修改。
  • 使用Ruby on Rails語言框架。

Install

Use Docker(推薦!)

建議安裝商業授權版本gitlab/gitlab-ee:latest,以便未來購買商業授權即可使用進階功能。(未購買授權,可使用功能與社群版本一樣)

1
2
3
4
5
6
7
8
9
10
11
sudo docker run --detach \
--hostname {your ip} \
--publish 8143:8143 --publish 8180:8180 --publish 8122:22 \
--name gitlab \
--restart always \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://{your ip}:8180';" \
--volume /data/gitlab/config:/etc/gitlab:Z \
--volume /data/gitlab/logs:/var/log/gitlab:Z \
--volume /data/gitlab/data:/var/opt/gitlab:Z \
--shm-size 8g \
gitlab/gitlab-ee:latest

Use docker-compose

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# docker-compose.yml

version: '3.0'
networks:
gitlab_net:

services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: "gitlab"
logging:
driver: "json-file"
options:
max-size: "1g"
environment:
TZ: "Asia/Taipei"
env_file: .env
restart: always
privileged: true # 容器(Container)内的root,擁有真正的root權限
ports:
- '8180:80'
- '8143:443'
- '8122:22'
volumes:
- './service_gitlab/data:/var/opt/gitlab'
- './service_gitlab/logs:/var/log/gitlab'
- './service_gitlab/config:/etc/gitlab'
networks:
gitlab_net:

因使用8180/8143/8122非預設port,在git clone會有port問題,因此可以在~/.ssh/config加入以下設定

1
2
3
Host {your ip}
HostName {your ip}
Port 8122

GitLab啟動後,掛載一個Runner並執行一個簡單的Job,記憶體使用量約在4G上下。

Command

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

#==追蹤日誌==
docker-compose logs -f gitlab

# ==登入容器修改admin密碼(方法一,推薦)==
docker exec -it gitlab gitlab-rake "gitlab:password:reset[root]"
root
@!ltedu0324
# ==登入容器修改admin密碼(方法二)==
# Step 1: 登入容器
docker exec -ti gitlab bash
# Step 2: 進入Ruby on Rails console
gitlab-rails console -e production
# Step 3: 取得admin使用者物件
user = User.where(id: 1).first
# Step 4: 設定新密碼
# example:
# user.password = '12345678'
# user.password_confirmation = '12345678'
user.password = '{新密碼}'
user.password_confirmation = '{確認新密碼}'
# Step 5: 使用者物件設定儲存
user.save!

流水線

Backend

1
2
3
4
helloworld:
script:
- echo "hello world, GitLab!"
- ls -al

Android

1

iOS

1

備份

gitlab-ci tags

相關圖片

Ruby on Rails console

進入Ruby on Rails console

Admin後台

Admin登入畫面

官方架構圖

參考文獻