gitlab入門

git

今日はgitlabの使い方、インストール、パスワード変更の内容を紹介します。

gitlabとは

GitLab は GitHub にインスパイアされて作られた Git リポジトリをホスティングをするRubyで開発されたソフトウェアです。

gitlabで使っているサービスはnginx,gitlab-workhorse,gitlab-shell,logrotate,postgresql,redis

gitlabインストール

gitlabをインストールする方法を紹介します。

方法1-dockerでインストール

dockerで以下のコマンドでgitlabを起動できます。

イメージをダウンロード

docker pull gitlab/gitlab-ce

gitlabを起動する

$ docker run -d -p 443:443 -p 80:80 -p 222:22 –name gitlab –restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:バックグラウンド実行
# -p:アクセスできるポートを指定
# –name:コンテンツ名
# -v:パス指定

方法2-omnibus

yum -y install curl policycoreutils openssh-server openssh-client postfix cronie
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
systemctl start postfix && systemctl enable postfix
yum install -y gitlab-ce

gitlabパスワード変更

root@b06279073e3e:/# gitlab-rails console

——————————————————————————–
Ruby: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]
GitLab: 14.4.2 (1ce86e92f81) FOSS
GitLab Shell: 13.21.1
PostgreSQL: 12.7
——————————————————————————–
Loading production environment (Rails 6.1.4.1)
irb(main):001:0>
irb(main):002:0> user = user.find(1)
=> #<User id:1 @root>
irb(main):003:0> user.password = ‘password’
=> “password”
irb(main):004:0> user.password_confirmation=’password’
=> “password”
irb(main):005:0> user.save!
Enqueued ActionMailer::MailDeliveryJob (Job ID: 2ae66743-27bf-48c2-80f2-d7a8b4e44b3e) to Sidekiq(mailers) with arguments: “DeviseMailer”, “password_change”, “deliver_now”, {:args=>[#<GlobalID:0x00007f7d400de908 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true

httpsの設定

mkdir -p /etc/gitlab/ssl
openssl genrsa -out “/etc/gitlab/ssl/gitlab.example.com.key” 2048
openssl req -new -key “/etc/gitlab/ssl/gitlab.example.com.key” -out “/etc/gitlab/ssl/gitlab.example.com.csr”
openssl x509 -req -days 365 -in “/etc/gitlab/ssl/gitlab.example.com.csr” -signkey “/etc/gitlab/ssl/gitlab.example.com.key” -out “/etc/gitlab/ssl/gitlab.example.com.crt”

openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
chmod 600 *

vi /etc/gitlab/gitlab.rb
external_url ‘https://gitlab.example.com’
nginx[‘redirect_http_to_https’] = true
nginx[‘ssl_certificate’] = “/etc/gitlab/ssl/gitlab.example.com.crt”
nginx[‘ssl_certificate_key’] = “/etc/gitlab/ssl/gitlab.example.com.key”
# nginx[‘ssl_dhparam’] = /etc/gitlab/ssl/dhparams.pem

gitlab-ctl reconfigure

vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
rewrite ^(.*)$ https://$host$1 permanent;
Country Name (2 letter code) [XX]:jp
State or Province Name (full name) []:to
Locality Name (eg, city) [Default City]:toky
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server’s hostname) []:gitlab.example.com
Email Address []:admin@example.com
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:123456
An optional company name []:
タイトルとURLをコピーしました