This commit is contained in:
Jose Armesto 2017-04-20 09:09:46 +00:00 committed by GitHub
commit e822bcfa3c
14 changed files with 158 additions and 3 deletions

View file

@ -1,2 +1,23 @@
language: java language: java
jdk: oraclejdk8 jdk:
- oraclejdk8
services:
- docker
cache:
directories:
- $HOME/.m2
addons:
apt:
packages:
- oracle-java8-installer
- oracle-java8-set-default
script:
- ./mvnw package
- ./deploy/deploy.sh
env:
global:
- secure: "Oszmm0i+3HexfkeRkDMcfVilrXzFAYSdReJ+LoMo8qEXhAHL2UxMLGSU1JMVMKQzShm4rvu2/BB0RyQtc/YgzEOatvpuatTy7ucOlECcZA3/4DEnM0LDSZuadfc0RWVshF0H0w/1spTlN4Z4199BHoeI9/1EbMCjNdz+8UkCONb0RoHaokb/Ev5pgjw6kf/kWuu9yhdbij4tJ14S1A7ptgnHAQ4oMiME2hp/8JRFmZZ37n71mo26O0ChvYNwMmYdlU6kMw5wZMFfTNXVqKjKb9P7Xjw3iW+f4adftAGUNfnPqb4VipMltJptx/pbVujkKDqI0Ir3HYwhefj5mlogmh8u1I3N6/FDH2B35L9TSeihFz0gh5lNcxH0ETnnrCQFbYGDUnS6vLPLBo4/cVD+ijEfrTY6MKGbYerILbYUgykGYyWMikVw6Po0qtMe8trZLv+sdRlCFyjDD0+gmE54kZHG7W8ERs1RoDC0slNI3R+7yooSctfvRxyBwpzcUCTruWv52gmpgpBQhd2kTNsHfM34ntQqrpmWnPHBHp8pwc5j4Bv3rr4n3TU0hD5BnYJF2vPjbjFl0lifmifY1APx6ogQyj0pgBpbQ0GQ8Aov1szC5qgLn2cJmtuUYoc/cHIb2bZtIvxyM7l/mWPQ0/BpiHJCRjK8YdoQsvYZE3h/0Co=" # VAULT_PASSWORD
- secure: "jxB/XNcDvTT7NqR8ocgQsNK73zbHsaDZDJ6arG+Bx1aO8te1BpketocixdvjUwnjptbN7dBTTB6CqkeJzRCLnwxyhQdJ2OiskRmlyvXZ4twqCYMjEibJo5LPfzZFSbPIsSR10gO1FWyQly7hKRhq2ZSVLMW1uREvdkBz/WV0nKEJ5D3MBDuW9YiDmAzQRTEYJ4D5D4gKbWAVF9Xuueq2T6TxWI94GUYWKFBnrbS5PF7kw+WvEb0cj5C4nC7a9QNsXKxp03xHiGRzmcerZAHyPlxTHnJNdplos25Rno7+nLmLosczM/QZTq4O+6ARxRyQQwvCy225nLNK5nUL3eCtlNbWP7rpUwHT2VsiCBcWcN7c9xphYaWbXL6BlU4M8QMbOOfeOAsoMDfRuBarQCX0DwkJBdOYb+h9pafjmuOCQmVpsfoRG9OxIco80wgloP03cYxFeF8XxpM3KlI4SUbLcFT5+HHCvpWd+xxPRfmbZnIQfls8c3d8Q2TJiT65BbQf/JKSiwtw9PHKk35dGZeB1KJ4G//f+HdQAv5KecqaeoyyLXre7ocb3hHbMbnshdBKs8pE73SWAKuqv6DInQ9cbvAM0M2wc4LIfYdUbTr3NZ9+TbzzRgPPlOxwkcI/vfpxNLN47B8vXVhQrECIBuNO6cAtbvYV18NDVDIpYPnFmpU=" # AWS_ACCESS_KEY_ID
- secure: "D1DeyOqH22gj0HuW527bXMRv9MCm+WM5Q+slOXElp8XTlqtGiNQ3Ag2ZAP7dAeEa2GsmsYfraJ52nTDJR4usjsunIuzIa5vVLZwwlk3Tg8gW3zlkS73kPIkUL8jFzaWoggz+yZbXeqW0n6FVXjhLZnW5b6UZQ0bNFtlMDUPAJ8w3MvUD9Eb4WrK1TBPPUvGnVUa9qPSgMgvwKD7YSBMxpWlU96z6mTZem7dnGGntmrX2RYqa76R6kZ1AUenFLW7I0oJmoxOCh/5f5a8kXegpBv6wo+z6/Ae71penjim4FfpAgfdZ72jkAftaalvP8k50prQpwiy95YKsuqzXgYCkSRHAfSoH70yxP6bmAIOTDoCv/gwE7M/clMO28I/XDIIKSl4av5tbWifKOdMHuMV5Ipu1JFuVXwD4wHYxettH43AzOLGSTxL7TL3SW2AeRyY1cj5T4MszrQPMcg1SfSjvDlhtq2yS/AeTBrn9cahcXX77xAgezJYH5eYoVXubIDLFqvBb9yYDmBV1e7BvZe02m5ide4BM/WwWsuxt9zclJXG447/V0UKKs9AUWXlyFKZPYlVcT7sHZtFePTyH/pGzGoV3gdq6NhJtLi17rQNMwueVmSyCXdstlMiye76uVszT2itiQwdoPVYKumbYxkt/GyHCfEUnJmQS79+XUaBiug4=" # AWS_SECRET_ACCESS_KEY

5
Dockerfile Normal file
View file

@ -0,0 +1,5 @@
FROM openjdk:8-jdk-alpine
COPY target/*.jar /opt/app.jar
WORKDIR /opt
CMD ["java", "-jar", "app.jar"]

17
deploy/deploy.sh Executable file
View file

@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -v
VAULT_FILE="/tmp/vault"
DEPLOYMENT_ENVIRONMENT=${$1:=develop}
# Only execute deployment if $TRAVIS is null (we are not on CI) or we are on CI merging to master and the build has ended successfully
if [[ -z "${TRAVIS}" ]] || [[ "${TRAVIS_PULL_REQUEST}" == "false" && "${TRAVIS_TEST_RESULT}" == 0 && "${TRAVIS_BRANCH}" == 'master' ]]; then
echo "${VAULT_PASSWORD}" > "${VAULT_FILE}"
virtualenv .
. bin/activate
pip install -r deploy/requirements.txt
printf '[defaults]\nroles_path=../' >ansible.cfg
ansible-galaxy install -p ../ -r deploy/requirements.yml
ansible-playbook deploy/deploy.yml -vvvv --vault-password-file="${VAULT_FILE}" --extra-vars "wimpy_release_version=${TRAVIS_COMMIT} wimpy_deployment_environment=${DEPLOYMENT_ENVIRONMENT}"
fi

18
deploy/deploy.yml Normal file
View file

@ -0,0 +1,18 @@
---
- hosts: localhost
connection: local
vars_files:
- "{{ playbook_dir }}/{{ wimpy_deployment_environment }}.yml"
vars:
wimpy_project_name: "spring-petclinic"
wimpy_docker_image_name: "fiunchinho/spring-petclinic"
wimpy_app_port: 8080
wimpy_deploy_strategy: "new_asg"
wimpy_aws_elb_scheme: "internet-facing"
wimpy_aws_dns_weight: 0
wimpy_aws_elb_healthcheck_ping_protocol: "http"
wimpy_aws_elb_healthcheck_ping_path: "/"
roles:
- role: wimpy.build
- role: wimpy.deploy

31
deploy/develop.yml Normal file
View file

@ -0,0 +1,31 @@
$ANSIBLE_VAULT;1.1;AES256
35636261636331373063393635323563366330393565333733323835626265353633363862373130
3162383963393039323031613137653830383934653866390a386461343862333134333531623233
62653436376561303535353334633131666162333662336636623433616334333131623265613664
6631386366313461310a643334643265313532633036346437353432356134393863356364333463
61646136376530616230656665616130396233393363303434646366313666666561623465643265
35623236353534393634333638633737366438666461656630343335313939613831633563653730
39373165643966386335333332376233613631333333386162646137383335346634613635663039
33643332376533613766646566343030363634356166363038663935646164373133343937643161
32373261346337333435353339383965396430316536383636363432363133663034656237666433
35663739373161316363393031656636346133316235336166383536343963353831383032633061
64613334366136343631383532643931666665393062336430353566343432336532303064303431
63623961306536306238393938623834646466663734313537316561343537646333663438313865
39613237366363356336323234613636336631383838386430646430613834646536376539356132
32613436303761636363336130353363373964613730313666383435616336623533643462313333
31303430653734616535636135346462373261303932383534333866373563663866653239393061
33396435356265616261656261313731336530646434326434616464373066626533346261343063
33633831653437366632356136393562663635393961343262356338356437323663643162616162
31643737346139643430383236373164303133383265313464663737643436623032373766323834
65313535663538623239613634666531336264383732363335333232623564383564353930373831
30346532376235656131633931393939653337613034373031646364363536323331323439346166
62383565643065623862633631366161313738333963613262353130613833333930393566316338
39366231643339323337616632396639623164383230336434666264316232656537656436643463
31303339343634656330663266336466636663333666653533313566393832373065653033633362
39613064303662356562646338366561623963366239346534346130663063306138393931653238
37363161663631303935636565663464663461373363313730646138643439643437343637363330
30356666396266376263353837336239316363646165333035383661663832343132303464393934
35323463336335323164316135376164363365313832633837313762356164363165636466666564
33653634336139333736646565313736666462646132303964303136316436663133643465633165
32393366376637633437363739663039303935663338363735353261643866373666386663313634
6165316266313939323931313665386564306361353166323962

30
deploy/production.yml Normal file
View file

@ -0,0 +1,30 @@
$ANSIBLE_VAULT;1.1;AES256
33356339386339373536323234376466396531313538363033623362643639653132383733326437
6534326363303031326664656565613533643239313466320a343461313663656533393361356231
34393238333561333565626235643738653764366334356564333633376631353261383664303461
6564393936336365330a633962616139623733363064393932336139323533393664363762303363
31363930313238383662623764626166613862636665393935346162353032646235633233383537
32643733666235353965323939323636343931313639623439656163306466643837373738393162
61316239343532343436363731666231663664633632393230346239653233363135346530326630
61363362623664386631346131356638633035616166613035373133666239626162393831396233
66326532643937666365393532633637323663383961663765613138343336383762656439363462
65383136323362383634323063656363376432326165323538653231653365356135363764363863
36623866373435636332323234623164626665383861383030346639643366306133383338396333
35623061326562366530663761313134383166383865636630373039303564633632353763643530
35663137643463643936616233326434656434333030346363316566643435336163643264626635
65303339633737623934343037396530373131613161623366373135663135663634306238353466
36663538656563323663316663303962353635313838313963363232353837313738386536643136
35346162363764333639346134633865366230616238616336623735393566646633613735353035
64316338353231616261643732633739663066313037333433643039333037653563613465346630
62636434346435323335613935366662333565343463333130396436303833656163636263623862
36636361613362396337636563616230623761376133616132613339653165396135633037346565
31366534326564396162373134373361376563383631653961623534376563343334393633343361
63346238376633353062393434373732623032373533313834366335393233383666646665383264
31343464366565363432343565643061313731393065653364646365303733343036343134646635
33333135643436333765366436366166653533376261303366333836323862653132653636323966
64636562336530356365653362643834626333636632306166383164613439633332376161363963
64386335306263363461383864383763323066636261313833323661643864656238373130353033
65323261363731393162356464313038633931396663653665616263623633333466333461623837
39326265323662393863316533623731363831613035393734326133326336396233326339656233
37383532323231313365333034373764373161383235353764316235633966346666336336313230
62316237613037333162326530636537373263616665386365623030333135313462

5
deploy/requirements.txt Normal file
View file

@ -0,0 +1,5 @@
ansible==2.2.1
docker-py==1.8.1
boto==2.39.0
boto3==1.4.0
troposphere==1.9.2

6
deploy/requirements.yml Normal file
View file

@ -0,0 +1,6 @@
- src: https://github.com/fiunchinho/wimpy.build
name: wimpy.build
- src: https://github.com/fiunchinho/wimpy
version: master
name: wimpy.deploy

10
docker-compose-build.yml Normal file
View file

@ -0,0 +1,10 @@
version: '2'
services:
app:
image: "maven:3.3.9-jdk-8-alpine"
command: "mvn clean package"
restart: "no"
working_dir: "/usr/src/app"
volumes:
- "$PWD:/usr/src/app"
- "$HOME/.m2:/root/.m2"

View file

@ -0,0 +1,6 @@
version: '2'
services:
spring-petclinic:
image: fiunchinho/spring-petclinic
ports:
- "8080:8080"

View file

@ -0,0 +1,6 @@
version: '2'
services:
spring-petclinic:
image: fiunchinho/spring-petclinic
ports:
- "8080:8080"

View file

@ -1,4 +1,4 @@
# Spring PetClinic Sample Application [![Build Status](https://travis-ci.org/spring-projects/spring-petclinic.png?branch=master)](https://travis-ci.org/spring-projects/spring-petclinic/) # Spring PetClinic Sample Application [![Build Status](https://travis-ci.org/fiunchinho/spring-petclinic.svg?branch=master)](https://travis-ci.org/fiunchinho/spring-petclinic)
## Understanding the Spring Petclinic application with a few diagrams ## Understanding the Spring Petclinic application with a few diagrams
<a href="https://speakerdeck.com/michaelisvy/spring-petclinic-sample-application">See the presentation here</a> <a href="https://speakerdeck.com/michaelisvy/spring-petclinic-sample-application">See the presentation here</a>

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

View file

@ -13,4 +13,4 @@
</body> </body>
</html> </html>