使用環境IP アドレスとポートは、次のサービスに属します: 10.10.9.208 3000 Gitea Web 管理サービス、 10.10.9.208 2222 SSH/HTTP コード ダウンロード サービス、 10.10.9.208 7500 Drone-Server サービス、 10.10.9.208 3100 Drone-Runner。 ギテア導入Giteaは、オープンソースでコミュニティ主導型の軽量コードホスティングソリューションです。バックエンドはGo言語で記述され、MITライセンスの下で提供されています。Gogsから発展したものです。Gogsは単一の管理者によって管理されていたため、Giteaが開発されました。Giteaはコミュニティ管理モデルを採用し、多くの新機能が追加されています。また、開発の方向性はコミュニティ内の多数のメンテナーによって決定されているため、高い活力と開発の可能性を秘めています。 Giteaの最大の目標は、インストールが非常に簡単で、動作が高速で、優れたユーザーエクスペリエンスを提供するセルフホスト型のGitサービスを構築することです。バックエンド言語としてGoを使用し、実行ファイルを生成するだけで済みます。さらに、Linux、macOS、Windowsなどのクロスプラットフォーム対応に加え、x86、amd64、ARM、PowerPCなどの様々なアーキテクチャにも対応しています。 特徴
インストールGiteaの公式ドキュメントには中国語版があり、様々なインストール方法が紹介されています。ここではDockerのデプロイを例に挙げ、最も基本的なデプロイ方法、つまり内部のsqlite3をデータベースとして使用する方法を説明します。docker-composeのデプロイ設定ファイルは以下のとおりです。 バージョン: "3" 環境変数の設定は数多くあり、公式ドキュメントに記載されています。ここでは主にSSH_PORTポートを変更する必要があります。デフォルトのポート22はホストのSSHサービスポートと競合するためです。そのため、ポートを2222に変更します。ポート3000はWeb管理ポートです。その他の設定は、初回アクセス時にWebインターフェースから行います。 次のコマンドを使用してイメージを起動します。 docker - compose up -d 構成比較的軽量なので、起動も非常に高速です。Web版に初めてアクセスすると、初期設定ページが表示されます。 ここでは以下の項目を設定する必要があります。
サーバーおよびサードパーティのサービス設定、管理者アカウント設定など、オプション設定で一部の構成を変更する必要があります。 サーバーおよびサードパーティのサービス設定このセクションでは、主にローカルモードの有効化について説明します。デフォルト設定ではCDNを使用して外部リソースに接続するため、サーバーを外部ネットワークに接続できない企業ではローカルモードが不可欠です。一般的に、これは社内利用を目的としているため、ユーザー登録は不要です。管理者がアカウントを作成できます。 管理者アカウントの設定デフォルトでは、最初に登録されたユーザーが管理者になります。ここで管理者情報を作成します。ユーザー名には「admin」などの予約語は使用できませんのでご注意ください。 設定後、「今すぐインストール」をクリックしてユーザー ページに入ります。 外部リポジトリのコードをインポートするGitea は、次のコード管理リポジトリからのコード リポジトリのインポートをサポートしています。 インポートをサポートするには、いくつかの設定が必要です。gitea /conf/app.iniファイルに以下の設定を追加してください。 [ 移行] 次にコンテナを再起動します。 docker - 再起動を作成する ドローン導入Drone は Docker ベースの CI/CD ツールであり、すべてのコンパイル、テスト、およびデプロイメント プロセスが Docker コンテナ内で実行されます。 開発者はプロジェクトに .drone.yml ファイルを組み込み、コードを git リポジトリにプッシュするだけで、Drone が自動的にコードをコンパイル、テスト、デプロイします。 Drone を CI/CD ツールとして使用する理由は何ですか?
インストールドローンは 2 つの部分で構成されています。
そのため、 drone/drone:2.13.0とdrone/drone-runner-docker:1.8.2 の2つのイメージがインストールされます。まずはイメージをダウンロードしてください。 docker pull ドローン/ ドローン: 2.13 .0 JenkinsなどのCIツールとは異なり、Droneは特定のGitリポジトリにバインドする必要があるため、起動時に対応するリポジトリ情報を設定する必要があります。ここではGiteaリポジトリを例に説明します。 準備まず、Gitea で対応する検証情報を作成します。 生成されたトークンを覚えておいてください。DroneはOAuth2を使用してGietaに接続します。アプリケーションを作成した後、リダイレクトURIにDroneサービスのログインアドレスを設定します。Droneサービスはまだ作成していませんが、最初にここでアドレスとポート番号を入力してください。後でDroneサービスを作成する際は、ここで入力したアドレスと一致していることを確認してください。 クライアントIDとクライアントキーを記録します。ドローンはサーバーとランナーで構成されており、それらの間の通信は暗号化する必要があります。キーは次のように生成できます。 openssl rand - 16 進数16 drone-server 起動設定ファイルバージョン: "3"
設定後、drone-server サービスを開始します。 docker - compose up -d その後、 http://10.10.9.208: 7500 にアクセスすると、Gieta の認証ページに自動的にリダイレクトされます。認証後、メールアドレス、ユーザー名、会社名を入力してページにアクセスしてください。Drone にはログインインターフェースがないため、ご注意ください。では、Drone はどのようにして Gieta のリポジトリにアクセスし、ビルドを行うのでしょうか?
ログインすると、ビルド可能なリポジトリが表示されます。Gietaにプロジェクトを追加したのにここに表示されない場合は、「同期」ボタンをクリックして手動で同期できます。その後、リポジトリにアクセスして有効化し、いくつかの設定を行ってください。 プルおよびフォーク用のWebHookメッセージは受け付けません。TrustedフィールドはDrone管理者のみに表示され、他のユーザーには表示されません。 ドローンランナーの起動構成バージョン: "3"
ランナーが成功したことを確認します。 docker ログドローン- ランナー ログに次の内容が含まれている場合、起動は成功したことを示します。 サーバーを起動する ビルドを使用するDrone はパイプライン構成に構成ファイルを使用するため、まず、対応するリポジトリのルート ディレクトリに次の内容を含む.drone.ymlファイルを作成する必要があります。 種類: パイプライン ファイルが送信されると、ビルドが自動的にトリガーされます。 Droneでは、パイプラインを手動で作成することも、トリガーメソッドを設定して自動的にトリガーすることもできます。Jenkinsを使用する場合、GitリポジトリにWebHookを設定し、WebHookのトリガーイベントを選択してビルドを自動的にトリガーする必要があります。しかし、Droneのインストールと設定時にトリガーメソッドを設定していませんでした。.drone.ymlファイルを追加すると、なぜビルドが自動的にトリガーされるのでしょうか?これは、DroneがGitリポジトリにバインドされているためです。Droneサービスを作成する際に、Giteaリポジトリの認証情報を既に設定しています。そのため、Droneでプロジェクトをアクティブ化すると、DroneはGitea内の対応するプロジェクトに対して自動的にWebHookを作成します。 WebHook 編集ページに入ると、いくつかのトリガー条件がデフォルトで選択されていることがわかります。 ここでトリガー条件を設定すると、ビルドが自動的にトリガーされます。Giteaでは、WebHookをトリガーする際にWebHookメッセージの受信者リストを設定する必要があることに注意してください。上で設定した` webhook.ALLOWED_HOST_LIST`を覚えていますか?ここでは主にこれが使用されます。設定されていない場合、トリガー後にエラーが発生し、WebHook設定ページの下部にエラーメッセージが表示されます。 Gitea + Drone 自動ビルドシステムが完成しました。ちょっとしたヒント:Drone プロジェクトの設定ページにバッジオプションが表示されます。 内容をコピーし、プロジェクトのREADME.mdファイルの先頭に追加してください。これにより、Giteaプロジェクトページで、右上隅の赤いボックスに示されているように、現在のパイプラインのステータスを確認できるようになります。 |