Artikel dari seri tentang membuat proyek Java (tautan ke materi lain ada di akhir). Tujuannya adalah untuk menganalisis teknologi utama, hasilnya adalah penulisan bot telegram. Salam, para pembaca yang budiman. Seperti yang dijelaskan di bagian sebelumnya , kami akan berjalan sesuai rencana. Kami telah membuat proyek dan sekarang saatnya mengisinya dengan kode. Sekarang semua masalah akan ditambahkan sebagai komitmen terpisah. Saya akan menjelaskan semua yang diperlukan di sini. Jika saya melewatkan sesuatu atau kurang menjelaskannya, tanyakan di komentar, saya akan mencoba menjawab.
Kami menulis JRTB-0M
Dalam tugas ini kita perlu menambahkan kerangka SpringBoot kosong untuk pekerjaan selanjutnya. Kami akan melakukan ini dengan cara yang sama seperti yang kami lakukan di artikel tentang SpringBoot + Flyway . Unduh proyeknya , buka di IDEA dan buat cabang baru bernama JRTB-0 . Saya menjelaskan cara melakukan ini melalui sebuah ide di sini . Ini akan memudahkan kami melacak pekerjaan di masa mendatang. Tahukah Anda bahwa cabang master sudah tidak ada lagi ? Sekarang disebut netral - utama . Jadi kita akan terbiasa. Meskipun sejujurnya, kami selalu dapat mengganti namanya kembali menjadi master. Kami pergi ke Spring Initializr dan membuat kerangka SpringBoot untuk bot kami. Saat ini, versi termuda dari boot sprint yang ditawarkan adalah 2.3.7, ayo kita gunakan. Saya akan menjelaskan pengaturan berikut secara terpisah:- Proyek: Proyek Maven - kita sudah membahas Maven di sini dan di sini . Oleh karena itu, saya juga hanya akan menjelaskan apa yang tidak saya ungkapkan di artikel sebelumnya. Jika ada “titik putih” seperti itu, tentu saja)
- Bahasa: Java - semuanya jelas di sini. Jika ada keinginan, kita bisa menulis ulang hal ini di Kotlin. Saya baru saja membeli buku Kotlin in Action, kita akan belajar Kotlin bersama))
- Spring Boot: 2.3.7 - kami mengambil versi terkecil yang ditawarkan untuk menghilangkan masalah apa pun. Ini sudah merupakan versi boot yang sepenuhnya modern.
- Grup: com.github.javarushcommunity - di sini kami memilih domain tempat grup repositori kami dihosting.
- Artefak: javarush-telegrambot - deskripsi maksimum proyek.
- Nama: Javarush TelegramBot - kami akan menulisnya secara lengkap di sini.
- Deskripsi: Bot Telegram untuk Javarush dari komunitas ke komunitas - berikut adalah deskripsi proyek yang lebih detail.
- Nama paket: com.github.javarushcommunity.jrtb - di sini Anda sudah dapat menggunakan singkatan nama proyek. Sekarang proyek akan dimulai dengan paket ini. Mengapa begitu banyak? Sehingga ketika kita menambahkan proyek lain ke classpath, proyek tersebut akan berada dalam paket yang berbeda. Masing-masing dengan caranya yang unik. Hal ini penting untuk menjaga prinsip OOP.
- Kemasan : Toples standar kami)
- Java: 11 - kita akan selangkah lebih maju. Saya rasa saya tidak akan menggunakan inovasi setelah Java kedelapan, tapi biarkan saja. Dia tidak meminta makanan)... keputusan ini akan memberi kita telur Paskah kecil di masa depan)
Menyiapkan proses CI
Kami pergi ke permintaan tarik yang dibuat: di bawah ini kami melihat bahwa kami tidak memiliki Integrasi Berkelanjutan yang dikonfigurasi (selanjutnya - CI). Yah, itu tidak dikonfigurasi, lalu kenapa? Mengapa kita membutuhkan CI? Apa sih CI itu? Kira-kira begitulah daftar pertanyaan yang patut menjadi perhatian kita saat ini. Secara umum, CI adalah proses berkelanjutan yang menggabungkan kode ke dalam basis kode umum dan menjalankan pembangunan proyek sebelumnya. Yang disebut build (dari bahasa Inggris build). Setiap kali kami membangun sebuah proyek, kami memastikan bahwa proyek tersebut telah dikompilasi, semua pengujiannya telah berhasil lulus, ditambah lagi setelah membangun proyek, Anda dapat menambahkan pengujian otomatis dari penguji ke CI yang dijalankan pada build khusus ini. Dengan cara ini, kami menjadi lebih yakin bahwa perubahan baru berfungsi sesuai harapan dan tidak merusak fungsi sebelumnya. CI juga bagus karena dimulai secara otomatis setelah memperbarui basis kode. Artinya, kami memasukkan perubahan kami ke cabang dan proses dimulai - perakitan, pengujian, pengujian otomatis, dan langkah lainnya. Jika salah satu langkah ini gagal, build dianggap rusak dan tidak dapat digabungkan ke cabang utama. Inilah yang akan kita lakukan sekarang: kita akan menambahkan GitHub Actions, yang akan menjalankan kode kita setelah push. GitHub Actions sangat cocok dengan Alur GitHub kami, jadi kami akan menggunakannya untuk mengotomatiskan pekerjaan kami. Alat ini sangat kuat dan besar, namun untuk saat ini kami hanya akan menggunakannya untuk menjalankan build dan memeriksa apakah sudah dirakit sesuai kebutuhan. Untuk mengaktifkannya, temukan tombol Tindakan di halaman repositori dan ikuti: Temukan alur kerja Integrasi Berkelanjutan yang kita perlukan: Klik Siapkan alur kerja ini. Selanjutnya, kami ditawari untuk menggunakan template mereka: kami sepenuhnya setuju, mari kita perjelas semuanya sedikit:# 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
Hal ini menunjukkan bahwa GitHub Action dipanggil dalam dua kasus:
- Ketika dorongan dilakukan ke cabang utama.
- Ketika permintaan tarik dibuat di cabang utama.
GO TO FULL VERSION