継続的インテグレーション環境(1)-Gitlabコードホスティングサーバーのインストールと使用

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.注意事項と異常なトラブルシューティング

  1. デフォルトのインストールログインでは、rootパスワードをリセットする必要があります。複雑なパスワードを設定して、自分でログインすることができます。
  2. Gitlab自体はポート80を使用します。インストール前にサーバーで80が有効になっている場合、インストール後にエラーが報告されます。gitlabのデフォルトポートを変更する必要があります。/etc/gitlab/gitlab.rb構成ファイルのexternal_url'http:// localhost:8088 '構成アイテムを変更します。
  3. ポート80を使用したいだけなら、それで問題ありません。ポートを変更した場合は、nginx構成ファイルを調整してnginxリバースプロキシを設定できます。
  4. ここでは、実際の状況に応じて、独自のgitlabドメイン名またはパブリックネットワーク、内部ネットワークIPをバインドして、パブリックネットワークアクセス用のローカルホストを置き換えることができます。安全のため、gitlabは通常イントラネットにデプロイされます。具体的な展開場所は、実際の状況に応じて決定してください。(セキュリティ上の理由から、公開IPを公開用に設定することはお勧めしません。nginxを介したIP回避アクセスのリターンまたはその他のルールのIPバインディングを設定できます。)このサイトのテストgitlabアドレスドメイン名はgitlab.testです。 .domain.com。
  5. Unicorn自体はポート8080を使用します。そこで8080を使用しない場合は、後で変更する必要はありません。インストール前にサーバーで8080が有効になっている場合、インストール後にエラーが報告されます。ユニコーンのデフォルトポートを変更する必要があります。/etc/gitlab/gitlab.rb構成ファイルのunicorn ['listen'] = '127.0.0.1' unicorn ['port'] = 3000構成アイテムを変更します。
  6. 再構成するたびに、sudo gitlab-ctlreconfigureを実行して有効にする必要があります。
  7. ログの場所:/ var / log / gitlabアクセスログやエラーログなどを表示して、アクセスの確認や例外のトラブルシューティングを行うことができます。
  8. gitlab-ctlreconfigureがエラーを報告した場合。

画像
このコマンドを試してから、gitlab-ctlreconfigureを再実行してください

cat /etc/sysctl.conf /etc/sysctl.d/*.conf | sysctl -e -p -
  1. ブラウザがアクセスすると、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では、スキャンしてみましょう。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_44729138/article/details/115020279