- 投稿日:2021-03-29T19:22:09+09:00
【メモ】gitでプロキシ設定をする
- 投稿日:2021-03-29T13:52:24+09:00
Github 初push時のエラー ~ src refspec main does not main any
githubで新しくプロジェクトを作成して、ローカルの物をpushしようとした時に遭遇するエラーの解決方法のメモです。
手順/エラー内容
githubで新しくプロジェクトを作成すると以下の表示が見つかります。
…or push an existing repository from the command line git remote add origin git@github.com:......... git branch -M main git push -u origin main従って実行すると、以下の様なエラーになってしまいます。
git branch -M main 時のエラー
$ git branch -M main error: refname refs/heads/master not found fatal: Branch rename failedgit push -u origin main 時のエラー
$ git push -u origin main error: src refspec main does not main any error: failed to push some refs to 'https://github.com/.../.git'解決方法
git branch -M main 時のエラー
git checkout -b でブランチを作れます。
git checkout -b mainこれでmainブランチに行けます。
git push -u origin main 時のエラー
git add して
git add .コミットします。
git commit -m 'First Commit'すると、無事にpushできる様になります。
参考資料
- 投稿日:2021-03-29T09:49:27+09:00
warning: CRLF will be replaced by LF in hoge.png.
git で某リポジトリを clone してきたところ、
warning: CRLF will be replaced by LF in hoge.png The file will have its original line endings in your working directoryといった警告が
git status
でたくさん出てきた。改行コードの設定ということで検索すると、git config autocrlf false
で直る、と出てくるのだがやってみても一向に改善しない。
落ち着いてよくメッセージを眺めると、警告の出ているファイルは画像(といくつかのオフィス文書)だ。つまり、テキストじゃないから無視して、と git に伝えられればいいはずだ。ということで正解は attributes。
https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes
.gitattributes
に設定されていた内容がこちら。* text eol=lfそのままここに必要な設定を加えてもいいのだが、主に pull しかしないリポジトリでコミットすると管理が面倒なので、
.git/info/attributes
の方に書くことにする。*.png binary *.pptx binary
- 投稿日:2021-03-29T01:48:51+09:00
【CentOS8に最新バージョンのRedmineとGitLabを構築する】GitLab構築
GitLab構築
この記事では、Official Linux package (recommended installation) をベースにして、CentOS8上に最新バージョンのGitLabを構築する。
ソフトウェア バージョン OS CentOS 8.3 gitlab-ee 13.9.4-ee.0.el8 関連記事
【CentOS8に最新バージョンのRedmineとGitLabを構築する】事前調査
【CentOS8に最新バージョンのRedmineとGitLabを構築する】Redmine構築1.依存パッケージのインストールと設定
[doshi@centos8 ~]$ sudo dnf install -y curl policycoreutils openssh-server perl2.Omnibus GitLabパッケージのインストール
GitLabパッケージのリポジトリへの追加。
[doshi@centos8 ~]$ sudo curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bashリポジトリを確認すると、
gitlab_gitlab-ee
が追加されている。[doshi@centos8 ~]$ dnf repolist repo id repo の名前 appstream CentOS Linux 8 - AppStream baseos CentOS Linux 8 - BaseOS epel Extra Packages for Enterprise Linux 8 - x86_64 epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64 extras CentOS Linux 8 - Extras gitlab_gitlab-ee gitlab_gitlab-ee gitlab_gitlab-ee-source gitlab_gitlab-ee-source powertools CentOS Linux 8 - PowerToolsGitLabパッケージをインストールする。指定したURL
http://centos8-dev/gitlab
でGitLabが起動するように設定する。[doshi@centos8 ~]$ sudo EXTERNAL_URL="http://centos8-dev/gitlab" dnf install -y gitlab-eeインストールに成功したら、以下が表示される。
*. *. *** *** ***** ***** .****** ******* ******** ******** ,,,,,,,,,***********,,,,,,,,, ,,,,,,,,,,,*********,,,,,,,,,,, .,,,,,,,,,,,*******,,,,,,,,,,,, ,,,,,,,,,*****,,,,,,,,,. ,,,,,,,****,,,,,, .,,,***,,,, ,*,. _______ __ __ __ / ____(_) /_/ / ____ _/ /_ / / __/ / __/ / / __ `/ __ \ / /_/ / / /_/ /___/ /_/ / /_/ / \____/_/\__/_____/\__,_/_.___/ Thank you for installing GitLab!3.nginxのポート番号変更
Apacheが80番ポートで起動しているため、nginxは8081番ポートで起動させる。
/etc/gitlab/gitlab.rb
を開く。[doshi@centos8 ~]$ sudo vi /etc/gitlab/gitlab.rblisten_portに8081を設定する。
/etc/gitlab/gitlab.rbnginx['listen_port'] = 8081GitLabの再構成を実行する。
[doshi@centos8 ~]$ sudo gitlab-ctl reconfigure4.Apacheのリバースプロキシ設定
Apahceへの80番ポートでのアクセス
http://centos8-dev/gitlab/
を、nginxへの8081番ポートでのアクセスhttp://localhost:8081/gitlab/
にプロキシする。
/etc/httpd/conf.d/gitlab.conf
を開く。[doshi@centos8 ~]$ sudo vi /etc/httpd/conf.d/gitlab.conf以下を設定する。
/etc/httpd/conf.d/gitlab.conf<Location /gitlab> ProxyPass http://localhost:8081/gitlab ProxyPassReverse http://localhost:8081/gitlab </Location> <Location /assets> ProxyPass http://localhost:8081/assets ProxyPassReverse http://localhost:8081/assets </Location>Apacheを再起動する。
[doshi@centos8 ~]$ sudo systemctl restart httpd.service5.運用
Redmineのログローテーション
logrotate のとおり、デフォルトでログローテートの設定がされている。
Omnibus GitLabのバックアップとリストア
Backup and restore Omnibus GitLab configuration を参考にする。
アップグレード
Update GitLab installed with the Omnibus GitLab package を参考にする。
ディレクトリ
データの蓄積するディレクトリは以下のとおり。
ディレクトリ 用途 /var/opt/gitlab/ GitLabのデータが配置されるディレクトリ おわりに
ご指摘・アドバイス等あればご遠慮なくお願いいたします。
参考文献
この記事は以下の情報を参考にした。
- 投稿日:2021-03-29T01:46:52+09:00
【CentOS8に最新バージョンのRedmineとGitLabを構築する】Redmine構築
はじめに
この記事では、Redmine 3.4をCentOS 7.3にインストールする手順 をベースにして、CentOS8上に最新バージョンのRedmineを構築する。
ソフトウェア バージョン OS CentOS 8.3 Redmine Redmine 4.1.2 WEB Apache 2.4.37 DB PostgreSQL 10.15 Ruby ruby 2.5.5 関連記事
【CentOS8に最新バージョンのRedmineとGitLabを構築する】事前調査
【CentOS8に最新バージョンのRedmineとGitLabを構築する】GitLab構築1.SELinux無効化
/etc/sysconfig/selinux
を開く。[doshi@centos8 ~]$ sudo vi /etc/sysconfig/selinux
SELINUX=
の値をdisabled
に変更する。/etc/sysconfig/selinux#SELINUX=enforcing SELINUX=disabled変更後、CentOSを再起動する。
[doshi@centos8 ~]$ sudo reboot
getenforce
コマンドを実行してSELinuxが無効Disabled
になったことを確認する。[doshi@centos8 ~]$ getenforce Disabled2.firewalldでhttpを許可
デフォルトzoneにhttpを追加する。
[doshi@centos8 ~]$ sudo firewall-cmd --zone=public --add-service=http --permanent success追加した設定を反映する。
[doshi@centos8 ~]$ sudo firewall-cmd --reload successhttpでのアクセスが許可されたことを確認する。
[doshi@centos8 ~]$ sudo firewall-cmd --zone=public --list-services cockpit dhcpv6-client http ssh3.必要なパッケージのインストール
EPELとPowerToolsリポジトリの有効化
CentOS8ではEPELとPowerToolsリポジトリを有効化しておく必要がある。
[doshi@centos8 ~]$ sudo dnf install -y epel-release [doshi@centos8 ~]$ sudo dnf config-manager --set-enabled powertools開発ツール(Cコンパイラ等)のインストール
[doshi@centos8 ~]$ sudo yum -y groupinstall "Development Tools"RubyとPassengerのビルドに必要なヘッダファイルなどのインストール
Redmine.JP Blogの手順 と異なる点として、CentOS8では
curl-devel
はlibcurl-devel
という名称になる。また、libyaml-devel
はPowerToolsリポジトリからインストールされる。[doshi@centos8 ~]$ sudo dnf -y install openssl-devel readline-devel zlib-devel libffi-devel libcurl-devel libyaml-develPostgreSQLとヘッダファイルのインストール
[doshi@centos8 ~]$ sudo dnf -y install postgresql-server postgresql-develRedmine.JP Blogの手順 にはないが、ここでPostgreSQLをインストールした際に作成されるOSユーザ
postgres
のパスワードを設定しておく。[doshi@centos8 ~]$ sudo passwd postgresApacheとヘッダファイルのインストール
[doshi@centos8 ~]$ sudo dnf -y install httpd httpd-develImageMagickとヘッダファイルのインストール
Redmine.JP Blogの手順 と異なる点として、
ImageMagick
とImageMagick-devel
はEPELリポジトリからインストールされる。[doshi@centos8 ~]$ sudo dnf -y install ImageMagick ImageMagick-devel日本語フォントのインストール
Redmine.JP Blogの手順 と異なる点として、CentOS8ではIPAフォントのパッケージがリポジトリに存在しないため、Web上のrpmをインストールする。
[doshi@centos8 ~]$ sudo dnf install https://pkgs.dyn.su/el8/base/x86_64/ipa-pgothic-fonts-003.03-14.el8.noarch.rpmIPAのフォントが追加されていることを確認する。
[doshi@centos8 ~]$ ls /usr/share/fonts | grep ipa ipa-pgothic4.Rubyのインストール
Redmine.JP Blogの手順 ではソースコードからインストールする手順になっているが、最新のRubyをインストールするメリットが見出せないので、パッケージでインストールする。
後にあるgemパッケージのインストールbundle install
の際に、ヘッダーファイルが見つからずエラーになるのを避けるため、ruby-devel
もインストールする。[doshi@centos8 ~]$ sudo dnf -y install ruby ruby-devel
ruby -v
を実行してRubyのバージョンを表示させ、インストールできたことを確認する。[doshi@centos8 ~]$ ruby -v ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux]bundlerのインストール
Ruby用のパッケージ管理ツールであるbundlerをインストールする。Redmineが使用するgemパッケージをインストールするのに使う。bundlerはrootユーザで使うため、ここでは
sudo
で実行する。なお、--no-rdoc --no-ri
オプションはドキュメントのインストールを省略する。[doshi@centos8 ~]$ sudo gem install bundler --no-rdoc --no-ri Fetching: bundler-2.2.15.gem (100%) Successfully installed bundler-2.2.155.PostgreSQLの設定
データベースクラスタの新規作成
[doshi@centos8 ~]$ sudo postgresql-setup initdbRedmineからPostgreSQLに接続するための設定を追加
/var/lib/pgsql/data/pg_hba.conf
を開き、"Put your actual configuration here"と書かれている箇所を探して以下のように設定を2行追加する。/var/lib/pgsql/data/pg_hba.conf# Put your actual configuration here # ---------------------------------- # # If you want to allow non-local connections, you need to add more # "host" records. In that case you will also need to make PostgreSQL # listen on a non-local interface via the listen_addresses # configuration parameter, or via the -i or -h command line switches. host redmine redmine 127.0.0.1/32 md5 host redmine redmine ::1/128 md5PostgreSQLの起動および自動起動の設定
[doshi@centos8 ~]$ sudo systemctl start postgresql.service [doshi@centos8 ~]$ sudo systemctl enable postgresql.service Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service.PostgreSQLのディレクトリに移動
/etc/sudoers
を開く。[doshi@centos8 ~]$ sudo vi /etc/sudoerspostgresユーザを追加する。
/etc/sudoerspostgres ALL=(ALL) ALLpostgresユーザに切り替える。
[doshi@centos8 ~]$ su - postgres
/var/lib/pgsql
ディレクトリに移動する。[postgres@centos8 ~]$ cd /var/lib/pgsqlRedmine用ユーザーの作成
[postgres@centos8 ~]$ sudo -u postgres createuser -P redmineRedmine用データベースの作成
[postgres@centos8 ~]$ sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redminePostgreSQLのディレクトリから元のディレクトリに戻る
exit
でpostgresユーザから一般ユーザに戻る。6.Redmineのインストール
svnコマンドを使ってインストールするため、subversionをインストールする。
[doshi@centos8 ~]$ sudo dnf install subversionRedmine 4.1の最新ソースコード一式を、デプロイしたい
/var/lib/
直下のディレクトリredmine
にダウンロードする。[doshi@centos8 ~]$ sudo svn co http://svn.redmine.org/redmine/branches/4.1-stable/ /var/lib/redmineデータベースへの接続設定
Redmineからデータベースへ接続するための設定ファイルを作成する。Redmineのインストールディレクトリ
/var/lib/redmine
にconfig/database.yml
を作成する。[doshi@centos8 ~]$ sudo vi /var/lib/redmine/config/database.yml/var/lib/redmine/config/database.ymlproduction: adapter: postgresql database: redmine host: localhost username: redmine password: "*******" encoding: utf8設定ファイル config/configuration.yml の作成
Redmineからメールサーバへ接続するための設定や日本語フォントファイルのパスを記述した設定ファイルを作成する。Redmineのインストールディレクトリ
/var/lib/redmine
にconfig/configuration.yml
を作成する。[doshi@centos8 ~]$ sudo vi /var/lib/redmine/config/database.yml/var/lib/redmine/config/database.ymlproduction: email_delivery: delivery_method: :smtp smtp_settings: enable_starttls_auto: true address: "smtp.gmail.com" port: 587 domain: "smtp.gmail.com" authentication: :plain user_name: "**********@gmail.com" password: "**********" production: rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttfRedmineのインストールディレクトリへ移動
rootユーザに切り替える。
[doshi@centos8 ~]$ su -
/var/lib/redmine
ディレクトリへ移動する。[root@centos8 ~]# cd /var/lib/redminegemパッケージのインストール
[root@centos8 ~]# bundle install --without development test --path vendor/bundle7.Redmineの初期設定と初期データ登録
Redmine動作に関する初期設定と初期データの登録を行う。Redmineのインストールディレクトリで実行する必要がある。
セッション改ざん防止用秘密鍵の作成
[root@centos8 redmine]# bundle exec rake generate_secret_tokenデータベースのテーブル作成
[root@centos8 redmine]# RAILS_ENV=production bundle exec rake db:migrateデフォルトデータの登録
作成したテーブルにデフォルトデータのロードを行う。この操作によりトラッカー、優先度、ステータス、ロール、ワークフローなどの初期値が登録される。
[root@centos8 redmine]# RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data Default configuration data loaded.8.Passengerのインストール
Apache上でRedmineなどのRailsアプリケーションを実行するために使われるPhusion Passengerをインストールする。
[root@centos8 redmine]# gem install passenger -v 5.1.12 --no-rdoc --no-riPassengerのApache用モジュールのインストール
Apache用のモジュールのビルドとインストールを行う。完了するまで時間がかかる。
[root@centos8 redmine]# passenger-install-apache2-module --auto --languages rubyRedmineのディレクトリから元のディレクトリに戻る
exit
でrootユーザから一般ユーザに戻る。9.Apacheの設定
Apache用設定内容の確認
下記コマンドを実行するとApacheに追加すべき設定が表示される。
[doshi@centos8 ~]$ passenger-install-apache2-module --snippet LoadModule passenger_module /usr/local/share/gems/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/share/gems/gems/passenger-5.1.12 PassengerDefaultRuby /usr/bin/ruby </IfModule>Apacheの設定ファイル作成
/etc/httpd/conf.d/redmine.conf
を開く。[doshi@centos8 ~]$ sudo vi /etc/httpd/conf.d/redmine.confApacheの設定ファイルを以下の内容で作成する。
/etc/httpd/conf.d/redmine.conf# サブディレクトリでRedmineを実行 Alias /redmine /var/lib/redmine/public <Location /redmine> PassengerBaseURI /redmine PassengerAppRoot /var/lib/redmine </Location> # Redmineの画像ファイル・CSSファイル等へのアクセスを許可する設定 <Directory "/var/lib/redmine/public"> Require all granted </Directory> # Passengerの基本設定 # passenger-install-apache2-module --snippet で表示された設定を記述 LoadModule passenger_module /usr/local/share/gems/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/share/gems/gems/passenger-5.1.12 PassengerDefaultRuby /usr/bin/ruby </IfModule>Apacheの起動および自動起動の設定
[doshi@centos8 ~]$ sudo systemctl start httpd.service [doshi@centos8 ~]$ sudo systemctl enable httpd.service Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.Apache上のPassengerでRedmineを実行するための設定
Redmineを配置したディレクトリ以下のファイルを、Apacheを実行するユーザー・グループ(CentOSの場合はいずれも"apache")で読み書きできるよう、オーナーを変更する。
[doshi@centos8 ~]$ sudo chown -R apache:apache /var/lib/redmine10.運用
Redmineのログローテーション
production.logのローテート を参考に、logroatedを使ってログローテーションを設定する。
/etc/logrotate.d/redmine
を開く。[doshi@centos8 ~]$ sudo vi /etc/logrotate.d/redmine
/etc/logrotate.d/redmine
の設定ファイルを以下の内容で作成する。/etc/logrotate.d/redmine/var/lib/redmine/log/*log { missingok # ファイルが存在しなくてもエラーににない notifempty # ファイルが空の場合はローテーションしない copytruncate # ログを別名でコピーした後、元のファイルの内容を空にする compress # 古いログを圧縮して保存する }動作確認のため、ローテートする条件を満たしていなくても
-f
オプションで強制実行する。[doshi@centos8 ~]$ sudo /usr/sbin/logrotate -f /etc/logrotate.d/redmine圧縮ファイルが作成され、元ファイルのサイズが0となることを確認する。
[doshi@centos8 ~]$ sudo ls -ltr /var/lib/redmine/log/ 合計 12 -rw-r--r-- 1 apache apache 32 3月 20 22:37 delete.me -rw-r--r-- 1 apache apache 8009 3月 27 17:57 production.log.1.gz -rw-r--r-- 1 apache apache 0 3月 27 18:08 production.logRedmineのバックアップとリストア
Redmineのバックアップとリストア を参考に、バックアップを取得する。リストアは、Redmineガイドになぜか記載がないため、公式サイトの Restore を参考にする。
アップグレード
Redmineガイドの アップグレード を参考にする。
ディレクトリ
データの蓄積するディレクトリは以下のとおり。
ディレクトリ 用途 /var/lib/pgsql/data PostgreSQLのデータ一式が配置されるディレクトリ /var/lib/redmine/files Redmineの添付ファイルがアップロードされるディレクトリ おわりに
ご指摘・アドバイス等あればご遠慮なくお願いいたします。
参考文献
この記事は以下の情報を参考にした。
- 投稿日:2021-03-29T01:40:58+09:00
【CentOS8に最新バージョンのRedmineとGitLabを構築する】事前調査
はじめに
RHEL8の仮想サーバを入手したため、RedmineとGitを構築し業務で活用したい。そこで、まずはCentOS8上で検証してみることにした。ここでは、事前に調査した内容をまとめておく。
関連記事
【CentOS8に最新バージョンのRedmineとGitLabを構築する】Redmine構築
【CentOS8に最新バージョンのRedmineとGitLabを構築する】GitLab構築1.コンテナで構築する場合を調べた
勉強がてらコンテナで構築したいと思ったが、結論、早々に諦めた。ざっと調べたところ、RHEL8(正確にはRHEL 7.6以降)のコンテナエンジンにはPodmanが採用され、Dockerはサポート対象外となっている。Dockerを管理する
docker-compose
に対応したサードパーティ製のpodman-compose
が提供されているようだが、まだナレッジも少なく実用的ではない模様。2.Redmineについて調べた
Redmineとは、OSSでWeb型のプロジェクト管理ツールである。
Redmine公式サイトのInstalling Redmine から現時点(2021/3)の情報を抜粋する。Redmineの最新リリース
4.1.2 (2021-03-21)
4.0.8 (2021-03-21)Redmineの代表的なプラグインは、4.1, 4.0のバージョンに対応している模様。
RedmineがサポートするRubyのバージョン
Redmineバージョン Rubyバージョン Railsバージョン 4.1 Ruby 2.3, 2.4, 2.5, 2.6 Rails 5.2 4.0 Ruby 2.2.2, 2.3, 2.4, 2.5, 2.6 Rails 5.2 Redmineがサポートするデータベースとそのバージョン
- MySQL 5.5 または 5.7(5.6 と MariaDB は問題あり)
- PostgreSQL 9.2 以降
3.Redmineの動作環境を、CentOS8上に構築できるのか調べた
CentOS8
CentOS8のバージョンは現時点(2021/3)の最新版バージョンを利用する。なお、CentOS8は2021年でサポート終了のため、CentOS Streamへの移行が推奨されている。
[doshi@centos8 ~]$ cat /etc/redhat-release CentOS Linux release 8.3.2011 [doshi@centos8 ~]$ uname -r 4.18.0-240.el8.x86_64CentOS8ではパッケージ管理ソフトyumが後継のdnfに変更された。有効なリポジトリを確認してみる。新たなAppStream含め、3つのリポジトリが有効化されていた。
[doshi@centos8 ~]$ dnf repolist repo id repo の名前 appstream CentOS Linux 8 - AppStream baseos CentOS Linux 8 - BaseOS extras CentOS Linux 8 - ExtrasRuby
Rubyの公式サイト に、サポートする動作環境の明確な記載はない。最近のRubyは最近のLinux上で問題なく動く模様。なお、CentOS8のリポジトリにあるRubyバージョンは2.5。
[doshi@centos8 ~]$ dnf list --available ruby.x86_64 ruby.x86_64 2.5.5-106.module_el8.3.0+571+bab7c6bc appstreamRedmineがサポートするRubyバージョンをCentOS8上に問題なく準備できそう。
データベース
MySQL 動作環境
MySQL公式サイト から現時点(2021/3)の情報を抜粋する。
Operating System Architecture MySQL Red Hat Enterprise Linux 8 / CentOS 8 x86_64, ARM 64 8.0 Red Hat Enterprise Linux 7 / CentOS 7 ARM 64 8.0 Red Hat Enterprise Linux 7 / CentOS 7 x86_64 8.0, 5.7 RHEL8、CentOS8上ではMySQL 8.0がサポートされている。なお、CentOS8のリポジトリにあるMySQLバージョンも8.0。
[doshi@centos8 ~]$ sudo dnf list --available mysql.x86_64 mysql.x86_64 8.0.21-1.module_el8.2.0+493+63b41e36 appstreamRedmineがMySQL8.0をサポートしていないので、データベースにMySQLは採用できない。
PostgreSQL 動作環境
PostgreSQL公式サイト に、サポートする動作環境の明確な記載はない。最近のPostgreSQLは最近のLinux上で問題なく動く模様。なお、CentOS8のリポジトリにあるPostgreSQLバージョンは10.15。
[doshi@centos8 ~]$ dnf list --available postgresql postgresql.x86_64 10.15-1.module_el8.3.0+619+dbc95fbc appstreamRedmineがサポートするPostgreSQL 9.2以降をCentOS8上に問題なく準備できそう。
4.Redmineの調査まとめ
CentOS8上にRedmineを構築する場合、データベースにはPostgreSQLを採用する必要がある。なお、Redmineには、Bitnami Redmineというオールインパッケージが準備されているが、データベースにMySQLがバンドルされているため、今回は利用しない。そのため、各種ソフトウェアを個別にインストールし構築する必要がある。
5.GitLabについて調べた
GitとはOSSの分散型バージョン管理システムである。Gitには標準のGUIが存在しないので、Gitを便利に使えるようにしたWebサービスが複数存在し、今回は評判のよいGitLabを選定した。
GitLab Docs の Requirements から現時点(2021/3)の情報を抜粋する。Omnibus GitLabがサポートするOSバージョン
GitLabには、Omnibus GitLabというオールインパッケージが準備されている。
- Linuxディストリビューション
- CentOS (7/8)
- Red Hat Enterprise Linux (please use the CentOS packages and instructions)
Omnibus GitLabのバージョンの見方
現時点(2021/3)で、gitlab’s reposでの最新バージョンは
gitlab-ee-13.9.4-ee.0
の模様。Omnibus GitLab のバージョンの表記
MAJOR.MINOR.PATCH-EDITION.OMNIBUS_RELEASE
Component Meaning Example MAJOR.MINOR.PATCH 13.9.3 GitLabのバージョン EDITION ee GitLabのエディション OMNIBUS_RELEASE 0 同じGitLabでのビルドバージョン(基本 0) Omnibus GitLabにバンドルされたソフトウェア
Omnibus GitLabにバンドルされた各種ソフトウェアのバージョンは、インストールした後の
/opt/gitlab/version-manifest.txt
で確認できる。未インストールの状態で、バンドルされたソフトウェアのバージョンを知りたい場合、omnibus-gitlab のリポジトリを確認する必要がある。例として、Rubyバージョンを確認してみる。
13-5-stable のブランチを選択する。
config/software/ruby.rb
の中を確認してみる。
以下の記載を発見。Ruby 2.6.6 がバンドルされていることが分かった。
version('2.6.6') { source sha256: '364b143def360bac1b74eb56ed60b1a0dca6439b00157ae11ff77d5cd2e92291' }
Omnibus GitLabの仕組み
Omnibus GitLabの仕組みとして、以下の図でTCPの記載がない箇所は、Unix Domain Socketというプロセス間での通信を行う。例として、PostgresqlがTCP通信ではないため、デフォルトポート番号5432で起動している他のPostgreSQLと同一ホスト内で同居出来る。WebサーバのNginxはTCP通信であるため、他のWebサーバを同居させる場合はポート番号が競合しないように気をつける必要がある。
6.GitLabの調査まとめ
Omnibus GitLabというオールインワンパッケージでのインストールを行う。WebサーバのNginxとのポート番号競合には注意する必要があるが、その他は気にしないで大丈夫そう。Rubyも個別にインストールしたバージョンとは別管理となり、Omnibus GitLabは独立したものとして考えることができる。
おわりに
ご指摘・アドバイス等あればご遠慮なくお願いいたします。
参考文献
この記事は以下の情報を参考にした。
Redmine
GitLab