


Menggunakan kawalan versi semantik boleh memudahkan untuk mengekalkan dan menyampaikan perubahan perisian, tetapi operasi manual adalah rumit. Walaupun anda secara manual menggabungkan PR, tandakan penyerahan dan menolak pelepasan, anda masih perlu menulis keterangan pelepasan. Terdapat banyak langkah, pengulangan yang tinggi, memakan masa dan intensif buruh.
Artikel ini akan menerangkan bagaimana untuk mencapai proses yang lebih cekap dan mengautomasikan proses pelepasan sepenuhnya dengan mengintegrasikan versi semantik ke dalam proses penempatan yang berterusan.
Kawalan versi semantik
Versi semantik adalah nombor versi yang terdiri daripada tiga nombor, seperti 1.4.10. Setiap nombor mempunyai makna tertentu:
Perubahan versi utama (Major)
Nombor pertama menunjukkan perubahan versi utama, yang bermaksud terdapat perubahan yang merosakkan.
Perubahan versi kecil (kecil)
Nombor kedua menunjukkan perubahan versi kecil, yang bermaksud bahawa ciri -ciri baru telah ditambah.
Perubahan versi patch
Nombor ketiga menunjukkan perubahan versi yang ditampal, yang bermaksud pepijat ditetapkan.
Versi semantik dapat difahami dengan lebih ringkas sebagai: perubahan merosakkan, perubahan fungsional, dan pembetulan pepijat. Keterangan ini lebih tepat dan mengelakkan kekaburan.
Hantar format maklumat
Untuk memastikan bahawa nombor versi semantik ditambah dengan betul dan versi yang betul dikeluarkan, format maklumat penyerahan standard diperlukan. Format maklumat penyerahan piawai membantu menentukan masa untuk meningkatkan nombor dan mudah menghasilkan arahan penerbitan. Di sini, sudut akan digunakan untuk mengemukakan konvensyen maklumat, dan sudah tentu ia juga boleh diubah seperti yang diperlukan.
Formatnya adalah seperti berikut:
<code></code>
Setiap penyerahan mengandungi tajuk , badan , dan nota kaki .
Hantar tajuk
Tajuknya adalah suatu keharusan, ia mempunyai format khas termasuk jenis , skop pilihan dan topik .
Jenis tajuk adalah medan yang diperlukan untuk menggambarkan kesan penyerahan pada versi seterusnya. Ia mestilah salah satu jenis berikut:
- Feat : Ciri -ciri Baru
- Betulkan : Pembetulan pepijat
- Dokumen : perubahan dokumen
- Gaya : Perubahan yang tidak mempengaruhi makna kod (contohnya: ruang, format, titik titik tinggi, dll.)
- Refactor : Refactoring kod, tidak menetapkan pepijat atau menambah fungsi
- Perf : Penambahbaikan Prestasi
- ujian : tambah atau ujian betul
- Kerja : Perubahan untuk membina proses atau alat bantu dan perpustakaan, seperti menjana dokumen
Skop adalah harta pengumpulan yang menentukan subsistem yang mengemukakan yang berkaitan dengan subsistem, seperti API, papan pemuka aplikasi, atau akaun pengguna, dan lain -lain. Jika beberapa subsistem diubahsuai oleh komit, asterisk (*) boleh digunakan sebaliknya.
Topik tajuk harus menerangkan secara ringkas perubahan yang dibuat. Peraturan berikut diperlukan semasa menulis topik:
- Gunakan ayat -ayat yang penting, tegang sekarang (mis., "Berubah" dan bukannya "berubah" atau "berubah").
- Huruf kecil huruf awal.
- Tiada tempoh (.) Ditambah pada akhir.
- Elakkan panjang topik melebihi 80 aksara. Hantar badan.
Seperti tema tajuk, teks utama juga harus menggunakan ayat -ayat yang penting, tegang sekarang. Ia harus termasuk motivasi untuk perubahan dan membandingkannya dengan tingkah laku sebelumnya.
Hantar nota kaki
Nota kaki harus mengandungi sebarang maklumat mengenai perubahan yang merosakkan dan juga di mana soalan yang disebutkan untuk penyerahan ini ditutup.
Maklumat perubahan yang merosakkan harus bermula dengan perubahan pecah: diikuti dengan ruang atau dua baris baru. Maklumat penyerahan yang tersisa di sini.
Menguatkuasakan format maklumat penyerahan
Dalam kerja berpasukan, menyeragamkan apa sahaja yang perlu diikuti oleh semua orang adalah sentiasa menjadi cabaran. Untuk memastikan semua orang menggunakan kriteria penyerahan yang sama, kami akan menggunakan Commitizen.
Commitizen adalah alat baris arahan yang memudahkan proses menggunakan format mesej komit yang konsisten. Membuat repositori yang serasi dengan Commitizen bermakna sesiapa di dalam pasukan boleh menjalankan Git CZ dan mendapatkan arahan terperinci untuk mengisi maklumat penyerahan.
Menjana dan menerbitkan
Sekarang kita tahu bahawa penyerahan kami mengikuti piawaian yang konsisten, kita boleh mula menghasilkan siaran dan nota pelepasan. Untuk melakukan ini, kami akan menggunakan pakej yang dipanggil Semantik-Release. Ini adalah pakej yang diselenggarakan dengan baik untuk pelbagai platform integrasi berterusan (CI).
Pelepasan semantik adalah kunci kepada perjalanan kami, kerana ia akan melaksanakan semua langkah yang diperlukan untuk dibebaskan, termasuk:
- Sahkan versi terakhir yang anda keluarkan
- Tentukan jenis penerbitan berdasarkan penyerahan yang ditambahkan sejak pelepasan terakhir
- Menjana arahan penerbitan untuk penyerahan yang ditambahkan sejak pelepasan terakhir
- Kemas kini fail Package.json dan buat tag git yang sepadan dengan versi yang baru dikeluarkan
- Tolak versi baru
Mana -mana CI ok. Dalam artikel ini, kami menggunakan tindakan GitHub kerana saya suka menggunakan ciri-ciri platform yang sedia ada sebelum mencari penyelesaian pihak ketiga.
Terdapat banyak cara untuk memasang pelepasan semantik, tetapi kami akan menggunakan semantik-release-cli kerana ia menyediakan operasi langkah demi langkah. Mari kita jalankan persediaan NPX semantik-release-cli di terminal dan isi wizard interaktif.
Skrip akan melakukan perkara berikut:
- Jalankan NPM AddUser dengan maklumat NPM yang disediakan untuk menjana .NPMRC.
- Buat token akses peribadi GitHub.
- Kemas kini Package.json.
Sebaik sahaja CLI selesai, ia menambah pelepasan semantik ke Package.json, tetapi ia tidak akan memasangnya. Jalankan NPM Pasang untuk memasangnya dan kebergantungan projek lain.
Satu -satunya perkara yang tersisa ialah mengkonfigurasi CI melalui tindakan GitHub. Kita perlu menambah aliran kerja secara manual yang akan menjalankan pelepasan semantik. Mari buat aliran kerja penerbitan dalam .github/aliran kerja/pelepasan.yml.
<code>name: Release on: push: branches: - main jobs: release: name: Release runs-on: ubuntu-18.04 steps: - name: Checkout uses: actions/checkout@v2 - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: 12 - name: Install dependencies run: npm ci - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If you need an NPM release, you can add the NPM_TOKEN # NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: npm run release</code>
Steffen Brewersdorff telah melakukan kerja yang baik untuk memperkenalkan CI dengan tindakan GitHub, tetapi mari kita mengkaji secara ringkas apa yang berlaku di sini.
Ini akan menunggu dorongan ke cawangan utama berlaku sebelum saluran paip dijalankan. Anda boleh menukar tetapan ini seperti yang anda suka untuk menjalankan satu, dua, atau semua cawangan.
<code>on: push: branches: - main</code>
Ia kemudian menggunakan checkout untuk menarik repositori dan memasang nod supaya NPM boleh digunakan untuk memasang kebergantungan projek. Jika ini adalah sesuatu yang anda suka, anda boleh menambah langkah ujian.
<code>- name: Checkout uses: actions/checkout@v2 - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: 12 - name: Install dependencies run: npm ci # You can add a test step here # - name: Run Tests # run: npm test</code>
Akhirnya, biarkan pelepasan semantik melakukan semua operasi ajaib:
<code>- name: Release run: npm run release</code>
Tekan perubahan dan lihat tindakan:
Sekarang, setiap kali cawangan tertentu dilakukan (atau digabungkan), operasi dijalankan dan diterbitkan dengan nota pelepasan.
Hantarkan pesta!
Kami telah berjaya mencipta aliran kerja pelepasan semantik CI/CD! Bukankah itu menyakitkan? Persediaannya agak mudah, dan tidak ada kelemahan untuk mempunyai aliran kerja penerbitan semantik. Ia hanya membuat perubahan penjejakan lebih mudah.
Release Semantik Terdapat banyak pemalam yang boleh membolehkan automasi yang lebih maju. Sebagai contoh, terdapat juga bot pelepasan kendur yang boleh diterbitkan ke saluran projek selepas projek itu berjaya digunakan. Tidak perlu pergi ke GitHub untuk mencari kemas kini!
Atas ialah kandungan terperinci Cara mengautomasikan versi dan keluaran projek dengan penggunaan berterusan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

@keyframesandcsstransitionsdifferincomplexity:@keyframesallowsfordetailedanimationseSseSeSs, whileCstransitionShandlesImplestateShanges.usecsstransitionsforhovereffectsLikeButtonColorchanges, dan@keyframesforintricateanimation.

Saya tahu, saya tahu: terdapat satu tan pilihan sistem pengurusan kandungan yang tersedia, dan sementara saya telah menguji beberapa, tidak ada yang benar -benar menjadi satu, y ' tahu? Model harga pelik, penyesuaian yang sukar, sesetengahnya akhirnya menjadi keseluruhan &

Menghubungkan fail CSS ke HTML boleh dicapai dengan menggunakan unsur -unsur dalam sebahagian HTML. 1) Gunakan tag untuk menghubungkan fail CSS tempatan. 2) Pelbagai fail CSS boleh dilaksanakan dengan menambahkan beberapa tag. 3) Fail CSS luaran menggunakan pautan URL mutlak, seperti. 4) Pastikan penggunaan laluan fail yang betul dan pesanan pemuatan fail CSS, dan mengoptimumkan prestasi boleh menggunakan preprocessor CSS untuk menggabungkan fail.

Memilih Flexbox atau Grid bergantung kepada keperluan susun atur: 1) Flexbox sesuai untuk susun atur satu dimensi, seperti bar navigasi; 2) Grid sesuai untuk susun atur dua dimensi, seperti susun atur majalah. Kedua -duanya boleh digunakan dalam projek untuk meningkatkan kesan susun atur.

Cara terbaik untuk memasukkan fail CSS adalah menggunakan tag untuk memperkenalkan fail CSS luaran di bahagian HTML. 1. Gunakan tag untuk memperkenalkan fail CSS luaran, seperti. 2. Untuk pelarasan kecil, css sebaris boleh digunakan, tetapi harus digunakan dengan berhati -hati. 3. Projek besar boleh menggunakan preprocessors CSS seperti SASS atau kurang untuk mengimport fail CSS lain melalui @import. 4. Untuk prestasi, fail CSS harus digabungkan dan CDN harus digunakan, dan dimampatkan menggunakan alat seperti CSSNANO.

Ya, youdyhouldlearnbothflexboxandgrid.1) flexboxisidealforone-dimensi, flexiblelayoutslikenavigasiMenus.2)

Apa yang kelihatan seperti refactor kod anda sendiri? John Rhea memisahkan animasi CSS lama yang dia tulis dan berjalan melalui proses pemikiran mengoptimumkannya.

Csanimationsarenotinherenthardbutrequirepracticeandundunderpanderofcsspropertiesandtimingfunctions.1) startwithsimpleanimationslikescalingabuttonhoverusingkeyframes.2)


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
