Şu anda Jenkins temsilcilerimiz, Rails projelerimizin her biri
için bir docker-compose.yml oluşturuyor ve ardından docker-compose
çalıştırıyor. Docker-compose.yml, rbenv'ye ve içindeki diğer Rails
bağımlılıklarına sahip ana bir "web" kabına sahiptir. Postgres DB
testini içeren bir DB konteynerine bağlanır.
Sorun, testleri gerçekten çalıştırmamız ve çıkış kodları
oluşturmamız gerektiğinde ortaya çıkar. CI sunucumuz yalnızca test
komut dosyası exit 0 döndürürse dağıtılır, ancak docker-compose,
konteyner komutlarından biri başarısız olsa bile her zaman 0
döndürür.
Diğer bir konu da, DB konteynerinin süresiz olarak çalışmasıdır,
hatta web konteyner testleri yapıldıktan sonra bile,
docker-compose up asla geri dönmez.
Bu işlem için liman oluşturucuyu kullanabileceğimiz bir yol var
mı? Kapları çalıştırabilmemiz gerekir, ancak web kabı
tamamlandıktan sonra çıkın ve çıkış kodunu döndürün. Şu anda DB
konteynırını döndürmek ve web konteynırını --link seçeneğiyle
çalıştırmak için docker'ı manuel olarak kullanıyoruz.