GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOSで継続的インテグレーションとデプロイを行うためにGitlabをセットアップする方法

このチュートリアルでは、CI(継続的インテグレーション)/ CD(継続的デプロイ)操作用にローカルGitlabサーバーをセットアップする方法を説明します。まだ知らない人と同じように、GitLabは単一のアプリケーションとして提供される完全なDevOpsプラットフォームです。プロジェクト計画やCI/CDを介したソースコード管理から、監視とセキュリティまで。これにより、チームは、複数のツールにまたがる複数のスレッドを管理する代わりに、単一の会話で共同作業および作業を行うことができます。 DevOpsライフサイクル全体で単一のデータリポジトリ、ユーザーインターフェース、承認モデルを提供することで、チームは大幅にコラボレーションし、サイクルタイムを短縮し、各アプリケーションの迅速な構築に専念できます。

各ビジネスアプローチがより大きく、より包括的になるにつれて、すべての製品は競合他社よりも優れた機能を備えている必要があります。これを実現するには、準備ができたら複数のモジュールを導入して開発し、すぐに市場に投入して完全にテストおよび検証する必要があります。このように、GitlabがDevOpsプラクティスへの移行プロセスを促進できる唯一のアプリケーションソースである場合、マイルストーンに到達するのに非常に役立ちます。

1。継続的インテグレーションと継続的デプロイはどのように機能しますか

コードのプラットフォームとしてGitLabを使用して、ソフトウェア開発プロセスのライフサイクル全体で実行できるアクションの論理的なシーケンスがあります。目標は、新製品を実装する最初のフェーズから本番環境に実装する最終フェーズまで、チームを一貫して効果的にサポートすることです。次の図は、ワークフローの概要を示しています。

DevOpsの範囲は非常に広いため、このチュートリアルでは、ローカル条件下でのGitlabサーバーのセットアップに焦点を当てています。 GitlabCommunityEditionを使用してローカル環境でセットアップします。

2。インストールフェーズ

インストールフェーズでは、まず、各サーバーが最小限のサーバー構成になっていることを前提として、前提条件を使用してサーバーをセットアップすることから始めます。手順は次のとおりです。

 [[email protected] ~]# cat /etc/resolv.conf 
[[email protected] ~]# yum updateinstall -y curl policycoreutils-python openssh-server

インストールとレビューがスムーズに機能するようにするために、上記の実行はオプションです。インストールが完了すると、以下のようなスクリーンショットが表示されます

次に、必要に応じてpostfixサービスを開始します。以下はコマンドです。

 [[email protected] ~]# systemctl start postfix 
[[email protected] ~]# systemctl status postfix
[[email protected] ~]# systemctl enable postfix

完了すると、以下のようなスクリーンショットが表示されます



次に、wgetをインストールして、GitLab自体が提供する自動化スクリプトをインストールする必要があります。 Curlなどを使用してインストールを行う他の方法を使用することもできます。この演習では、代わりにwgetを使用してスクリプトをダウンロードします。 wgetパッケージがインストールされたら、ここからスクリプトをダウンロードして、ローカルサーバーに配置します。手順は次のとおりです。

 [[email protected] ~]# yum install -y wget 
[[email protected] ~]# wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh
[[email protected] ~]# chmod +x script.rpm.sh
[[email protected] ~]# ./script.rpm.sh
>

プロセスは次のようになります:

次に、GitLabサービスとその依存関係を構成する準備を開始します。手順は次のとおりです。

 [[email protected] ~]# EXTERNAL_URL="http://10.124.12.133:80" 
[[email protected] ~]# echo $EXTERNAL_URL
http://10.124.12.133
[[email protected] ~]# yum install -y gitlab-ce

すべてが完了すると、以下に示すような進捗状況が表示されます

素晴らしい!これですべてが手元にありました。サービスとその依存関係をインストールするプロセスを続けましょう。 GitLabはDevOpsが一緒に設計するための堅実なアプリケーションであったため、いくつかのパッケージがあり、構成が構成されます。したがって、通常のサービスインストールよりも時間がかかるのが普通です。インストールを開始する前に、メインURLが期待どおりに構成されていることを確認しましょう。手順は次のとおりです:-

 [[email protected] ~]# cat /etc/gitlab/gitlab.rb 
external_url='http://10.124.12.133'

[[email protected] ~]# gitlab-ctl reconfigure

進行状況がスムーズに進むと、以下のスクリーンショットのようになります

インストール部分ですべてが完了したので、Gitlabのポートが機能できるようにする最後の仕上げを行いましょう。手順は次のとおりです:-

 [[email protected] ~]# firewall-cmd --permanent --add-service ssh 
[[email protected] ~]# firewall-cmd --permanent --add-service http
[[email protected] ~]# firewall-cmd --reload
[[email protected] ~]# iptables -L -n

以下はスクリーンショットです

これで、GitLabのインストールがほぼ完了しました。これで、独自のGitLabサーバーへのログインを開始し、必要に応じてプロジェクトの構成を行うことができます。最終結果として、以前に構成したURL(この場合はhttp://10.124.12.133)を介してブラウザー経由でGitLabサービスを表示できます。自動的にメインページにリダイレクトされ、必要に応じて初期管理者パスワードが設定されます。この場合、デフォルトの管理者ユーザーは root 。以下に例を示します:-

3。テストフェーズ

すべてが完了したら、GitLabをプロジェクト開発リポジトリとして使用するプロジェクトを定義するチームの下でユーザーとして行動しましょう。まず、新しいプロジェクトを作成し、プロジェクトの作成をクリックします。 必要に応じて詳細を定義します。例は以下のとおりです:-

完了すると、以下のようにプロジェクトのメインページにリダイレクトされます

これで、プロジェクトとして、このリポジトリに投稿された複数のユーザーが存在します。シナリオを再現するために、後でこのプロジェクトに参加するユーザーを作成しましょう。メインページに戻り、人を追加をクリックします 。下記のような会員登録ページに直行します。ユーザーを作成し、必要に応じて入力します。

完了したら、メインのプロジェクトページに戻り、設定に移動します。 メンバーをクリックします 。以下に例を示します:-

プロジェクトメンバーページが表示され、作成した新しいユーザーが含まれ、以下の例のようにユーザーに与える役割が定義されます。役割と特権のすべての定義について、続きを読むをクリックできます。 詳細については

完了すると、以下の例のように、付与されたチームメンバーのリストが表示されます:-

次に、他のサーバーからアクセスして、作成した新しいユーザーとしてログインし、プロジェクトにコミットする新しいファイルを作成して、プロジェクトワークフローの貢献度をテストしましょう。まず、プロジェクトのURLを他のサーバーまたはワークステーションから複製します。以下の例からプロジェクトのURLリンクを取得できます:-

すべての準備が整ったら、テストワークステーションにログインし、プロジェクトのクローンを作成して、別のユーザーがアクセスできるようにします。手順は次のとおりです:-

 [[email protected] ~]# yum install -y git 
[[email protected] ~]# git clone http://10.124.12.133/root/my-first-project.git

プロジェクトのクローンを作成するには、ユーザーアクセスを提供する必要があります。次に示す例のように、今作成した新しいユーザーを使用してください:-

完了すると、プロジェクト名の新しいフォルダがワークステーションの下に作成されます。次に、フォルダ内に移動して、空のファイルを作成します。これは、プロジェクトが任意のワークステーションの任意のチームメンバーによって提供され、プロジェクトリポジトリが常に同期して更新されることをテストするためのものです。手順は次のとおりです:-

 [[email protected] ~]# cd ls 
anaconda-ks.cfg my-first-project
[[email protected] ~]# cd my-first-project/
[[email protected] my-first-project]# ls
README.md
[[email protected] my-first-project]# touch myfile.txt

すべてが完了したら、変更をコミットして、プロジェクトのメインリポジトリと同期させましょう。手順は次のとおりです:-

 [[email protected] my-first-project]# git add myfile.txt 
[[email protected] my-first-project]# git commit -m "added new file"
[[email protected] my-first-project]# git push -u origin master

上記のコマンドが続行されると、プロセスは以下の例のように表示されます:-

素晴らしい!すべてが完了したら、ブラウザに戻ってページを更新しましょう。ユーザーshahrilによってコミットされた新しいファイルに気付くでしょう メインプロジェクトページに表示されます


Cent OS
  1. CentOS7にGitLabをインストールして構成する方法

  2. CentOS7にownCloudをインストールする方法

  3. CentOS8にGitlabをインストールして構成する方法

  1. CentOS7にDrupal8をインストールする方法

  2. CentOS7にシングルノードOpenStackをインストールする方法

  3. CentOS7.xおよびRHEL7.xにKVMハイパーバイザーをインストールします

  1. CentOS7にForemanをインストールして設定する方法

  2. CentOS7およびRHEL7にJenkinsをインストールして構成する方法

  3. CentOS7.xにCobblerをインストールして構成する方法