[GitLab] CentOS 7์— GitLab (ce) ์„ค์น˜ํ•˜๊ธฐ - curl/yum ์ด์šฉํ•œ ์˜จ๋ผ์ธ ์„ค์น˜

2023. 4. 10. 17:41ยท๐Ÿ’ฌ CI · CD/Git : ๊นƒ
728x90
728x90

Ubuntu๋งŒ ์‚ฌ์šฉํ•ด์˜ค๋˜ ๋‚ด๊ฐ€ ์ž…์‚ฌ ์ดํ›„ CentOS๋ฅผ ๊ณ„์† ๋‹ค๋ฃจ๊ฒŒ ๋˜๋ฉด์„œ ์ƒ๊ฐ๋ณด๋‹ค ๋‹ค๋ฅธ ์ ๋“ค์ด ๋งŽ์•˜๋‹ค. ์˜ค์ฃฝํ•˜๋ฉด ๋ฆฌ์•Œ๋ชป์ด๋˜ ํ•™๋ถ€์ƒ ์‹œ์ ˆ์—๋Š” Ubuntu=Linux๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ์Œ. ํšŒ์‚ฌ ์ œํ’ˆ์— GitLab์„ ์—ฐ๋™ํ•ด์„œ ํ˜•์ƒ๊ด€๋ฆฌ๋ฅผ ํ•˜๋Š”๋ฐ, ์ œ๊ณต๋ฐ›์€ ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” policycoreutils-python-utils ํŒจํ‚ค์ง€๋ฅผ ํ•„์š”๋กœํ•˜๊ธธ๋ž˜ ์•Œ์•„๋ณด๋‹ˆ CentOS 8 ๋ฒ„์ „ GitLab์ธ ๊ฒƒ ๊ฐ™์•„ ์ƒˆ๋กœ ๋ฐ›๊ธฐ๋กœ ํ–ˆ๋‹ค.

 

GitLab์ด๋ž€?

GitLab์€ ๊นƒ ์ €์žฅ์†Œ, CI/CD(์ง€์†์ ์ธ ํ†ตํ•ฉ ๋ฐ ๋ฐฐํฌ), ์ด์Šˆ ์ถ”์ /๊ด€๋ฆฌ, ์ฝ”๋“œ ๊ฒ€ํ† , ๋ณด์•ˆ์„ฑ ํ…Œ์ŠคํŠธ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์›น ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ ์†Œ์Šค Git ๊ด€๋ฆฌ์ž(DevOps ํ”Œ๋žซํผ)์ด๋‹ค. ๊ฐœ์ธ ๋˜๋Š” ์กฐ์ง์ด Git Repository๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ Github๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ ๋น„๊ณต๊ฐœ๋œ Github๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

  • Git : ์†Œ์Šค ์ฝ”๋“œ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ ๋กœ์ปฌ์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์›๊ฒฉ ๋ฆฌ์†Œ์Šค์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ Push, Pull ๊ฐ€๋Šฅ

 


 

 

GitLab ์„ค์น˜ ๋ฐฉ๋ฒ• (CentOS 7)

๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์†Œ๊ฐœํ•˜๊ณ  ์žˆ์œผ๋‚˜, ์œ ๋ฃŒ ๋ฒ„์ „์ธ ee(Enterprise Edition)๋ฅผ ๊ถŒ์žฅํ•œ๋‹ต์‹œ๊ณ  ee ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์œผ๋‹ˆ ๋ฌด๋ฃŒ ๋ฒ„์ „์ธ ce(Community Edition)๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด ์กฐ๊ธˆ ์‹ ๊ฒฝ์จ์•ผ ํ•œ๋‹ค(์„ค๋ช… ํŽ˜์ด์ง€๋กœ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ ์กฐ์ฐจ ์–ด๋ ค์›€). ๊ทธ๋ž˜์„œ ๋‹ค์Œ์— ์„ค์น˜ํ•  ๋•Œ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š์œผ๋ ค ํฌ์ŠคํŒ…ํ•ด๋‘ !

  • ce(Community Edition) ์„ค์น˜๊ฐ€์ด๋“œ : https://about.gitlab.com/install/?version=ce 
 

Download and install GitLab

Download, install and maintain your own GitLab instance with various installation packages and downloads for Linux, Kubernetes, Docker, Google Cloud and more.

about.gitlab.com

 

1) ํ•„์ˆ˜ ์˜์กด์„ฑ ํŒจํ‚ค์ง€ ์„ค์น˜

curl, policycoreutils-python, openssh-server, perl ํ•ด๋‹น 4๊ฐ€์ง€ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  GitLab ์ ‘์†์„ ์œ„ํ•ด ssh ์„œ๋น„์Šค ํ™œ์„ฑํ™” ๋ฐ ๋ฐฉํ™”๋ฒฝ ์„ค์ •์„ ๋งˆ์นœ๋‹ค. ๋กœ์ปฌ์—์„œ๋งŒ ์ด์šฉํ•  ๊ฑฐ๋ผ๋ฉด ssh, ๋ฐฉํ™”๋ฒฝ ๊ด€๋ จ ์„ค์น˜ ์„ค์ •์€ ์ƒ๋žตํ•ด๋„ ๋œ๋‹ค.

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

$ # Enable OpenSSH server daemon if not enabled: sudo systemctl status sshd
$ # enable๋กœ ์„ค์ •ํ•  ๊ฒฝ์šฐ ์„œ๋ฒ„ ๋ถ€ํŒ…์‹œ๋งˆ๋‹ค openssh ์ž๋™ ์‹คํ–‰
$ sudo systemctl enable sshd
$ sudo systemctl start sshd

$ # Check if opening the firewall is needed with: sudo systemctl status firewalld
$ # http, https์— ๋Œ€ํ•œ ๋ฐฉํ™”๋ฒฝ์„ ํ•ด์ œํ•œ ํ›„ firewalld ์„œ๋น„์Šค ์žฌ์‹คํ–‰
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo systemctl reload firewalld

๋ฉ”์ผ ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•œ๋‹ค. ๋ฉ”์ผ ์„œ๋ฒ„๋Š” GitLab์—์„œ ์‚ฌ์šฉ์ž ๊ฐ€์ž… ์ธ์ฆ์ด๋‚˜ ๊ด€๋ฆฌ์ž์—๊ฒŒ Alerts ๋“ฑ ๊ธฐํƒ€ ์ด์œ ๋กœ ๋ฉ”์ผ์„ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. sshd์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ systemctl์— enableํ•˜์—ฌ ์„œ๋ฒ„ ๋ถ€ํŒ…์‹œ ์ž๋™์œผ๋กœ postfix๊ฐ€ ์‹คํ–‰๋˜๋„๋ก ํ•œ๋‹ค.

$ sudo yum install postfix
$ sudo systemctl enable postfix
$ sudo systemctl start postfix

 

2) GitLab Repository๋ฅผ ์‹œ์Šคํ…œ ์›๋ณธ ๋ชฉ๋ก์— ์ถ”๊ฐ€

yum ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ GitLab ce๋ฅผ ์„ค์น˜ํ•  ๊ฒƒ์ด๋ฏ€๋กœ, curl ๋ช…๋ น์„ ์ž…๋ ฅํ•˜์—ฌ GitLab Package Repository๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. (curl์€ ๋‹จ์ˆœํžˆ ํŒจํ‚ค์ง€์˜ ์ €์žฅ์†Œ๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ์„ค์น˜๊ฐ€ ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹˜)

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

๋งŒ์•ฝ ๋ ˆํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒจํ‚ค์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด ์„ค์น˜๊ฐ€ ๋ถˆ๊ฐ€ํ•˜๋‹ค.

curl ๋ฏธ์ˆ˜ํ–‰์‹œ No package available

 

3) GitLab ํŒจํ‚ค์ง€ ์„ค์น˜

yum ๋„๊ตฌ๋ฅผ ์ด์šฉํ•˜์—ฌ GitLab์„ ์„ค์น˜ํ•œ๋‹ค. EXTERNAL_URL ์˜ต์…˜์„ ์ž…๋ ฅํ•˜๋ฉด GitLab ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•  URL์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ค์น˜ ๋‹จ๊ณ„์—์„œ๋Š” ์ƒ๋žตํ•˜๊ณ  ์ดํ›„ ์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด๋„ ๋˜์ง€๋งŒ ์ง€๊ธˆ์€ ์ด ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•œ๋‹ค.

$ sudo EXTERNAL_URL="{IP Address}:{Port}" yum install -y gitlab-ce

์•„๋ž˜์™€ ๊ฐ™์ด ์ž์‹ ์˜ ์„œ๋ฒ„ IP์™€ ์ž„์˜์˜ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์„ค์น˜๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค.

$ sudo EXTERNAL_URL="192.168.208.146:9000" yum install -y gitlab-ce

 

4) GitLab ์‹คํ–‰

3๋ฒˆ ๊ณผ์ •์—์„œ EXTERNAL_URL์— ์ž‘์„ฑํ•œ IP, Port๋ฅผ ์›น ๋ธŒ๋ผ์šฐ์ € URL์ฐฝ์— ์ž…๋ ฅํ•˜๋ฉด GitLab ํ™ˆํŽ˜์ด์ง€๋กœ ์ ‘์†๋œ๋‹ค. ์ตœ์ดˆ ์ ‘์†์‹œ ID๋Š” root, PW๋Š” ์„œ๋ฒ„์— ํŒŒ์ผ๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ์ดˆ๊ธฐ ๋น„๋ฐ€๋ฒˆํ˜ธ์ด๋ฉฐ ๋ณ€๊ฒฝํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

$ # ์ดˆ๊ธฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ์กฐํšŒ
$ sudo cat /etc/gitlab/initial_root_password
  • root ๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ ๋ฐฉ๋ฒ• : Menu > Admin > Admin Area > Overview > Users > Active > Name > Administrator -> Edit

 


 

GitLab ์„ค์ •

GitLab ์„ค์ •์€ ์„œ๋ฒ„์˜ gitlab.rb ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค. (/etc/gitlab/gitlab.rb)

$ sudo vi /etc/gitlab/gitlab.rb
  • IP/Port ๋ณ€๊ฒฝ : vi ํŽธ์ง‘๊ธฐ์—์„œ /external_url ๊ฒ€์ƒ‰ > external_url ๋’ค ๋ฌธ์ž์—ด ์ˆ˜์ •
    โ€ป ์„ค์น˜ ๊ณผ์ •์—์„œ EXTERNAL_URL์„ ์˜ต์…˜์œผ๋กœ ์ž…๋ ฅํ•˜์˜€๋‹ค๋ฉด ํ•ด๋‹น ์ž…๋ ฅ๊ฐ’์ด ๋“ฑ๋ก๋˜์–ด ์žˆ์Œ
  • ์—…๋กœ๋“œ ํŒŒ์ผ ์šฉ๋Ÿ‰ ๋ณ€๊ฒฝ : nginx[‘client_max_body_size’] ํ•ญ๋ชฉ์— '1G', '2G' ๋“ฑ ์›ํ•˜๋Š” ์šฉ๋Ÿ‰์œผ๋กœ ๋ณ€๊ฒฝ

๋ณ€๊ฒฝํ•œ ์„ค์ •์€ ์•„๋ž˜ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜์—ฌ ๋ฐ˜์˜ํ•ด์•ผ ํ•œ๋‹ค.

$ sudo gitlab-ctl reconfigure
728x90
320x100
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ’ฌ CI ยท CD > Git : ๊นƒ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Git] cmd command๋กœ git ์ด์šฉํ•˜๊ธฐ  (0) 2025.02.05
[Github] VSCode์—์„œ Github๋กœ Commit, Pushํ•˜๊ธฐ  (0) 2024.08.30
[GitLab] CentOS 7์— GitLab (ce) ์„ค์น˜ํ•˜๊ธฐ - ์˜คํ”„๋ผ์ธ(์ˆ˜๋™) ์„ค์น˜  (0) 2023.04.11
[GitLab] Linux CentOS 8 ํ™˜๊ฒฝ GitLab ์„ค์น˜ ๋ฐ ๊ธฐ๋™  (0) 2023.02.10
[E] Github Unable to push - fatal: protocol 'https' is not supported  (0) 2022.10.14
'๐Ÿ’ฌ CI · CD/Git : ๊นƒ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Github] VSCode์—์„œ Github๋กœ Commit, Pushํ•˜๊ธฐ
  • [GitLab] CentOS 7์— GitLab (ce) ์„ค์น˜ํ•˜๊ธฐ - ์˜คํ”„๋ผ์ธ(์ˆ˜๋™) ์„ค์น˜
  • [GitLab] Linux CentOS 8 ํ™˜๊ฒฝ GitLab ์„ค์น˜ ๋ฐ ๊ธฐ๋™
  • [E] Github Unable to push - fatal: protocol 'https' is not supported
mxnxeonx
mxnxeonx
"์•„, ์ด๊ฑฐ ๋ญ์˜€๋”๋ผ"๋ฅผ ํ•˜์ง€ ์•Š๊ธฐ์œ„ํ•œ ์ผ๊ธฐ์žฅ.
  • mxnxeonx
    MJ's Development Diary
    mxnxeonx
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (154)
      • ๐Ÿ’ป Language (43)
        • Java : ์ž๋ฐ” (18)
        • Python : ํŒŒ์ด์ฌ (9)
        • ROS : ๋กœ๋ด‡์‹œ์Šคํ…œ (9)
        • Android : ์•ˆ๋“œ๋กœ์ด๋“œ (4)
        • JavaScript : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ (2)
      • ๐ŸŒ Environment (19)
        • IDE : ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ (9)
        • Virtual : ๊ฐ€์ƒํ™˜๊ฒฝ (10)
      • โš™ Framework (12)
        • Vue-๋ทฐ (3)
        • Spring-์Šคํ”„๋ง (7)
      • ๐Ÿ’พ DataBase (18)
      • ๐ŸŒŒ OS (36)
        • Linux-๋ฆฌ๋ˆ…์Šค (36)
      • ๐Ÿ’ฌ CI · CD (7)
        • Git : ๊นƒ (7)
      • ๐Ÿ“ƒ ETC (3)
      • ๐Ÿค– AI (4)
  • ๋งํฌ

    • GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
mxnxeonx
[GitLab] CentOS 7์— GitLab (ce) ์„ค์น˜ํ•˜๊ธฐ - curl/yum ์ด์šฉํ•œ ์˜จ๋ผ์ธ ์„ค์น˜
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”