2015-07-11 15 views
9

Mam projekt Github, który używa Travis do ciągłej integracji. Chciałbym wdrożyć mój projekt na Amazon ec2. Aby uprościć wdrażanie, chciałbym, aby wdrożony system miał taką samą konfigurację jak system testowy. czy to możliwe?Łączenie Travis i ec2

AFAICT, wymaga to dwóch rzeczy: Po pierwsze, wstępnie skonfigurowana instancja ec2, która pasuje do ustawień używanych przez Travis. Czy istnieje? A po drugie, sposób wykonywania skryptów travis.yml z wiersza poleceń. Jak mogę to zrobić?

Odpowiedz

4

chodzi o wykonywanie .travis.yml skryptów z linii poleceń, gdybym był tobą chciałbym zamiast wziąć to na odwrót i zastąpić skrypt .travis.yml z mniej więcej tak:

language: bleh 

etc etc... 

install: 
    - ./travis-scripts/install.sh 

before_script: 
    - ./travis-scripts/before_script.sh 

script: 
    - ./travis-scripts/script.sh 

oczywiście, będzie nadal Muszę napisać skrypt do instalowania dowolnych wersji językowych, wtyczek Travis itp. na twojej instancji Amazon EC2.

Jeśli chodzi o instancję Amazon EC2, która pasuje do maszyn Travis VM, nie wiem o tym, ponieważ nie jestem zaznajomiony z Amazon AWS, ale mogę powiedzieć, że Travis VM są oparte na Ubuntu 12.04, a tam jest o wiele więcej szczegółowych informacji na stronie o The Build Environment.

0

Chcesz coś na instancji EC2, która może odczytać plik .travis.yml i skonfigurować go w taki sam sposób, jak robi to travis?

Myślę, że to dość długi strzał dla stosunkowo prostego problemu, jak ten. Travis to platforma do integracji i testowania, która wykorzystuje wiele innych systemów (takich jak szef kuchni i doker), aby zrobić to, co robi z plikami .yml. Używanie tego systemu do uruchamiania pojedynczej aplikacji brzmi trochę przesadnie.

Polecam używanie szefa kuchni (lub podobnego rodzaju marionetki) do skonfigurowania środowiska produkcyjnego i wdrożenia aplikacji.

Możesz mieć jeden przepis na szefa kuchni, który konfiguruje środowisko produkcyjne (bazy danych, pliki konfiguracyjne, instaluj rzeczy itp.) I inny, który wdraża, konfiguruje i uruchamia twoją aplikację. Aby wprowadzić zmiany w środowisku produkcyjnym, należy wprowadzić zmiany w tych plikach. Można je łatwo połączyć z projektem.