forked from LuisFros/public-travis-builder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
63 lines (54 loc) · 1.91 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
61
62
63
#Deploy script for Foku-api
language: ruby
cache: bundler
rvm:
- 2.5.8
gemfile: backend/Gemfile
env:
- AWS_USER_ID="564835583352" AWS_ECR_API="564835583352.dkr.ecr.us-east-1.amazonaws.com/backend_web" AWS_REGION="us-east-1" REFERENCE="https://github.com/travis-ci/cat-party/blob/master/.travis.yml"
services:
- docker
- postgresql
branches:
only:
- master
install:
- bundle install --jobs=3 --retry=3
before_script:
- psql -c 'create database myapp_test;' -U postgres
script:
# - bundle exec rake db:migrate RAILS_ENV=test
# - bundle exec rspec
- zip -r latest *
- mkdir -p deploy_folder
- mv latest.zip deploy_folder/latest.zip
#This script will upload the built containers to ECR to be deployed on a single EC2 instance with docker
#Give everything to ECR
before_deploy:
- docker --version # document the version travis is using
- pip install --user awscli # install aws cli w/o sudo
- export PATH=$PATH:$HOME/.local/bin # put aws in the path
- eval $(aws ecr get-login --region us-east-1 --no-include-email) #needs AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY envvars
- docker build -t backend_web backend/
- docker tag backend_web:latest $AWS_ECR_API:latest
- docker push $AWS_ECR_API:latest
- docker images
deploy:
- provider: s3 #To upload the code to s3
access_key_id: $AWS_ACCESS_KEY_ID
secret_access_key: $AWS_SECRET_ACCESS_KEY
local_dir: deploy_folder #from where
bucket: "grupo19-code" #target bucket to use
skip_cleanup: true
- provider: codedeploy #Uploading to target group
access_key_id: $AWS_ACCESS_KEY_ID
secret_access_key: $AWS_SECRET_ACCESS_KEY
bucket: "grupo19-code" #target bucket to use, definaed before
key: latest.zip #Source code, you can use any name but must be consistent
bundle_type: zip
application: finalApp
deployment_group: finalDeploymentGroup
region: $AWS_REGION
wait_until_deployed: true #wise thing to do
on:
branch: master