-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
60 lines (57 loc) · 2.04 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
sudo: enabled
services: docker
dist: trusty
language: python
os:
- linux
python:
- "3.6"
before_install:
- echo $GOOGLE_PACKER_CREDENTIALS > $TRAVIS_BUILD_DIR/demo-infra.json
- export GOOGLE_APPLICATION_CREDENTIALS=$TRAVIS_BUILD_DIR/demo-infra.json
- sudo apt-get update && sudo apt-get install -y curl
- sudo curl -L https://dl.google.com/cloudagents/install-monitoring-agent.sh -o /usr/local/bin/install-monitoring-agent.sh
- sudo chmod +x /usr/local/bin/install-monitoring-agent.sh
- mkdir bin && cd bin
- curl -L -o packer_1.5.1_linux_amd64.zip https://releases.hashicorp.com/packer/1.5.1/packer_1.5.1_linux_amd64.zip
- sudo unzip packer_1.5.1_linux_amd64.zip
- sudo mv packer /usr/local/bin/
- rm packer_1.5.1_linux_amd64.zip
- curl -L -o terraform_0.12.26_linux_amd64.zip https://releases.hashicorp.com/terraform/0.12.26/terraform_0.12.26_linux_amd64.zip
- sudo unzip terraform_0.12.26_linux_amd64.zip
- sudo mv terraform /usr/local/bin
- rm -fv terraform_0.12.26_linux_amd64.zip
- cd ..
install:
- sudo apt-get update
- sudo apt-get install -y python-pip libssl-dev
- pip install --upgrade pip setuptools wheel PyYAML six urllib3 chardet requests colorama
- pip install ansible
jobs:
include:
- stage: "API Tests"
name: "PyTest Tests"
script:
- make tests-app
- stage: "Build Container Image on Staging"
name: "Build and Push Docker Image"
script:
- cd src
- export HASH=`date +%d%m%Y%H%M%S`
- echo "$DOCKER_TOKEN" | docker login --username "$DOCKER_USERNAME" --password-stdin
- docker build -t perylemke/apery:$HASH .
- docker tag perylemke/apery:$HASH perylemke/apery
- docker push perylemke/apery:$HASH
- docker push perylemke/apery
if: branch = master
- stage: "Build VM image"
name: "Build VM image with Packer"
script:
- make build
if: branch = master
- stage: "Deploy"
name: "Deploy with Terraform"
script:
- make init
- make deploy
if: branch = master