GNU/Linux >> Belajar Linux >  >> Ubuntu

Tindakan Bare Metal Cloud GitHub

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 adalah ubuntu/bionic .
  • type :ID jenis server. Defaultnya adalah s1.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 adalah PHX .
  • bmcentrypoint :Titik masuk API BMC. Defaultnya adalah https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :Host token BMC OIDC. Defaultnya adalah https://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 adalah https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :Host token BMC OIDC. Defaultnya adalah https://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 adalah https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :Host token BMC OIDC. Defaultnya adalah https://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 }}

Ubuntu
  1. FAQ Akun Saya E2E

  2. Ubuntu Di Virtualbox Di Dropbox Atau Cloud?

  3. Cara memigrasi instalasi Linux bare metal ke mesin virtual

  1. Siapkan cloud Linux di bare metal

  2. Cara Menginstal Kubernetes di Server Bare Metal

  3. Lubuntu 18.10 Tindakan Tombol Daya Lxqt?

  1. Apa itu Bare Metal Cloud

  2. Penerapan Otomatis Spark Cluster di Bare Metal Cloud

  3. Cara Mengatur VPN Akses Jarak Jauh Bare Metal Cloud