-
Notifications
You must be signed in to change notification settings - Fork 5
GitHub Actions
GitHub Actions memudahkan untuk mengotomatisasi semua alur kerja perangkat lunak dengan CI/CD kelas dunia.
Bangun, uji, dan gunakan kode Anda langsung dari GitHub. Buat ulasan kode, manajemen cabang, dan triase bekerja sesuai keinginan Anda.
Saat tulisan ini dibuat status adalah beta, maka belum semuanya sempurna. Jika Anda ingin menjadi yang pertama menggunakan GitHub Actions, daftar untuk beta sekarang.
Konfirmasi akan dikirim via email seperti berikut ini:
Melebihi batas penggunaan dapat menyebabkan antrian pekerjaan, gagal berjalan, atau gagal menyelesaikan. Batas dapat berubah.- Anda dapat menjalankan hingga 20 alur kerja secara bersamaan per repositori.
- Anda dapat menjalankan hingga 1000 permintaan API dalam satu jam
- Setiap pekerjaan dalam alur kerja dapat berjalan hingga 6 jam waktu eksekusi.
- Anda dapat menjalankan hingga 20 pekerjaan secara bersamaan per repositori.
- name
- on
- jobs
- jobs.<job_id></job_id>
- jobs.<job_id></job_id>.name
- jobs.<job_id></job_id>.needs
- jobs.<job_id></job_id>.runs-on
- jobs.<job_id></job_id>.steps
- jobs.<job_id></job_id>.timeout-minutes
- jobs.<job_id></job_id>.strategy
- jobs.<job_id></job_id>.container
- jobs.<job_id></job_id>.services
on:
push:
branches:
- '*'
- '!master'
Contoh ini memicu alur kerja setiap 15 menit:
on:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '*/15 * * * *'
Cron syntax has five fields separated by a space, and each field represents a unit of time.
┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of the month (1 - 31)
│ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
│ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
Anda dapat menggunakan GitHub API untuk memicu acara webhook yang disebut repository_dispatch ketika Anda ingin memicu alur kerja untuk aktivitas yang terjadi di luar GitHub.
Untuk informasi lebih lanjut, lihat "Membuat acara pengiriman repositori" di dokumentasi Pengembang GitHub.
on: repository_dispatch
Untuk memicu acara repository_dispatch kustom, Anda harus mengirim permintaan POST ke titik akhir API GitHub dan memberikan nama event_type untuk menjelaskan jenis aktivitas.
Untuk memicu proses alur kerja, Anda juga harus mengonfigurasi alur kerja Anda untuk menggunakan acara repository_dispatch. Untuk mengakses titik akhir ini selama periode pratinjau, Anda harus memberikan jenis media khusus di header:
curl https://api.github.com/users/technoweenie -I
HTTP/1.1 200 OK
X-GitHub-Media-Type: github.v3
curl https://api.github.com/users/technoweenie -I \
-H "Accept: application/vnd.github.everest-preview+json"
HTTP/1.1 200 OK
X-GitHub-Media-Type: github.v3; param=full; format=json
curl https://api.github.com/users/technoweenie -I \
-H "Accept: application/vnd.github.everest-preview+json"
HTTP/1.1 200 OK
X-GitHub-Media-Type: github.v3; param=full; format=json
Implementasi dari GitHub Actions ini akan mengikuti Bagan-Project. Eksekusi secara detil kita bahas di sesi tutorial pada bagian setelan otomasi dan selanjutnya akan bermuara di sesi implementasi.
Integrasi dengan GitHub Actions dapat dilakukan dengan eksternal seperti misalnya Listener via Google-Cloud-Functions atau triggering via Codefresh.
Pendekatan rekayasa perangkat lunak penting dilakukan untuk memastikan bahwa perangkat lunak dapat dirilis setiap saat. Kita akan bahas lebih lanjut di sesi Continuous Delivery
This documentation is mapped under Mapping and licensed under Apache License, Version 2.0.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (c) 2018-2020 Chetabahana Project