GitHub Actions, geliştiricilerin depolarındaki iş akışlarını otomatikleştirme biçiminde devrim yarattı. Sürekli entegrasyon ve sürekli dağıtım (CI/CD) boru hatlarından, sorun etiketlemesini ve sürüm notları oluşturmayı otomatikleştirmeye kadar, Actions, yazılım geliştirme yaşam döngüsünü doğrudan GitHub içinde yönetmek için güçlü, entegre bir yol sunar.
Ancak, bu iş akışlarını geliştirmek ve test etmek bazen zahmetli olabilir. Geleneksel döngü şunları içerir:
- İş akışı dosyalarınızda değişiklik yapmak (genellikle
.github/workflows/
içinde bulunur). - Bu değişiklikleri kaydetmek.
- Bunları GitHub deponuza göndermek.
- GitHub'ın çalıştırıcılarının işi almasını ve yürütmesini beklemek.
- Değişikliklerinizin çalışıp çalışmadığını veya hatalara neden olup olmadığını görmek için GitHub web sitesindeki günlükleri analiz etmek.
Bu süreç, özellikle bekleme kısmı ve yerel düzenleyiciniz ile GitHub kullanıcı arayüzü arasındaki bağlam geçişi, özellikle karmaşık iş akışları üzerinde yineleme yaparken veya zorlu sorunları ayıklarken, geliştirmeyi önemli ölçüde yavaşlatabilir. Ya Actions'larınızı göndermeden önce test edebilseydiniz?

Tam olarak bu noktada act
devreye giriyor. Etiket satırının önerdiği gibi, "Küresel düşün, act
yerel olarak". act
, GitHub Actions iş akışlarınızı yerel olarak Docker kapsayıcılarını kullanarak çalıştırmak için tasarlanmış, açık kaynaklı bir komut satırı aracıdır. GitHub Actions tarafından sağlanan ortamı simüle eder, iş akışlarınızı kaydetme ve gönderme ihtiyacı duymadan hızlı bir şekilde test etmenize ve yinelemenize olanak tanır.
Geliştirici Ekibinizin maksimum verimlilikle birlikte çalışması için entegre, Hepsi Bir Arada bir platform mu istiyorsunuz?
Apidog tüm taleplerinizi karşılıyor ve Postman'in yerini çok daha uygun bir fiyata alıyor!

Neden GitHub Actions'ı act
ile Yerel Olarak Çalıştıralım?
act
'i geliştirme iş akışınıza dahil etmenin faydaları önemli ölçüdedir:
- Hızlı Geri Bildirim: Bu, birincil avantajdır. Kaydet-gönder-bekle-hata ayıklama döngüsü yerine, iş akışınızı yerel olarak bir değişiklik yaptıktan hemen sonra çalıştırabilirsiniz. Dakikalarca veya onlarca dakika yerine saniyeler veya dakikalar içinde geri bildirim alın. Bu,
.github/workflows/
dosyalarınız için geliştirme ve hata ayıklama sürecini önemli ölçüde hızlandırır. - Yerel Görev Çalıştırıcısı: Birçok proje, yaygın geliştirme görevlerini (derleme, test etme, linting vb.) tanımlamak için
make
,npm scripts
veya özel kabuk komut dosyaları gibi araçlar kullanır.act
, bu görevleri birleştirmenize olanak tanır. Derleme, test ve diğer süreçlerinizi GitHub Actions işleri olarak tanımlayabilir ve ardından geliştirme amaçları için bu aynı işleri yerel olarak çalıştırmak içinact
'i kullanabilirsiniz. Bu, yinelenmeyi azaltır ve yerel geliştirme ortamınız ile CI/CD boru hattınız arasında tutarlılık sağlar. Görevleri bir kez iş akışı dosyalarınızda tanımlarsınız ve her yerde aynı (veya çok benzer) şekilde çalışırlar. - Çevrimdışı Geliştirme: Sabit bir internet bağlantısı olmasa bile temel iş akışı sözdizimini ve mantığını test edin (ancak ilk görüntü indirmeleri ve belirli eylemler bağlantı gerektirebilir).
- Maliyet Tasarrufu: GitHub, genel depolar için cömert bir ücretsiz katman ve özel olanlar için makul fiyatlandırma sağlarken, geliştirme sırasında karmaşık veya uzun iş akışlarını tekrar tekrar çalıştırmak, çalıştırıcı dakikalarını tüketebilir. Yerel olarak test etmek bu kullanımı önler.
- Hata Ayıklama Gücü: GitHub'da başarısız olan Actions'ları hata ayıklamak genellikle ek günlük kaydı eklemeyi, göndermeyi ve beklemeyi içerir.
act
ile yerel ortamı inceleyebilir, birimleri bağlayabilir ve döndürdüğü Docker kapsayıcıları içinde daha gelişmiş hata ayıklama tekniklerini potansiyel olarak kullanabilirsiniz.
act
Nasıl Çalışır?
act
'in arkasındaki mekanizmayı anlamak, onu etkili bir şekilde kullanmanıza ve olası sorunları gidermenize yardımcı olur. İşte çalışmasının bir dökümü:
- İş Akışı Ayrıştırma: Deponuzun kök dizininde
act
komutunu yürüttüğünüzde, iş akışı YAML dosyalarınız için.github/workflows/
dizinini tarar. - Olay Tetikleme Simülasyonu: Varsayılan olarak,
act
birpush
olayını simüle eder, ancakpull_request
,workflow_dispatch
vb. gibi diğer olayları belirtebilirsiniz. Belirtilen olaya ve iş akışı dosyalarınızda tanımlananon:
tetikleyicilere göre hangi iş akışlarının ve işlerin çalıştırılması gerektiğini belirler. - Bağımlılık Analizi:
act
, doğru yürütme sırasını belirlemek için bir iş akışı içindeki işler arasındaki bağımlılıkları (needs:
anahtar sözcüğünü kullanarak) analiz eder. - Docker Görüntüsü Yönetimi: Her iş için,
act
belirtilen çalıştırıcı ortamını (örneğin,runs-on: ubuntu-latest
) tanımlar. Daha sonra bunu belirli bir Docker görüntüsüne eşler.act
, Docker API'sini kullanır:
- Görüntüleri Çekme: Gerekli çalıştırıcı görüntülerini ve kapsayıcı eylemleri tarafından kullanılan tüm Docker görüntülerini indirin (
uses: docker://...
). Varsayılan olarak, aksi yapılandırılmadığı sürece her çalıştırmada görüntüleri çeker. - Görüntüleri Oluşturma (Gerekirse): Bir eylem yerel bir Dockerfile'a işaret ediyorsa (
uses: ./path/to/action
),act
Docker görüntüsünü yerel olarak oluşturabilir.
- Kapsayıcı Yürütme:
act
, bir iş içindeki her adım için kapsayıcılar oluşturmak ve çalıştırmak için Docker API'sini kullanır. Bu kapsayıcıları, GitHub Actions ortamını olabildiğince yakından taklit edecek şekilde yapılandırır:
- Ortam Değişkenleri: Standart GitHub Actions ortam değişkenleri (
GITHUB_SHA
,GITHUB_REF
,GITHUB_REPOSITORY
,CI
, vb.) eklenir. - Dosya Sistemi: Depo kodu, kapsayıcının çalışma alanı dizinine (
/github/workspace
) monte edilir. Adımlar tarafından oluşturulan dosyalar, sonraki adımlar için kapsayıcı içinde kalıcı olarak saklanır. - Ağ: Kapsayıcılar tipik olarak bir Docker köprü ağında çalıştırılır ve gerekirse iletişime izin verir (ancak ağ ayrıntıları GitHub'ın ortamından farklı olabilir).
- Günlük Akışı:
act
, çalışan kapsayıcılardan gelen günlükleri doğrudan terminalinize aktarır ve yürütme ilerlemesi ve olası hatalar hakkında gerçek zamanlı geri bildirim sağlar.
Esasen, act
, GitHub Actions iş akışlarınızın yürütme akışını ve ortamını çoğaltmak için yerel Docker kapsayıcılarını düzenler.
Önkoşullar: Docker Kurulumu
act
için temel bağımlılık Docker'dır. act
, iş akışı adımlarınızı çalıştırmak için gereken yalıtılmış ortamları oluşturmak için Docker motorundan yararlanır. act
'i yüklemeden önce, sisteminizde çalışan bir Docker kurulumunuz olmalıdır.
- Docker'ı Yükleyin: İşletim sisteminiz için resmi talimatları izleyin:
- macOS: Docker Desktop for Mac
- Windows: Docker Desktop for Windows (WSL 2 veya Hyper-V gerektirir)
- Linux: Dağıtımınız için özel talimatları izleyin (örneğin, Ubuntu, Fedora, Debian, vb.).
sudo
olmadan Docker komutlarını çalıştırmak için kullanıcınızıdocker
grubuna eklediğinizden emin olun. - Docker'ı Doğrulayın: Kurulumdan sonra, terminalinizi açın ve
docker run hello-world
komutunu çalıştırın. Bu komut, küçük bir test görüntüsü indirir ve bir kapsayıcıda çalıştırır. Başarıyla çalışırsa, Docker kurulumunuz hazırdır.
act
'i Yükleme
Docker çalıştıktan sonra, act
'i yükleyebilirsiniz. İşletim sisteminize ve tercihlerinize bağlı olarak bunu yapmanın birkaç yolu vardır.
1. Homebrew (macOS ve Linux)
Homebrew paket yöneticisini kullanıyorsanız, kurulum basittir:
brew install act
Bu, en son kararlı sürümü yükler. En son geliştirme sürümünü (derleyici gerektirebilir) istiyorsanız, şunu kullanabilirsiniz:
brew install act --HEAD
2. GitHub CLI Uzantısı (macOS, Windows, Linux)
Zaten GitHub CLI'yi (gh
) kullanıyorsanız, act
'i bir uzantı olarak yükleyebilirsiniz:
gh extension install nektos/gh-act
Kurulumdan sonra, act
'i gh
komutu aracılığıyla çağırırsınız:
gh act # Sadece 'act' yerine
gh act -l
gh act pull_request
3. Chocolatey (Windows)
Windows'ta Chocolatey paket yöneticisini kullananlar için:
choco install act-cli
(Not: Bazı kaynaklar act-cli
yerine act
listeleyebilir. Sorunlarla karşılaşırsanız, Chocolatey topluluk deposundaki en son paket adını kontrol edin.)
4. Scoop (Windows)
Windows'ta Scoop paket yöneticisini kullananlar için:
scoop install act
5. WinGet (Windows)
Windows Paket Yöneticisi'ni (winget
) kullananlar için:
winget install nektos.act
6. Linux Komut Dosyası Yükleyicisi
Paket yöneticileri aracılığıyla kolay erişimi olmayan Linux dağıtımları için bir kolaylık komut dosyası mevcuttur:
curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
(Not: Komut dosyalarını doğrudan sudo
'ya yönlendirirken her zaman dikkatli olun. Güvenlik endişeleriniz varsa önce komut dosyası içeriğini inceleyin.)
7. Diğer Yöntemler (Arch, COPR, MacPorts, Nix)
pacman
(Arch), COPR (Fedora), MacPorts ve Nix gibi diğer paket yöneticileri için kurulum talimatları resmi act
belgelerinde mevcuttur:
Doğrulama:
Kurulumdan sonra, yeni bir terminal penceresi açın ve şunu çalıştırın:
act --version
# veya gh uzantısını kullanıyorsanız:
gh act --version
Bu, act
'in yüklü sürümünü yazdırmalı ve kurulumun başarılı olduğunu doğrulamalıdır.
İlk Yapılandırma: Çalıştırıcı Görüntüleri
Bir proje dizininde act
'i ilk çalıştırdığınızda, varsayılan bir çalıştırıcı görüntüsü boyutu seçmenizi isteyebilir. GitHub Actions, farklı kaynaklara ve önceden yüklenmiş yazılımlara sahip çalıştırıcılar sunar. act
, farklı temel Docker görüntüleri kullanarak bunu taklit etmeye çalışır.
Tipik olarak, bunun gibi bir seçim sunulacaktır:
? Lütfen act ile kullanmak istediğiniz varsayılan görüntüyü seçin:
- Micro: Nodejs desteği olan minimum görüntü (~200MB) docker.io/node:16-buster-slim
- Medium: Temel araçlara sahip Act görüntüsü (~500MB) ghcr.io/catthehacker/ubuntu:act-latest
- Large: Github Actions çalıştırıcı görüntüsü (~17GB) ghcr.io/catthehacker/ubuntu:full-latest
Varsayılan görüntü? [Medium]:
- Micro: Resmi Node.js slim görüntülerine (
node:16-buster-slim
veyanode:16-bullseye-slim
gibi) dayanır. Çok küçük ve indirilmesi hızlıdır, ancak yalnızca Node.js ve minimum sistem kitaplıkları içerir. Eylemleriniz yalnızca Node.js'ye ihtiyaç duyuyorsa veya tüm bağımlılıklarını kendileri yüklüyorsa uygundur. - Medium:
catthehacker
kullanıcısı tarafından sağlanır (örneğin,catthehacker/ubuntu:act-latest
,catthehacker/ubuntu:act-22.04
). Bu görüntüler, GitHub çalıştırıcılarında bulunan daha yaygın araçları içerir, ancak yine de nispeten hafiftir (yaklaşık 500MB). Bu, özellikler ve boyut arasında denge kurduğu için genellikle önerilen varsayılandır. - Large: Ayrıca
catthehacker
'dan (örneğin,catthehacker/ubuntu:full-latest
,catthehacker/ubuntu:full-22.04
). Bunlar, gerçek GitHub tarafından barındırılan çalıştırıcıların dosya sistemi dökümlerinden oluşturulur ve neredeyse tüm önceden yüklenmiş yazılımları içerir. En yüksek uyumluluğu sunarlar, ancak çok büyüktürler (genellikle >17GB), bu da uzun ilk indirme sürelerine ve önemli disk alanı kullanımına yol açar.
Öneri: Medium görüntüsüyle başlayın. İyi bir denge sağlar ve birçok yaygın kullanım durumu için çalışır. Eksik yazılımlar nedeniyle sorunlarla karşılaşırsanız, yazılımı iş akışı adımlarınız içinde yükleyebilir veya o belirli çalıştırıcı için Large görüntüsünü kullanmaya geçebilirsiniz (bununla ilgili daha fazla bilgi daha sonra).
act
, seçiminizi bir yapılandırma dosyasına (~/.actrc
) kaydeder. Bu dosyayı düzenleyerek veya yapılandırması gereken bir dizinde act
'i yeniden çalıştırarak varsayılanı daha sonra değiştirebilirsiniz.
Temel act
Kullanımı: İş Akışlarınızı Çalıştırma
Yüklendikten ve yapılandırıldıktan sonra, act
'i kullanmak nispeten basittir. Terminalinizde projenizin kök dizinine (.github
klasörünü içeren) gidin.
1. Varsayılan Olayı Çalıştır (push
)
En basit komut, varsayılan push
olayı tarafından tetiklenen iş akışlarını çalıştırır:
act
# veya
gh act
act
, iş akışlarınızı ayrıştıracak, on: push
tarafından tetiklenen işleri belirleyecek, gerekli Docker görüntülerini çekecek (henüz önbelleğe alınmadıysa) ve işleri yürütecektir.
2. Mevcut İş Akışlarını ve İşleri Listeleme
act
'in hangi iş akışlarını ve işleri tanıdığını ve varsayılan olay için çalıştıracağını görmek için:
act -l
# veya
gh act -l
Bu, şuna benzer bir liste çıkarır:
Aşama İş Kimliği İş adı İş Akışı adı İş Akışı dosyası Olaylar
0 build Derleme CI Boru Hattı ci.yaml push
1 test Test CI Boru Hattı ci.yaml push
1 lint Lint Kod Kalitesi codeql.yaml push,pull_request
3. Belirli Bir İşi Çalıştırma
Bir iş akışından yalnızca tek bir işi test etmek istiyorsanız, act -l
çıktısından sonra iş kimliğini izleyen -j
bayrağını kullanın:
act -j build
# veya
gh act -j build
4. Belirli Bir Olayı Tetikleme
İş akışları genellikle push
dışında olayları tetikler. Bu olayları, olay adını act
'e bir argüman olarak sağlayarak simüle edebilirsiniz:
# Bir çekme isteği olayını simüle et
act pull_request
# Bir workflow_dispatch olayını (manuel tetikleyici) simüle et
act workflow_dispatch
# Bir zamanlama olayını simüle et
act schedule
# Bir yayın olayını simüle et
act release -e event.json # Gerekirse olay yükü ayrıntılarını sağlayın
act
, yalnızca belirtilen on:
olayını çalıştırmak üzere yapılandırılmış iş akışlarını ve işleri yürütecektir.
5. workflow_dispatch
için Girişleri Geçme
workflow_dispatch
tarafından tetiklenen iş akışları, girişleri kabul edebilir. Bunları --input
bayrağını veya -i
'yi kullanarak sağlayabilirsiniz:
# İş akışınızın 'environment' adında bir girişi olduğunu varsayarsak
act workflow_dispatch --input environment=staging
6. Sırları İşleme
GitHub Actions iş akışları genellikle sırlar (API anahtarları veya belirteçler gibi) kullanır. act
, GitHub sırlarını otomatik olarak erişmez. Bunları yerel olarak sağlamanız gerekir.
- Etkileşimli İstemi:
-s
bayrağını kullanın.act
, iş akışınızda tanımlanan her sır için değeri girmenizi ister:
act -s MY_SECRET_TOKEN -s ANOTHER_SECRET
Alternatif olarak, sadece act -s
tüm sırları ister.
- Ortam Değişkenleri: Sırlar genellikle
SECRET_
önekiyle ortam değişkenleri olarak geçirilir. Bunlarıact
'i çalıştırmadan önce kabuğunuzda tanımlayabilirsiniz:
export SECRET_MY_SECRET_TOKEN="your_value"
act
- Sırlar Dosyası:
KEY=VALUE
çiftleriyle bir dosya (örneğin,.secrets
) oluşturun:
MY_SECRET_TOKEN=your_value
ANOTHER_SECRET=another_value
Ardından, --secret-file
bayrağıyla act
'i çalıştırın:
act --secret-file .secrets
(Sırları kaydetmekten kaçınmak için bu dosyanın .gitignore
'unuza eklendiğinden emin olun!)
7. Değişkenleri ve Ortam Değişkenlerini İşleme
- İş Akışı Değişkenleri: İş akışı düzeyinde tanımlanan değişkenler (
vars:
bağlamı, ancakact
'te tamvars
bağlamı desteği sınırlı olabilir) için--var
bayrağını veya--var-file
'ı, sırlara benzer şekilde sağlayabilirsiniz. - Ortam Değişkenleri: İş akışı çalıştırması için özel ortam değişkenleri ayarlamak için
--env
bayrağını veya bir--env-file
'ı kullanın.
act --env NODE_ENV=development --env CUSTOM_FLAG=true
act --env-file .env_vars
Çalıştırıcı Ortamlarını ve Görüntülerini Yönetme
Varsayılan çalıştırıcı görüntüleri (Micro, Medium, Large) birçok senaryoyu kapsarken, genellikle daha fazla kontrole ihtiyacınız olur.
1. Varsayılan Görüntülerin Sınırlamaları
Varsayılan act
çalıştırıcı görüntülerinin (özellikle Micro ve Medium), GitHub tarafından sağlanan ortamlara aynı olmadığını unutmayın. İş akışınızın beklediği belirli araçlardan, kitaplıklardan veya sistem hizmetlerinden (systemd
gibi) yoksun olabilirler. Large görüntüleri daha yüksek doğruluk sunar, ancak önemli boyut dezavantajıyla birlikte gelir.
2. -P
ile Alternatif Görüntüleri Belirtme
Bir iş, varsayılan görüntüde bulunmayan belirli bir ortam veya araç takımı gerektiriyorsa, act
'e -P
(platform) bayrağını kullanarak belirli bir platform için farklı bir Docker görüntüsü kullanmasını söyleyebilirsiniz.
Biçim -P <platform>=<docker-image>
'dir.
<platform>
: İş akışınızınruns-on:
yönergesinde kullanılan etiket (örneğin,ubuntu-latest
,ubuntu-22.04
,ubuntu-20.04
).<docker-image>
: Kullanılacak Docker görüntüsünün tam adı (örneğin,node:18
,python:3.10-slim
,mcr.microsoft.com/devcontainers/base:ubuntu
).
Örnekler:
# ubuntu-22.04'te çalışan işler için özel olarak Large görüntüsünü kullanın
act -P ubuntu-22.04=ghcr.io/catthehacker/ubuntu:full-22.04
# ubuntu-latest işleri için belirli bir Node.js sürümünü kullanın
act -P ubuntu-latest=node:18-bullseye
# nektos/act-environments'tan daha eksiksiz bir görüntü kullanın (çok büyük!)
# UYARI: nektos/act-environments-ubuntu:18.04 >18GB
act -P ubuntu-18.04=nektos/act-environments-ubuntu:18.04
# İş akışınız kullanıyorsa birden çok platform belirtin
act -P ubuntu-20.04=node:16-buster -P ubuntu-22.04=node:18-bullseye
3. Yerel Çalıştırıcı Görüntülerini Kullanma (--pull=false
)
Varsayılan olarak, act
, belirtilen Docker görüntüsünün en son sürümünü her çalıştırmasında çekmeye çalışır. Yerel olarak özel bir çalıştırıcı görüntüsü oluşturduysanız veya önbelleğe aldığınız tam sürümü kullandığınızdan emin olmak istiyorsanız, bu davranışı devre dışı bırakabilirsiniz:
act --pull=false
# veya potansiyel olarak çevrimdışı modu kullanın
act --action-offline-mode
Bu, act
'e mevcutsa yerel olarak kullanılabilir görüntüyü kullanmasını ve yalnızca eksikse çekmeyi denemesini söyler.
4. Ana Bilgisayarda Yerel Olarak Çalıştırma (-self-hosted
)
macOS veya Windows'u hedefleyen iş akışları için (runs-on: macos-latest
veya runs-on: windows-latest
), act
'i aynı ana bilgisayar işletim sisteminde çalıştırıyorsanız, act
'e çalıştırıcının kendisi için bir Docker kapsayıcısı kullanmamasını söyleyebilirsiniz. Bunun yerine, adımları doğrudan ana makinenizde yürütecektir. Bu, Docker uyumluluğu bir sorunsa veya ana bilgisayar kaynaklarına doğrudan erişmeniz gerekiyorsa faydalı olabilir.
# macos-latest işlerini doğrudan Mac ana bilgisayarınızda çalıştırın
act -P macos-latest=-self-hosted
# windows-latest işlerini doğrudan Windows ana bilgisayarınızda çalıştırın
act -P windows-latest=-self-hosted
Dikkat: Doğrudan ana bilgisayarda çalıştırmak, Docker tarafından sağlanan yalıtımı atlar. İş akışı adımları, dosya sisteminize erişebilecek ve potansiyel olarak ana bilgisayar ortamınızı değiştirebilecektir. Bu seçeneği dikkatli kullanın. Hizmet kapsayıcıları veya kapsayıcı eylemleri gibi Docker kapsayıcılarını açıkça kullanan iş içindeki adımlar yine de Docker'ı kullanacaktır.
Sınırlamalar ve Hususlar
act
inanılmaz derecede faydalı olsa da, sınırlamalarının farkında olmak önemlidir:
- Mükemmel Bir Kopyası Değil:
act
, GitHub Actions ortamını simüle eder ancak aynı değildir. Ağ oluşturma, mevcut sistem hizmetleri (örneğin, Docker kapsayıcılarında kolaycasystemd
yok), belirli donanım kaynakları ve önceden yüklenmiş araçların tam kümesi (çok büyük çalıştırıcı görüntüleri kullanılmadığı sürece) arasında farklılıklar vardır. Bazı iş akışları, özellikle temel işletim sistemi veya belirli GitHub özellikleriyle yoğun bir şekilde etkileşimde bulunan karmaşık olanlar,act
'te GitHub'da olduğundan farklı davranabilir. - Bağlam Farklılıkları:
github
bağlamının bazı kısımları eksik olabilir veya yerel olarak çalıştırıldığında varsayılan/sahte değerler içerebilir.secrets
bağlamı her zaman açık giriş gerektirir.vars
bağlamı desteği de canlı GitHub ortamına kıyasla sınırlamalara sahip olabilir. - Eşzamanlılık:
act
tipik olarak işlerineeds
bağımlılıklarına göre sırayla çalıştırır. GitHub'ın bağımsız işleri birden çok çalıştırıcıda matris stratejileri kullanarak eşzamanlı olarak çalıştırma yeteneğini tam olarak çoğaltmaz (act
matris işlerini çalıştırmayı desteklese de, bunlar genellikle yerel olarak sırayla çalışır). - Barındırılan Hizmetler: Önbelleğe alma (
actions/cache
) gibi özellikler farklı çalışabilir veya GitHub'ın entegre önbelleğe alma hizmetine kıyasla yerel olarak belirli bir yapılandırma gerektirebilir. İş akışlarında tanımlanan hizmet kapsayıcıları çalışmalıdır, çünküact
bunları da kullanır. - Platform Kullanılabilirliği: Yalnızca Docker destekli herhangi bir ana bilgisayarda (Mac, Windows, Linux) Docker içinde Linux tabanlı işleri çalıştırabilirsiniz.
macos-latest
işlerini çalıştırmak için ideal olarak macOS'taact
'e ihtiyacınız vardır (veya macOS'ta-self-hosted
bayrağını kullanın). Benzer şekilde,windows-latest
işleri tipik olarak Windows'taact
gerektirir (veya Windows'ta-self-hosted
). Docker, Windows kapsayıcılarını Windows'ta çalıştırabilse de,act
'in birincil odağı ve en istikrarlı desteği Linux kapsayıcıları etrafında döner.
Öneri: Hızlı geliştirme, sözdizimi kontrolü, temel mantık testi ve tek tek işler veya adımlar üzerinde yineleme için act
'i kullanın. Özellikle dağıtım boru hatları için, kritik değişiklikleri birleştirmeden önce iş akışlarınızı her zaman GitHub'da çalıştırarak son doğrulama gerçekleştirin. Ayrıntılı destek matrisi ve bilinen sorunlar için resmi act
belgelerine bakın.
Sonuç
GitHub Actions'ı yerel olarak test etmek, potansiyel olarak yavaş ve sıkıcı hata ayıklama döngüsünü hızlı, yinelemeli bir sürece dönüştürerek önemli bir üretkenlik artırıcıdır. act
CLI aracı, yerel makinenizde GitHub Actions çalıştırıcı ortamını simüle etmek için Docker'dan yararlanarak bunu başarmak için sağlam ve esnek bir yol sağlar.
act
'i iş akışınıza entegre ederek şunları elde edersiniz:
- Daha hızlı geri bildirim döngüleri.
- Test için GitHub'a göndermeye olan bağımlılığın azaltılması.
- Actions tanımlarınızı yerel bir görev çalıştırıcısı olarak kullanma yeteneği.
- Geliştirilmiş hata ayıklama yetenekleri.
Sınırlamaları olsa ve canlı GitHub ortamının mükemmel bir 1:1 değişimi olmasa da, act
çok çeşitli kullanım durumlarını kapsar ve güvenilir ve etkili GitHub Actions iş akışları geliştirme ile ilgili sürtünmeyi önemli ölçüde azaltır. Kurun, mevcut iş akışlarınızı yerel olarak çalıştırmayı deneyin ve yerel olarak hareket ederken küresel düşünmenin faydalarını deneyimleyin.
Geliştirici Ekibinizin maksimum verimlilikle birlikte çalışması için entegre, Hepsi Bir Arada bir platform mu istiyorsunuz?
Apidog tüm taleplerinizi karşılıyor ve Postman'in yerini çok daha uygun bir fiyata alıyor!
