2013-04-10 6 views
11

Ho un'applicazione web http://codefu-5euzxjdg6b.elasticbeanstalk.com/codeKungfu.jsp attualmente ospitata su Amazon Elastic Beanstalk con un backend Java.Travis CI con Amazon Elastic Beanstalk

Il processo di flusso che ho in mente è questa:

  • impegnarsi a GitHub repo
  • Travis CI viene attivato. Esegui i test unitari.
  • Tutti i test passano. Distribuire su Amazon beanstalk elastico.

Attualmente, sono bloccato al passaggio 3, dove sto tentando di collegare Travis CI con Amazon beanstalk elastico.

Ho cercato informazioni online per quanto riguarda questo, ma non sono riuscito a trovare nulla che sembra essere utile. La migliore fonte di informazioni che ho ottenuto è stato: https://superuser.com/questions/510593/elastic-beanstalk-rails-application-with-git-source-and-deploy-hooks

capisco che Travis C'è in grado di distribuire a Google App Engine direttamente, e quindi credo che ci dovrebbe essere una soluzione per Amazon Elastic Beanstalk pure.

Qualcuno potrebbe gentilmente indicarmi risorse che potrebbero potenzialmente aiutarmi a risolvere questo problema?

Grazie!

risposta

2

Hai finito per fare progressi in questo? Penso che dovrebbe essere possibile con le variabili crittografate di Travis per memorizzare una chiave o le tue credenziali AWS. Quindi puoi utilizzare queste credenziali con l'API AWS per eseguire la distribuzione dalla sezione .travis.yml dopo_script.

23

A partire dal 9 dicembre 2014, la distribuzione Elastic Beanstalk non è coperto di Travis CI documentazione relativa alla distribuzione: http://docs.travis-ci.com/user/deployment/

Tuttavia, Travis CI ha open source il loro strumento di distribuzione: DPL e la distribuzione Elastic Beanstalk è uno sviluppo continuo : https://github.com/travis-ci/dpl

È preferibile fare riferimento alla fonte stessa per capire come eseguire la distribuzione.

Allo stato attuale, Ecco un esempio di lavoro delle mie impostazioni di distribuzione in .travis.yml:

deploy: 
    provider: elasticbeanstalk 
    access_key_id: <AWS Access Key> 
    secret_access_key: 
    secure: <secure secret access key> 
    region: <region, eg. ap-southeast-1> 
    app: <app name> 
    env: <environment name> 
    bucket_name: <S3 bucket name that is used by elastic beanstalk> 
    on: 
    repo: <repo name> 
    branch: develop 
+0

Grazie per questa risposta, questo deve assolutamente essere la risposta accettata. Basta impostare questa cosa esatta e funziona come un fascino. Grazie @Jon – David

+0

Ehi! Come hai cifrato il 'secret_access_key'? Perché di solito è necessario fornire una coppia chiave/valore quando si criptano cose su Travis. Cosa hai inserito come chiave di crittografia quando hai generato il valore "sicuro" per la chiave di accesso segreto AWS? –

+0

È possibile fare riferimento alla documentazione qui: http://docs.travis-ci.com/user/encryption-keys/ – Jon