mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-17 13:05:49 +00:00
Merge bc1f28e556
into ffa967c94b
This commit is contained in:
commit
e822bcfa3c
14 changed files with 158 additions and 3 deletions
23
.travis.yml
23
.travis.yml
|
@ -1,2 +1,23 @@
|
|||
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
5
Dockerfile
Normal 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
17
deploy/deploy.sh
Executable 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
18
deploy/deploy.yml
Normal 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
31
deploy/develop.yml
Normal 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
30
deploy/production.yml
Normal 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
5
deploy/requirements.txt
Normal 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
6
deploy/requirements.yml
Normal 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
10
docker-compose-build.yml
Normal 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"
|
6
docker-compose-develop.yml
Normal file
6
docker-compose-develop.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
version: '2'
|
||||
services:
|
||||
spring-petclinic:
|
||||
image: fiunchinho/spring-petclinic
|
||||
ports:
|
||||
- "8080:8080"
|
6
docker-compose-production.yml
Normal file
6
docker-compose-production.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
version: '2'
|
||||
services:
|
||||
spring-petclinic:
|
||||
image: fiunchinho/spring-petclinic
|
||||
ports:
|
||||
- "8080:8080"
|
|
@ -1,4 +1,4 @@
|
|||
# Spring PetClinic Sample Application [](https://travis-ci.org/spring-projects/spring-petclinic/)
|
||||
# Spring PetClinic Sample Application [](https://travis-ci.org/fiunchinho/spring-petclinic)
|
||||
|
||||
## Understanding the Spring Petclinic application with a few diagrams
|
||||
<a href="https://speakerdeck.com/michaelisvy/spring-petclinic-sample-application">See the presentation here</a>
|
||||
|
|
BIN
src/main/resources/static/resources/images/kitten.jpg
Normal file
BIN
src/main/resources/static/resources/images/kitten.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 193 KiB |
|
@ -13,4 +13,4 @@
|
|||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue