not - Cómo desplegar a Heroku directamente desde mi repositorio Gitlab
heroku login (2)
En mi equipo, usamos Gitlab un repositorio remoto, por lo que estamos encontrando una solución para el despliegue automático de las aplicaciones a Heroku directamente. Encontramos Codeship para aplicaciones de despliegue automático en Heroku desde Github.
¿Algun consejo? ¿Trucos?
Si no está preparado para usar Ruby / dpl, puede implementarlo en Heroku de la siguiente manera:
Busque su clave API Heroku (configuración de cuenta -> clave API en la consola web de Heroku) y haga que esté disponible como una variable secreta de Gitlab, por ejemplo, HEROKU_API_KEY (tenga en cuenta que los valores no son los mismos que lo que heroku auth: token devuelve ...)
Luego agregue dos líneas de script en su archivo de configuración .gitlab-ci.yml en el trabajo relevante:
git remote add heroku https://heroku:[email protected]/<name of your heroku app>.git
git push -f heroku master
Puede ver una explicación detallada en http://blog.thecodewhisperer.com/permalink/deploying-jekyll-to-heroku-using-gitlab-ci
Here está la solución que encontré, reiterando en caso de que el enlace esté roto:
Configurar proyecto
Este es el aspecto del archivo .gitlab-ci.yml para este proyecto:
test:
script:
# this configures Django application to use attached postgres database that is run on `postgres` host
- export DATABASE_URL=postgres://postgres:@postgres:5432/python-test-app
- apt-get update -qy
- apt-get install -y python-dev python-pip
- pip install -r requirements.txt
- python manage.py test
staging:
type: deploy
script:
- apt-get update -qy
- apt-get install -y ruby-dev
- gem install dpl
- dpl --provider=heroku --app=gitlab-ci-python-test-staging --api-key=$HEROKU_STAGING_API_KEY
only:
- master
production:
type: deploy
script:
- apt-get update -qy
- apt-get install -y ruby-dev
- gem install dpl
- dpl --provider=heroku --app=gitlab-ci-python-test-prod --api-key=$HEROKU_PRODUCTION_API_KEY
only:
- tags
Este proyecto tiene tres trabajos:
prueba - usada para probar la aplicación Django,
almacenamiento: se utiliza para implementar automáticamente el entorno de almacenamiento en cada derivación a la rama maestra
producción: se utiliza para implementar automáticamente entornos de producción para cada etiqueta creada
Almacenar claves API
Tendrá que crear dos variables en Proyecto> Variables:
HEROKU_STAGING_API_KEY - Heroku API key used to deploy staging app,
HEROKU_PRODUCTION_API_KEY - Heroku API key used to deploy production app.