1.Gitlabの紹介
公式サイト:https://about.gitlab.com/
GitLabは、倉庫管理システムのオープンソースプロジェクトです。Gitをコード管理ツールとして使用し、これに基づいてWebサービスを構築します。GitLabは、GitHubと同様に、サードパーティのGitベースの作業です。無料でオープンソース(MITプロトコルに基づく)です。Githubと同様に、ユーザーの登録、コードの送信、SSHKeyの追加などを行うことができます。違いは、GitLabは独自のサーバーにデプロイでき、データベースなどのすべての情報が手元にあることです。チーム内での共同開発に適しています。簡単に言えば、GitLabはGitHubのパーソナルバージョンと見なすことができます。
2. Gitlabのインストール(yumのインストール)
2.1インストール関連の依存関係
yum -y install policycoreutils openssh-server openssh-clients postfifix
2.2起動時に開始するようにsshdを設定します
注:このステップはスキップできます。明らかにsshサービスは自己起動します
systemctl enable sshd
2.3 postfifixを起動後に自動的に開始するように設定し、開始すると、postfifixはgitlab送信機能をサポートします
systemctl enable postfix.service && systemctl start postfix.service
2.4。sshおよびhttpサービスを開き、ファイアウォールをリロードします
注:ファイアウォールをオフにする場合は、上記の構成を行う必要はありません。
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
2.5gitlabパッケージをダウンロードしてインストールします
cd /root/pkg
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.7.8-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-13.7.8-ce.0.el7.x86_64.rpm
または
cat << EOF > /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
gpgcheck=0
enabled=1
EOF
yum makecache #更新yum源
yum -y install gitlab-ce #安装最新版本的gitlab
yum list gitlab-ce --showduplicates | sort -r #查看仓库中所有gitlab版本
yum -y intsall gitlab-ce-12.3.5-ce.0.el7 #安装指定版本的gitlab
2.6gitlab構成を変更する
1)ディレクトリ構造
/opt/gitlab 主目录
/etc/gitlab 配置文件目录
/var/log/gitlab 日志目录
2)gitlab構成ファイルを変更します
vim /etc/gitlab/gitlab.rb
#gitlab基本配置:
#外部访问url(并非必须配置;经过编译后,自动将这个配置编译到nginx配置,nginx就无需配置了)
external_url 'http://10.99.200.110:8888'
nginx['listen_port'] = 8088
3)ドメイン名を構成します(上記の構成ファイル/etc/gitlab/gitlab.rbが変更されている場合は、スキップできます)
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf(サービスが再構成されていない場合、そのような構成ファイルはありません)
外部ネットワークアクセス用のポート。サーバーにすでに80を占めるサーバーがある場合、その後、ここで他に変更することができます
listen *:8088;
server_name gitlab.test.domain.com;
set $http_host_with_default "gitlab.test.domain.com:8088"
補足:このカスタムnginx構成は、gitlab構成/etc/gitlab/gitlab.rbのコンパイル時に再生成されるため、gitlab構成が適切に構成されている限り、上記のnginxをカスタマイズする必要はありません。
2.7構成をリロードしてgitlabを起動します
gitlab-ctl reconfigure
gitlab-ctl restart
相关命令
gitlab-ctl restart #重新启动gitLab
gitlab-ctl start #启动全部服务
gitlab-ctl restart #重启全部服务
gitlab-ctl stop #停止全部服务
gitlab-ctl restart nginx #重启单个服务
gitlab-ctl status #查看全部组件的状态
gitlab-ctl show-config #验证配置文件
gitlab-ctl uninstall #删除gitlab(保留数据)
gitlab-ctl cleanse #删除所有数据,重新开始
gitlab-ctl tail <svc_name> #查看服务的日志
gitlab-ctl tail #查看所有日志
gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志
gitlab-rake gitlab:check SANITIZE=true --trace #检查gitlab
gitlab-rails console production #进入控制台 ,可以修改root 的密码
2.8ファイアウォールにポートを追加する
注:ファイアウォールをオフにする場合は、上記の構成を行う必要はありません。
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload
3. Gitlabのインストール(dockerバージョンのインストール)
3.1Dockerのインストール
Dockerインストールリファレンス
3.2gitlabのインストール
docker search gitlab-ce #查找镜像
docker pull gitlab/gitlab-ce #拉取镜像
mkdir -p /home/GitLab/{
config,data,log} #创建相关目录
chmod -R 755 /home/GitLab/{
config,data,log} #权限
docker run -itd -h 192.168.16.119 -p 443:443 -p 80:80 -p 222:22 --name GitLab --restart always -v /home/GitLab/config:/etc/gitlab -v /home/GitLab/log:/var/log/gitlab -v /home/GitLab/data:/var/opt/gitlab gitlab/gitlab-ce #启动容器
パラメータの説明:
-d:后台运行
-p:将容器内部端口向外映射
–name:命名容器名称
-v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
構成パスyumインストールの構成は同じであるため、ここでは繰り返しません。構成ファイルは永続化されており、ローカルです。
3.3バックアップスクリプト
バックアップスクリプトを書く
#!/bin/bash
case $1 in
start)
docker exec GitLab gitlab-rake gitlab:backup:create;;
esac
時限タスクを書く
echo '00 03 * * 6 /home/GitLab/gitlab_data_backup.sh start' >> /var/spool/cton/root
4.ホームページにログインします
初めてGitLabにアクセスするときは、辛抱強く待つ必要があります。サービスが不完全なために502が表示される場合があります。システムはページをパスワードのリセットページにリダイレクトし、初期管理者アカウントのパスワードを入力する必要があります。ユーザー名はroot、初期パスワードは5iveL!feです(初期パスワードはログで取得できます)。パスワードをリセットすると、新しいパスワードは入力したばかりのパスワードになります。
パスワードのリセット
ログインページログイン
後のページ
5.注意事項と異常なトラブルシューティング
- デフォルトのインストールログインでは、rootパスワードをリセットする必要があります。複雑なパスワードを設定して、自分でログインすることができます。
- Gitlab自体はポート80を使用します。インストール前にサーバーで80が有効になっている場合、インストール後にエラーが報告されます。gitlabのデフォルトポートを変更する必要があります。/etc/gitlab/gitlab.rb構成ファイルのexternal_url'http:// localhost:8088 '構成アイテムを変更します。
- ポート80を使用したいだけなら、それで問題ありません。ポートを変更した場合は、nginx構成ファイルを調整してnginxリバースプロキシを設定できます。
- ここでは、実際の状況に応じて、独自のgitlabドメイン名またはパブリックネットワーク、内部ネットワークIPをバインドして、パブリックネットワークアクセス用のローカルホストを置き換えることができます。安全のため、gitlabは通常イントラネットにデプロイされます。具体的な展開場所は、実際の状況に応じて決定してください。(セキュリティ上の理由から、公開IPを公開用に設定することはお勧めしません。nginxを介したIP回避アクセスのリターンまたはその他のルールのIPバインディングを設定できます。)このサイトのテストgitlabアドレスドメイン名はgitlab.testです。 .domain.com。
- Unicorn自体はポート8080を使用します。そこで8080を使用しない場合は、後で変更する必要はありません。インストール前にサーバーで8080が有効になっている場合、インストール後にエラーが報告されます。ユニコーンのデフォルトポートを変更する必要があります。/etc/gitlab/gitlab.rb構成ファイルのunicorn ['listen'] = '127.0.0.1' unicorn ['port'] = 3000構成アイテムを変更します。
- 再構成するたびに、sudo gitlab-ctlreconfigureを実行して有効にする必要があります。
- ログの場所:/ var / log / gitlabアクセスログやエラーログなどを表示して、アクセスの確認や例外のトラブルシューティングを行うことができます。
- gitlab-ctlreconfigureがエラーを報告した場合。
このコマンドを試してから、gitlab-ctlreconfigureを再実行してください
cat /etc/sysctl.conf /etc/sysctl.d/*.conf | sysctl -e -p -
- ブラウザがアクセスすると、502エラーが報告されることがあり、サーバーの仮想メモリを増やす必要があります。
dd if=/dev/zero of=/var/swap bs=1024 count=2048000 #增加2G左右SWAP
mkswap /var/swap #设置交换文件
swapon /var/swap #激活启用交换分区
echo "/var/swap swap swap defaults 0 0" >> /etc/fstab #加入开机自启
6. Gitlabコードホスティングサーバーの使用(グループの追加、ユーザーの作成、プロジェクトの作成)
6.1プロジェクトグループとプロジェクトを作成する
プロジェクトグループの
作成プロジェクトの作成
6.2アカウントの作成と承認
アカウントの作成アカウントの作成後、
パスワードを変更し
、ユーザーをプロジェクトに追加して、承認します
6.3新しい倉庫を作成する
git clone http://10.99.200.110:8888/test/deam-test.git
cd deam-test
touch README.mdgit add README.md
git commit -m "add README"
git push -u origin master
6.4ローカルプロジェクトをgitlabに関連付ける
cd existing_folder #existing_folder是已有的目录
git init
git remote add origin http://10.99.200.110:8888/test/web_deam.git
git add .
git commit -m "Initial commit"
git push -u origin master
すべてここにあります。詳細については、個人のWeChatパブリックアカウントを参照してください。ALLLinuxでは、スキャンしてみましょう。