4 Star 7 Fork 0

Gitee 极速下载/gitlab-ci

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/gitlabhq/gitlab-ci
克隆/下载
test-and-deploy-python-application-to-heroku.md 2.76 KB
一键复制 编辑 原始数据 按行查看 历史
Kamil Trzcinski 提交于 10年前 . Final touches

Test and Deploy a python application

This example will guide you how to run tests in your Python application and deploy it automatically as Heroku application.

You can checkout the example source and check CI status.

Configure project

This is what the .gitlab-ci.yml file looks like for this project:

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

This project has three jobs:

  1. test - used to test rails application,
  2. staging - used to automatically deploy staging environment every push to master branch
  3. production - used to automatically deploy production environmnet for every created tag

Store API keys

You'll need to create two variables in Project > Variables:

  1. HEROKU_STAGING_API_KEY - Heroku API key used to deploy staging app,
  2. HEROKU_PRODUCTION_API_KEY - Heroku API key used to deploy production app.

Find your Heroku API key in Manage Account.

Create Heroku application

For each of your environments, you'll need to create a new Heroku application. You can do this through the Dashboard.

Create runner

First install Docker Engine. To build this project you also need to have GitLab Runner. You can use public runners available on ci.gitlab.com, but you can register your own:

gitlab-ci-multi-runner register \
  --non-interactive \
  --url "https://ci.gitlab.com/" \
  --registration-token "PROJECT_REGISTRATION_TOKEN" \
  --description "python-3.2" \
  --executor "docker" \
  --docker-image python:3.2 \
  --docker-postgres latest

With the command above, you create a runner that uses python:3.2 image and uses postgres database.

To access PostgreSQL database you need to connect to host: postgres as user postgres without password.

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mirrors/gitlab-ci.git
git@gitee.com:mirrors/gitlab-ci.git
mirrors
gitlab-ci
gitlab-ci
master

搜索帮助