Pendahuluan
GitHub Actions adalah platform untuk otomatisasi alur kerja pengembangan perangkat lunak dengan alat CI/CD bawaan. Platform ini mudah digunakan dan tidak memerlukan aplikasi pihak ketiga atau pengetahuan ahli sebelumnya dan orang yang berdedikasi untuk pemeliharaan.
Tindakan PhoenixNAP Bare Metal Cloud GitHub berfungsi sebagai pelari tugas otomatis yang bereaksi terhadap peristiwa GitHub di repositori git Anda. Tanpa memutar server lain, Anda dapat mencapai fungsionalitas CI/CD yang diinginkan langsung dari GitHub.
Prasyarat
- Akun GitHub
- Akun Bare Metal Cloud (BMC) atau phoenixNAP Client Portal (PNCP). Jika Anda adalah klien baru, buat akun untuk Bare Metal Cloud. Lihat petunjuk video pembuatan akun BMC untuk bantuan.
Apa itu Tindakan GitHub BMC?
Tindakan Bare Metal Cloud GitHub ditentukan oleh action.yaml . yang sesuai mengajukan. Setiap repositori tindakan BMC memiliki action.yaml khusus file dengan kode yang dibuat untuk tindakan spesifik itu, seperti create-server-bmc .
File yaml menjelaskan cara menjalankan aksi, mendefinisikan file JavaScript utama, dalam hal ini index.js , dan metadata fungsi. Anda dapat menggabungkan tindakan BMC berbasis JavaScript ini dan menggabungkannya ke dalam alur kerja Anda untuk mencapai tingkat otomatisasi yang diinginkan.
Kredensial GitHub BMC
Repositori GitHub mendukung variabel lingkungan rahasia yang terenkripsi sepenuhnya. Anda kemudian mereferensikan clientid
dan clientsecret
dalam file yaml alur kerja. Tindakan BMC mendapatkan akses ke rahasia Anda hanya setelah Anda menambahkannya ke repositori Anda.
Setelah Anda menambahkan kredensial ke repositori atau organisasi Anda, nilainya tidak akan terlihat saat Anda menjalankan suatu tindakan.
Untuk mendapatkan Client ID
BMC dan Client Secret
, masuk ke portal Bare Metal Cloud dan:
1. Navigasikan ke Kredensial API halaman.
2. Klik Buat Kredensial tombol.
3. Tambahkan nama kredensial dan deskripsi opsional di bidang masing-masing.
4. Tetapkan cakupan izin . Centang kotak di samping tingkat izin yang ingin Anda berikan ke kredensial. Pilih apakah Anda ingin mengizinkan penggunaan semua atau hanya-baca panggilan BMC API.
5. Klik Buat saat siap.
6. Anda akan mendapatkan Client ID
dan Client Secret
di jendela konfirmasi.
7. Salin kredensial dan tambahkan ke repositori GitHub Anda sebagai Rahasia. Buka Setelan -> Rahasia dan klik Tambahkan rahasia baru .
Repositori Tindakan PhoenixNAP BMC GitHub
Repositori Tindakan GitHub BMC kami saat ini berisi tiga tindakan:
- Buat server Cloud Bare Metal baru
- Menghapus server Bare Metal Cloud
- Dapatkan informasi dasar server Bare Metal Cloud
Anda dapat menggabungkan tindakan BMC dengan tindakan lain untuk membuat tugas dan alur kerja khusus Anda.
Buat Tindakan GitHub Server BMC Baru
buat-server-bmc Tindakan GitHub memungkinkan Anda untuk mengotomatiskan proses pembuatan server. Anda dapat membuat alur kerja yang menginstal aplikasi pengujian perangkat lunak dan saat Anda membutuhkan lebih banyak sumber daya untuk menjalankan server BMC baru secara otomatis.
Tindakan ini mengeluarkan ID server baru dan alamat IP publik dalam daftar dengan nilai yang dipisahkan koma. Tindakannya sinkron. Namun, pembuatan server dan proses booting tidak sinkron.
Input yang Diperlukan
Setiap tindakan GitHub memiliki elemen wajib. Tindakan buat server harus menyertakan:
clientid
:ID Klien dari kredensial OAuth2 aplikasi.clientsecret
:Rahasia Klien dari kredensial OAuth2 aplikasi.hostname
:Nama host server. Nama harus mengikuti pola ini:1 panjang ≤ 100 cocok^(?=.*[a-zA-Z])([a-zA-Z0-9().-])+$
Masukan Opsional
Input opsional untuk create-server-bmc Tindakan GitHub adalah:
image
:ID OS server. Defaultnya adalahubuntu/bionic
.type
:ID jenis server. Defaultnya adalahs1.c1.small
.location
:ID Lokasi Server. Anda tidak dapat mengubah lokasi setelah server dibuat. Anda dapat mengatur bidang ini ke PHX atau ASH. Nilai defaultnya adalahPHX
.bmcentrypoint
:Titik masuk API BMC. Defaultnya adalahhttps://api.phoenixnap.com/bmc/v1/
.bmctokenhost
:Host token BMC OIDC. Defaultnya adalahhttps://auth.phoenixnap.com
.bmctokenpath
:Jalur token OIDC BMC. Defaultnya adalah/auth/realms/BMC/protocol/openid-connect/token
.
Keluaran
buat-server-bmc tindakan memiliki output berikut:
id
:ID server BMC yang baru.ipaddresses
:Daftar alamat IP publik yang dipisahkan koma yang dilampirkan ke server baru.
Contoh Penggunaan untuk Membuat Tindakan Server BMC
Di bawah ini adalah contoh untuk tindakan buat server:
- name: CreateBMCServer step
uses: phoenixnap-github-actions/create-server-bmc
id: createserver
with:
clientid: ${{secrets.BMC_CLIENT_ID}}
clientsecret: ${{secrets.BMC_CLIENT_SECRET}}
hostname: "bmc-gha-test"
image: "ubuntu/bionic"
location: "ASH"
type: "s1.c1.small"
description: "This server is created using GitHub Actions."
Dapatkan Informasi Server BMC Tindakan GitHub
get-server-bmc action mengambil informasi dasar tentang server Bare Metal Cloud. Tindakan sinkron ini memperoleh sebagian besar detail yang diberikan selama tindakan pembuatan server BMC.
Input yang Diperlukan
Masukan yang diperlukan untuk get-server-bmc tindakan adalah:
clientid
:ID Klien dari kredensial OAuth2 aplikasi.clientsecret
:Rahasia Klien dari kredensial OAuth2 aplikasi.serverid
:ID server untuk mendapatkan informasi. ID dibuat selama langkah membuat server.
Masukan Opsional
Ini adalah input opsional untuk get-server-bmc Tindakan GitHub:
bmcentrypoint
:Titik masuk API BMC. Defaultnya adalahhttps://api.phoenixnap.com/bmc/v1/
.bmctokenhost
:Host token BMC OIDC. Defaultnya adalahhttps://auth.phoenixnap.com
.bmctokenpath
:Jalur token OIDC BMC. Defaultnya adalah/auth/realms/BMC/protocol/openid-connect/token
.
Keluaran
buat-server-bmc tindakan memberikan keluaran ini:
id
:ID server BMC.status
:Status operasional server.hostname
:Nama host server.ipaddresses
:Daftar alamat IP publik yang dipisahkan koma yang dilampirkan ke server.
Contoh Penggunaan untuk Membuat Tindakan Server BMC
Di bawah ini adalah contoh penggunaan untuk tindakan buat server:
- name: GetServer step
uses: phoenixnap-github-actions/get-server-bmc
id: getserver
with:
clientid: ${{secrets.BMC_CLIENT_ID}}
clientsecret: ${{secrets.BMC_CLIENT_SECRET}}
serverid: ${{ steps.createserver.outputs.id }}
Hapus Tindakan GitHub Server BMC
hapus-server-bmc Tindakan GitHub menghapus server Bare Metal Cloud. Tindakannya sinkron, sedangkan penghapusan dan pembersihan tidak sinkron.
Peringatan: Gunakan tindakan penghapusan dengan sangat hati-hati karena tindakan tersebut tidak dapat dibatalkan dan dapat mengakibatkan hilangnya data.
Input yang Diperlukan
Masukan yang diperlukan untuk delete-server-bmc tindakan adalah:
clientid
:ID Klien dari kredensial OAuth2 aplikasi.clientsecret
:Rahasia Klien dari kredensial OAuth2 aplikasi.serverid
:ID server yang ingin Anda hapus. ID dibuat selama langkah membuat server.
Masukan Opsional
Ini adalah input opsional untuk delete-server-bmc Tindakan GitHub:
bmcentrypoint
:Titik masuk API BMC. Defaultnya adalahhttps://api.phoenixnap.com/bmc/v1/
.bmctokenhost
:Host token BMC OIDC. Defaultnya adalahhttps://auth.phoenixnap.com
.bmctokenpath
:Jalur token OIDC BMC. Defaultnya adalah/auth/realms/BMC/protocol/openid-connect/token
.
Keluaran
hapus-server-bmc tindakan memberikan keluaran ini:
id
:ID server BMC yang dihapus.
Contoh Penggunaan untuk Menghapus Tindakan Server BMC
Di bawah ini adalah contoh penggunaan untuk tindakan buat server:
- name: DeleteServer step
uses: phoenixnap-github-actions/delete-server-bmc
id: deleteserver
with:
clientid: ${{secrets.BMC_CLIENT_ID}}
clientsecret: ${{secrets.BMC_CLIENT_SECRET}}
serverid: ${{ steps.createserver.outputs.id }}