Java プロジェクトの作成に関するシリーズの記事 (他の資料へのリンクは最後にあります)。その目標は主要なテクノロジーを分析することであり、その結果として電報ボットを作成することになります。 親愛なる読者の皆さん、こんにちは。前編で述べたように、計画通りに進んでいきます。すでにプロジェクトが作成されているので、そこにコードを入力します。これで、すべての問題が個別のコミットとして追加されます。ここで必要なことをすべて説明します。何かを見逃したり、十分に明確に説明していない場合は、コメントで質問してください。お答えできるよう努めます。
JRTB-0Mと書きます
このタスクでは、将来の作業のために空の SpringBoot フレームワークを追加する必要があります。SpringBoot + Flyway に関する記事で行ったのと同じ方法でこれを行います。プロジェクトをダウンロードし、IDEA で開き、JRTB-0という新しいブランチを作成します。ここでアイデアを通じてこれを行う方法を説明しました。これにより、今後の作業の追跡が容易になります。masterブランチが存在しないことはすでにご存知でしたか? 現在は、neutrally- mainと呼ばれています。それで私たちはそれに慣れます。ただし、正直に言うと、いつでも名前を master に戻すことができます。Spring Initializrに移動し、ボット用の SpringBoot フレームワークを作成します。現時点で、提供されているブート スプリントの最も若いバージョンは 2.3.7 です。それを採用しましょう。次の設定については別途説明します。- プロジェクト: Maven プロジェクト- Maven については、こことここですでに説明しました。そのため、これまでの記事で明かせなかった部分のみ追加で記載させていただきます。もちろん、そのような「白い斑点」があれば)
- 言語: Java - ここではすべてが明確です。ご希望があれば、この件を Kotlin で書き直すこともできます。Kotlin in Action という本を購入したところです。一緒に Kotlin を学びましょう))
- Spring Boot: 2.3.7 - 問題を排除するために、提供されている最小バージョンを採用します。これはすでに完全に現代的なバージョンのブーツです。
- グループ: com.github.javarushcommunity - ここでは、リポジトリのグループがホストされているドメインを選択します。
- アーティファクト: javarush-telegrambot - プロジェクトの最大の説明。
- 名前: Javarush TelegramBot - ここに完全に書きます。
- 説明: コミュニティからコミュニティへの Javarush 用 Telegram ボット- ここにプロジェクトのより詳細な説明があります。
- パッケージ名: com.github.javarushcommunity.jrtb - ここではすでにプロジェクト名の略語を使用できます。これで、このパッケージを使用してプロジェクトが開始されます。なぜそんなにたくさんあるのでしょうか?そのため、他のプロジェクトをクラスパスに追加すると、それらは異なるパッケージに入れられます。それぞれが独自の方法で。これは OOP 原則を維持するために重要です。
- 包装:瓶詰めが標準です)
- Java: 11 - 一歩前進します。8 番目の Java 以降はイノベーションを使用しないと思いますが、そのままにしておきます。彼は食べ物を要求しません)...この決定は将来私たちに小さなイースターエッグを与えるでしょう)
CIプロセスのセットアップ
作成されたプル リクエストに移動します。以下では、継続的インテグレーション(以下、CI) が設定されていないことがわかります。まあ、設定されていないので、どうなるのでしょうか?そもそもなぜ CI が必要なのでしょうか? そもそもCIとは何でしょうか?これは、現時点で私たちが懸念すべき質問のほぼリストです。一般に、CI は、コードを共通のコード ベースにマージし、その前にプロジェクトのビルドを実行する継続的なプロセスです。いわゆるビルド(英語の build から)。プロジェクトをビルドするたびに、プロジェクトがコンパイルされ、すべてのテストが正常に合格したことを確認します。さらに、プロジェクトのビルド後、この特定のビルドで実行される自動テストをテスターから CI に追加できます。こうすることで、新しい変更が期待どおりに機能し、以前の機能が損なわれないという確信が高まります。CIもコードベース更新後に自動で起動するので良いですね。つまり、変更をブランチにプッシュし、アセンブリ、テスト、自動テストなどのプロセスが開始されました。これらの手順のいずれかが失敗した場合、ビルドは壊れているとみなされ、メイン ブランチにマージできません。これがまさにこれから行うことです。プッシュ後にコードを実行する GitHub アクションを追加します。GitHub Actions は GitHub Flow に完全に適合するため、これを使用して作業を自動化します。このツールは非常に強力で大きいですが、今のところ、ビルドを実行し、必要に応じてアセンブルされていることを確認するためにのみ使用します。これを有効にするには、リポジトリ ページで[アクション]ボタンを見つけて、そのボタンに従います。必要な継続的インテグレーション ワークフローを見つけます。 [このワークフローを設定する] をクリックします。次に、彼らのテンプレートを使用するよう提案されます。完全に同意します。すべてを少し明確にしてみましょう。# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Java CI with Maven
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: mvn -B package --file pom.xml
これは、GitHub Action が次の 2 つの場合に呼び出されることを示しています。
- メインブランチにプッシュが行われたとき。
- プル リクエストがメイン ブランチで作成されたとき。
GO TO FULL VERSION