-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
71 lines (63 loc) · 2.21 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
64
65
66
67
68
69
70
71
language: java
jdk:
- openjdk11
branches:
only:
- main
#빌드 전 권한 추가
before_install:
- chmod +x gradlew
- npm cache clean -f
- curl -s https://deb.nodesource.com/setup_16.x | sudo bash
- sudo apt-get -y install nodejs
- npm install -g nvm
- nvm install 16
- nvm use 16
- npm install -g [email protected]
- node --version
- npm --version
#Travis Ci 서버의 Home
cache:
directories:
- '$HOME/.m2/repository'
- '$HOME/.gradle'
script: "./gradlew clean build"
before_deploy:
- mkdir -p before-deploy # zip에 포함시킬 파일들을 담을 디렉토리 생성
- cp scripts/*.sh before-deploy/
- cp appspec.yml before-deploy/
- cp build/libs/*SNAPSHOT.jar before-deploy/
- cd before-deploy && zip -r before-deploy * # before-deploy로 이동 후 전체 압축
- cd ../ && mkdir -p deploy # 상위 디렉토리로 이동 후 deploy 디렉토리 생성
- mv before-deploy/before-deploy.zip deploy/facealbum-springboot-server.zip # deploy로 zip파일 이동
deploy:
- provider: s3
access_key_id: $AWS_ACCESS_KEY # Travis repo settings에 설정된 값
secret_access_key: $AWS_SECRET_KEY # Travis repo settings에 설정된 값
bucket: static-build-bucket # S3 버킷
region: ap-northeast-2
skip_cleanup: true
acl: private # zip 파일 접근을 private으로
local_dir: deploy # before_deploy에서 생성한 디렉토리
wait-until-deployed: true
on:
all_branches: true
- provider: codedeploy
access_key_id: $AWS_ACCESS_KEY # Travis repo settings에 설정된 값
secret_access_key: $AWS_SECRET_KEY # Travis repo settings에 설정된 값
bucket: static-build-bucket # S3 버킷
key: facealbum-springboot-server.zip # 빌드 파일을 압축해서 전달
bundle_type: zip
application: facealbum-springboot-server # 웹 콘솔에서 등록한 CodeDeploy 어플리케이션
deployment_group: facealbum-springboot-server-group # 웹 콘솔에서 등록한 CodeDeploy 배포 그룹
region: ap-northeast-2
wait-until-deployed: true
on:
all_branches: true
#CI 실행 완료 시 메일로 알람
notifications:
email:
recipients: