Service Containers
1) Service Container Nedir?
Uses Cases
name: Redis Cache Test
on:
push:
branches: [ "main" ]
jobs:
cache-tests:
runs-on: ubuntu-latest
services:
redis:
image: redis:6-alpine # 1) "redis:6-alpine" imajını kullan
ports:
- 6379:6379 # 2) "6379" portunu job’a aç
options: >-
--health-cmd "redis-cli ping || exit 1"
--health-interval 5s
--health-retries 5
--health-timeout 3s
# 3) Bu "options" satırı, container hazır olana kadar (sağlıklı) bekler.
# "redis" adında bir hostname ile job içindeki adımlar erişebilir.
steps:
- name: Check out repo
uses: actions/checkout@v4
# 4) Kodlarımızı çekiyoruz (örneğin test dosyalarımız vs.)
- name: Install dependencies
run: |
npm install
# 5) Node.js projesi ise bağımlılıkları yüklüyoruz
- name: Run tests (with Redis)
run: |
# 6) Testlerimiz "redis" konteynerine bağlanacak.
# Varsayılan network modunda "redis" hostname:port (6379) üzerinden erişilebilir.
npm run test
env:
REDIS_HOST: redis
REDIS_PORT: 6379
# 7) Testlerimize redis bağlantı bilgilerini veriyoruz (hostname: "redis")
- name: Show Redis Info
run: |
# 8) Örnek: "redis-cli -h redis info" komutuyla Redis’e bağlanıp bilgi alıyoruz.
redis-cli -h redis info
Use Case Açıklaması
Uses Case 2
2) Nasıl Çalışır?
3) Neden Kullanmalı?
4) Dikkat Noktaları
Özet
Last updated