Catatan
Tindakan GitHub ini belum mendukung proyek CircleCI yang terintegrasi dengan Aplikasi GitHub CircleCI. Jika URL proyek CircleCI Anda terlihat seperti ini: https://app.circleci.com/projects/organizations/circleci%
, Anda berintegrasi dengan Aplikasi GitHub CircleCI dan Tindakan GitHub ini belum didukung. Hubungi [email protected] jika ada pertanyaan/masukan. Jika URL proyek CircleCI Anda terlihat seperti ini: https://app.circleci.com/projects/project-dashboard/github/
, Anda menggunakan integrasi Aplikasi OAuth CircleCI dan Tindakan GitHub ini didukung.
Picu saluran CircleCI Anda dari peristiwa apa pun di GitHub dengan GitHub Actions.
Buat alur kerja Tindakan GitHub untuk alur CircleCI yang diinginkan.
Lakukan ini dengan menambahkan file YAML alur kerja (kita akan menggunakan main.yml
) ke ./.github/workflows
.
Pemicu release
ditunjukkan dalam contoh ini. Coba salah satu peristiwa GitHub untuk memicu alur kerja: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
Pilih nama dan id khusus untuk langkah metadata kontekstual tambahan di saluran CircleCI Anda
pada: rilis: jenis: [diterbitkan]pekerjaan: trigger-circleci: berjalan-on: ubuntu-langkah terbaru: - nama:id: menggunakan: CircleCI-Public/[email protected] env: CCI_TOKEN: ${{ rahasia.CCI_TOKEN }}
Buat rahasia terenkripsi bernama CCI_TOKEN
yang berisi Token API Pribadi yang akan digunakan untuk memicu saluran pipa. Ini disarankan untuk menjadi pengguna mesin.
Tambahkan definisi Parameter Pipeline ke konfigurasi CircleCI Anda. Data ini akan dimasukkan oleh GitHub Action saat dipicu.
Tambahkan yang berikut ini ke bagian atas file .circleci/config.yml
Anda. Pastikan Anda menentukan versi 2.1
versi: 2.1parameter: GHA_Actor: tipe: string default: "" GHA_Action: tipe: string default: "" GHA_Event: tipe: string default: "" GHA_Meta: tipe: string default: ""
Gunakan data Parameter Alur untuk menjalankan alur kerja secara kondisional.
Lihat: Contoh
Parameter masukan opsional yang memungkinkan Anda menentukan metadata tambahan.
diperlukan: salah
deskripsi : Parameter metadata tambahan opsional. Akan tersedia di saluran CircleCI sebagai GHA_Meta.
pekerjaan: trigger-circleci: run-on: ubuntu-langkah terbaru: - nama:id: menggunakan: CircleCI-Public/[email protected] dengan: GHA_Meta: "" env: CCI_TOKEN: ${{ rahasia.CCI_TOKEN }}
diperlukan: salah
deskripsi : Siput proyek CircleCI dari proyek target (misal: github/
). Jika tidak ditentukan, siput dari repositori GitHub saat ini akan digunakan.
pekerjaan: trigger-circleci: run-on: ubuntu-langkah terbaru: - nama:id: menggunakan: CircleCI-Public/[email protected] dengan: target-slug: "gh/ / " # Akan memicu alur untuk proyek eksternal env: CCI_TOKEN: ${{ secret.CCI_TOKEN }}
Bidang | Tipe Data | Keterangan |
---|---|---|
id | tali (uuid) | ID unik dari alur. |
state | string (Enum: "dibuat" "kesalahan" "penyiapan-pending" "penyiapan" "pending") | Kondisi pipa saat ini. |
number | bilangan bulat (int64) | Nomor pipa. |
created_at | string (tanggal-waktu) | Tanggal dan waktu alur dibuat. |
Secara default, ketika repositori terhubung ke CircleCI, jika alur kerja dalam konfigurasi proyek tersebut tidak menentukan kondisi atau filter apa pun yang akan mencegah eksekusi, alur kerja akan dijalankan pada setiap peristiwa push
secara default.
Ini mungkin berarti ada kemungkinan untuk secara tidak sengaja menjalankan pekerjaan dua kali, sekali pada peristiwa push
dari CircleCI, serta peristiwa lain yang dipicu oleh Aksi GitHub.
Jika Anda mengandalkan Tindakan GitHub untuk menyediakan semua pemicu API Anda, pastikan bahwa setiap alur kerja konfigurasi CircleCI Anda berisi kondisi yang membatasi eksekusinya hanya pada pemicu Tindakan GitHub.
Contoh
alur kerja: # Alur kerja ini diatur untuk dipicu secara kondisional, # hanya melalui Aksi GitHub. # Tanpa alur kerja lain yang tidak difilter, peristiwa push normal akan diabaikan. pengujian: kapan: << pipeline.parameters.GHA_Action >> pekerjaan: - tes