├── .DS_Store
├── .idea
├── compiler.xml
├── encodings.xml
├── libraries
│ ├── Maven__antlr_antlr_2_7_7.xml
│ ├── Maven__aopalliance_aopalliance_1_0.xml
│ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml
│ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml
│ ├── Maven__com_fasterxml_classmate_1_4_0.xml
│ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml
│ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_7.xml
│ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml
│ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_9_7.xml
│ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_7.xml
│ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_7.xml
│ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_7.xml
│ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_7.xml
│ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml
│ ├── Maven__com_github_andrewoma_dexx_dexx_collections_0_2.xml
│ ├── Maven__com_github_vlsi_compactmap_compactmap_1_2_1.xml
│ ├── Maven__com_google_code_findbugs_annotations_3_0_1.xml
│ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml
│ ├── Maven__com_google_code_gson_gson_2_8_5.xml
│ ├── Maven__com_google_guava_guava_16_0.xml
│ ├── Maven__com_google_inject_guice_4_1_0.xml
│ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml
│ ├── Maven__com_netflix_archaius_archaius_core_0_7_6.xml
│ ├── Maven__com_netflix_eureka_eureka_client_1_9_3.xml
│ ├── Maven__com_netflix_eureka_eureka_core_1_9_3.xml
│ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml
│ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml
│ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml
│ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml
│ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml
│ ├── Maven__com_netflix_ribbon_ribbon_2_2_5.xml
│ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_5.xml
│ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_5.xml
│ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_5.xml
│ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_5.xml
│ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_5.xml
│ ├── Maven__com_netflix_servo_servo_core_0_12_21.xml
│ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml
│ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml
│ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml
│ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml
│ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml
│ ├── Maven__com_thoughtworks_xstream_xstream_1_4_10.xml
│ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
│ ├── Maven__commons_codec_commons_codec_1_11.xml
│ ├── Maven__commons_collections_commons_collections_3_2_2.xml
│ ├── Maven__commons_configuration_commons_configuration_1_8.xml
│ ├── Maven__commons_fileupload_commons_fileupload_1_3_3.xml
│ ├── Maven__commons_io_commons_io_2_2.xml
│ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml
│ ├── Maven__commons_lang_commons_lang_2_6.xml
│ ├── Maven__io_github_openfeign_feign_core_9_7_0.xml
│ ├── Maven__io_github_openfeign_feign_hystrix_9_7_0.xml
│ ├── Maven__io_github_openfeign_feign_java8_9_7_0.xml
│ ├── Maven__io_github_openfeign_feign_slf4j_9_7_0.xml
│ ├── Maven__io_github_openfeign_form_feign_form_3_3_0.xml
│ ├── Maven__io_github_openfeign_form_feign_form_spring_3_3_0.xml
│ ├── Maven__io_micrometer_micrometer_core_1_1_0.xml
│ ├── Maven__io_netty_netty_buffer_4_1_29_Final.xml
│ ├── Maven__io_netty_netty_codec_4_1_29_Final.xml
│ ├── Maven__io_netty_netty_codec_http_4_1_29_Final.xml
│ ├── Maven__io_netty_netty_common_4_1_29_Final.xml
│ ├── Maven__io_netty_netty_resolver_4_1_29_Final.xml
│ ├── Maven__io_netty_netty_transport_4_1_29_Final.xml
│ ├── Maven__io_netty_netty_transport_native_epoll_4_1_29_Final.xml
│ ├── Maven__io_netty_netty_transport_native_unix_common_4_1_29_Final.xml
│ ├── Maven__io_reactivex_rxjava_1_3_8.xml
│ ├── Maven__io_reactivex_rxnetty_0_4_9.xml
│ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml
│ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml
│ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml
│ ├── Maven__javax_inject_javax_inject_1.xml
│ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml
│ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml
│ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml
│ ├── Maven__joda_time_joda_time_2_10_1.xml
│ ├── Maven__junit_junit_4_12.xml
│ ├── Maven__net_bytebuddy_byte_buddy_1_9_3.xml
│ ├── Maven__net_bytebuddy_byte_buddy_agent_1_9_3.xml
│ ├── Maven__net_jcip_jcip_annotations_1_0.xml
│ ├── Maven__net_minidev_accessors_smart_1_2.xml
│ ├── Maven__net_minidev_json_smart_2_3.xml
│ ├── Maven__org_antlr_antlr_runtime_3_4.xml
│ ├── Maven__org_antlr_stringtemplate_3_2_1.xml
│ ├── Maven__org_apache_commons_commons_math_2_2.xml
│ ├── Maven__org_apache_httpcomponents_httpclient_4_5_6.xml
│ ├── Maven__org_apache_httpcomponents_httpcore_4_4_10.xml
│ ├── Maven__org_apache_logging_log4j_log4j_api_2_11_1.xml
│ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_1.xml
│ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_12.xml
│ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_12.xml
│ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_12.xml
│ ├── Maven__org_aspectj_aspectjweaver_1_9_2.xml
│ ├── Maven__org_assertj_assertj_core_3_11_1.xml
│ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_60.xml
│ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_60.xml
│ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml
│ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml
│ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml
│ ├── Maven__org_freemarker_freemarker_2_3_28.xml
│ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml
│ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml
│ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml
│ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_13_Final.xml
│ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml
│ ├── Maven__org_latencyutils_LatencyUtils_2_0_3.xml
│ ├── Maven__org_mockito_mockito_core_2_23_0.xml
│ ├── Maven__org_objenesis_objenesis_2_6.xml
│ ├── Maven__org_ow2_asm_asm_5_0_4.xml
│ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml
│ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml
│ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml
│ ├── Maven__org_springframework_boot_spring_boot_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_actuator_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_test_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_1_0_RELEASE.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_context_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_server_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_1_0_M1.xml
│ ├── Maven__org_springframework_cloud_spring_cloud_starter_openfeign_2_1_0_M1.xml
│ ├── Maven__org_springframework_security_spring_security_crypto_5_1_1_RELEASE.xml
│ ├── Maven__org_springframework_security_spring_security_rsa_1_0_7_RELEASE.xml
│ ├── Maven__org_springframework_spring_aop_5_1_2_RELEASE.xml
│ ├── Maven__org_springframework_spring_beans_5_1_2_RELEASE.xml
│ ├── Maven__org_springframework_spring_context_5_1_2_RELEASE.xml
│ ├── Maven__org_springframework_spring_context_support_5_1_2_RELEASE.xml
│ ├── Maven__org_springframework_spring_core_5_1_2_RELEASE.xml
│ ├── Maven__org_springframework_spring_expression_5_1_2_RELEASE.xml
│ ├── Maven__org_springframework_spring_jcl_5_1_2_RELEASE.xml
│ ├── Maven__org_springframework_spring_test_5_1_2_RELEASE.xml
│ ├── Maven__org_springframework_spring_web_5_1_2_RELEASE.xml
│ ├── Maven__org_springframework_spring_webmvc_5_1_2_RELEASE.xml
│ ├── Maven__org_xmlunit_xmlunit_core_2_6_2.xml
│ ├── Maven__org_yaml_snakeyaml_1_23.xml
│ ├── Maven__stax_stax_api_1_0_1.xml
│ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml
│ └── Maven__xpp3_xpp3_min_1_1_4c.xml
├── misc.xml
├── modules.xml
├── vcs.xml
└── workspace.xml
├── Jenkinsfile.groovy
├── Jenkinsfile_node.groovy
├── README.md
├── bootstrap
├── .DS_Store
├── gitlab01.png
├── gitlab02.png
├── gitlab03.png
├── install-docker.md
├── install-gitlab.md
├── install-harbor.md
├── install-jenkins.md
├── install-kubernetes.md
├── install-sonarqube.md
├── jenkins01.png
├── jenkins02.png
├── k8s01.jpg
├── k8s02.jpg
├── k8s03.jpg
├── k8s04.jpg
├── k8s05.jpg
├── k8s06.jpg
├── k8s07.jpg
├── tutorials.md
├── 可持续集成流程图.png
├── 可持续集成生态图.png
└── 可持续集成示意图.png
├── build-image.sh
├── docker-compose.yml
├── eureka-consumer-feign
├── .DS_Store
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── Dockerfile
├── main-consumer-k8s.yaml
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── springcloud
│ │ │ └── eurekaconsumerfeign
│ │ │ ├── EurekaConsumerFeignApplication.java
│ │ │ ├── controller
│ │ │ └── ConsumerController.java
│ │ │ └── service
│ │ │ └── UserConsumer.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── springcloud
│ └── eurekaconsumerfeign
│ └── EurekaConsumerFeignApplicationTests.java
├── eureka-provider
├── .DS_Store
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── Dockerfile
├── main-provider-k8s.yaml
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── springcloud
│ │ │ └── eurekaprovider
│ │ │ ├── EurekaProviderApplication.java
│ │ │ └── controller
│ │ │ └── ProviderController.java
│ └── resources
│ │ ├── application.properties
│ │ └── application.yaml.bak
│ └── test
│ └── java
│ └── com
│ └── springcloud
│ └── eurekaprovider
│ └── EurekaProviderApplicationTests.java
├── eureka-server
├── .DS_Store
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── Dockerfile
├── eureka-server-k8s.yaml
├── main-eureka-k8s.yaml
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── springcloud
│ │ │ └── eurekaserver
│ │ │ └── EurekaServerApplication.java
│ └── resources
│ │ ├── application.properties
│ │ └── application.yaml.bak
│ └── test
│ └── java
│ └── com
│ └── springcloud
│ └── eurekaserver
│ └── EurekaServerApplicationTests.java
├── pom.xml
├── springcloudFeign.iml
└── update-image.sh
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/.DS_Store
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__antlr_antlr_2_7_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_fasterxml_classmate_1_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_github_andrewoma_dexx_dexx_collections_0_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_github_vlsi_compactmap_compactmap_1_2_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_google_code_findbugs_annotations_3_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_google_code_gson_gson_2_8_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_google_guava_guava_16_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_google_inject_guice_4_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_eureka_eureka_client_1_9_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_eureka_eureka_core_1_9_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_2_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_2_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_ribbon_ribbon_eureka_2_2_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_2_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_2_5.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_netflix_servo_servo_core_0_12_21.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_sun_jersey_jersey_server_1_19_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_sun_jersey_jersey_servlet_1_19_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__commons_codec_commons_codec_1_11.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__commons_io_commons_io_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__commons_jxpath_commons_jxpath_1_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_github_openfeign_feign_core_9_7_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_github_openfeign_feign_hystrix_9_7_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_github_openfeign_feign_java8_9_7_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_github_openfeign_feign_slf4j_9_7_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_github_openfeign_form_feign_form_3_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_micrometer_micrometer_core_1_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_netty_netty_buffer_4_1_29_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_netty_netty_codec_4_1_29_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_29_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_netty_netty_common_4_1_29_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_netty_netty_resolver_4_1_29_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_netty_netty_transport_4_1_29_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_4_1_29_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_29_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_reactivex_rxjava_1_3_8.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__javax_inject_javax_inject_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__joda_time_joda_time_2_10_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__junit_junit_4_12.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_9_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_9_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__net_jcip_jcip_annotations_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_antlr_antlr_runtime_3_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_antlr_stringtemplate_3_2_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_apache_commons_commons_math_2_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_11_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_12.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_12.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_12.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_assertj_assertj_core_3_11_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_60.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_60.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_codehaus_jettison_jettison_1_3_7.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_13_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_mockito_mockito_core_2_23_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_25.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_freemarker_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_1_0_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_core_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_server_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_openfeign_2_1_0_M1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_1_1_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_7_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_spring_aop_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_spring_beans_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_spring_context_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_spring_context_support_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_spring_core_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_spring_expression_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_spring_jcl_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_spring_test_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_spring_web_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_springframework_spring_webmvc_5_1_2_RELEASE.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_yaml_snakeyaml_1_23.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__stax_stax_api_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Jenkinsfile.groovy:
--------------------------------------------------------------------------------
1 | // Jenkinsfile (Declarative Pipeline) 多分支流水线
2 | // https://jenkins.io/doc/book/pipeline/jenkinsfile/
3 | pipeline {
4 | agent any
5 |
6 | stages {
7 | stage('Build') {
8 | steps {
9 | echo 'Building..'
10 | }
11 | }
12 | stage('Test') {
13 | steps {
14 | echo 'Testing..'
15 | }
16 | }
17 | stage('Deploy') {
18 | steps {
19 | echo 'Deploying....'
20 | }
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Jenkinsfile_node.groovy:
--------------------------------------------------------------------------------
1 | // node scripted pipeline (单流水线风格)
2 | // https://jenkins.io/doc/book/pipeline/jenkinsfile/
3 | // https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins#app-switcher
4 | // https://jenkins.io/doc/tutorials/create-a-pipeline-in-blue-ocean/
5 | // https://jenkins.io/blog/2017/04/18/continuousdelivery-devops-sonarqube/
6 | node {
7 |
8 | // jenkins workspace
9 | def PROJECT_PATH="/root/.jenkins/workspace/springcloudFeign"
10 |
11 |
12 | // config git
13 | stage('获取代码') {
14 | git credentialsId: 'e60e6c1f-244d-45c9-95b4-b7ddffa55384', url: 'http://172.20.4.39/bitauto/springcloudfeign.git'
15 | }
16 |
17 | stage('代码构建+代码检查') {
18 | withSonarQubeEnv('My SonarQube Server') {
19 | sh 'mvn clean package -DskipTests sonar:sonar'
20 | } // SonarQube taskId is automatically attached to the pipeline context
21 | }
22 |
23 | stage('构建镜像') {
24 | sh PROJECT_PATH +'/build-image.sh'
25 | }
26 |
27 | stage('更新镜像') {
28 | sh PROJECT_PATH +'/update-image.sh'
29 | }
30 |
31 | // No need to occupy a node
32 | stage("Quality Gate") {
33 | timeout(time: 1, unit: 'HOURS') { // Just in case something goes wrong, pipeline will be killed after a timeout
34 | def qg = waitForQualityGate() // Reuse taskId previously collected by withSonarQubeEnv
35 | if (qg.status != 'OK') {
36 | error "Pipeline aborted due to quality gate failure: ${qg.status}"
37 | }
38 | }
39 | }
40 |
41 | }
42 |
43 |
44 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
CI/CD 持续集成
2 |
3 | [](LICENSE)
4 | [](https://github.com/guoliangD/springcloudFeign/)
5 | [](https://github.com/guoliangD/springcloudFeign/)
6 | [](https://github.com/guoliangD/springcloudFeign/)
7 |
8 |
9 | ## 介绍
10 |
11 | 基于Gitlab + Jenkins + Harbor + Sonarqube + Docker + Kubernetes 完成可持续集成与可持续交付解决方案
12 |
13 | `springcloudFeign` 是一个可持续集成的demo架构,基于spring cloud技术栈
14 |
15 |
16 | ## 可持续集成示意图
17 |
18 | 
19 |
20 |
21 | ## 可持续集成生态图
22 |
23 | 
24 |
25 |
26 | ## 实现目标
27 | 
28 |
29 | 
30 |
31 | ### 技术选型
32 | * jdk1.8
33 | * gitlab
34 | * jenkins
35 | * sonarqube
36 | * harbor & nexus3 & artifactory (本示例采用harbor)
37 | * docker
38 | * kubernetes
39 |
40 | ### Tutorials Prerequisites(准备环境):
41 |
42 | - A machine with:
43 | - linux environment `centos7`
44 | - 256 MB of RAM, although more than 512MB is recommended
45 | - 10 GB of drive space (for Jenkins and your Docker image)
46 | - The following software installed:
47 | - `Java 8` (either a JRE or Java Development Kit (JDK) is fine)
48 | - Docker (navigate to Get Docker at the top of the website to access the Docker download that’s suitable for your platform)
49 |
50 |
51 | ### Getting started(安装环境):
52 | [安装docker](bootstrap/install-docker.md)
53 |
54 | [安装gitlab](bootstrap/install-gitlab.md)
55 |
56 | [安装jenkins](bootstrap/install-jenkins.md)
57 |
58 | [安装sonarqube](bootstrap/install-sonarqube.md)
59 |
60 | [安装harbor](bootstrap/install-harbor.md)
61 |
62 | [安装kubernetes](bootstrap/install-kubernetes.md)
63 |
64 | ### 运行教程 <----
65 | [点我查看运行教程](https://github.com/guoliangd/springcloudFeign/wiki)
66 |
67 |
68 | ## If you have a better suggestion,Please share out,Let's do better.
69 | > Author :GuoliangDi
70 | > Email :guoliang.di@gmail.com
--------------------------------------------------------------------------------
/bootstrap/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/.DS_Store
--------------------------------------------------------------------------------
/bootstrap/gitlab01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/gitlab01.png
--------------------------------------------------------------------------------
/bootstrap/gitlab02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/gitlab02.png
--------------------------------------------------------------------------------
/bootstrap/gitlab03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/gitlab03.png
--------------------------------------------------------------------------------
/bootstrap/install-docker.md:
--------------------------------------------------------------------------------
1 | docker installation
2 |
3 | [](LICENSE)
4 | [](https://github.com/guoliangD/springcloudFeign/)
5 |
6 |
7 | ### step 1: 安装依赖
8 | `sudo yum install -y yum-utils device-mapper-persistent-data lvm2`
9 |
10 | ### step 2: 添加软件源信息
11 | `sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo`
12 |
13 | ### step 3: 更新并安装 Docker-CE
14 | `sudo yum makecache fast`
15 |
16 | `sudo yum -y install docker-ce`
17 |
18 | ### step 4: 开启Docker服务
19 | `sudo systemctl start docker`
20 |
21 | ### step 5: 查看docker version
22 | `sudo docker version`
23 |
24 | ### 注意:
25 | ```
26 | # 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
27 | - vim /etc/yum.repos.d/docker-ce.repo
28 | - 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
29 | -
30 | - 安装指定版本的Docker-CE:
31 | - Step 1: 查找Docker-CE的版本:
32 | - yum list docker-ce.x86_64 --showduplicates | sort -r
33 | - Loading mirror speeds from cached hostfile
34 | - Loaded plugins: branch, fastestmirror, langpacks
35 | - docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
36 | - docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
37 | - docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
38 | - Available Packages
39 | - Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
40 | - sudo yum -y install docker-ce-[VERSION]
41 | ```
--------------------------------------------------------------------------------
/bootstrap/install-gitlab.md:
--------------------------------------------------------------------------------
1 | gitlab installation
2 |
3 | [](LICENSE)
4 | [](https://github.com/guoliangD/springcloudFeign/)
5 |
6 |
7 | ## 一、官方指定安装方式
8 | https://about.gitlab.com/install/#centos-7?version=ce
9 |
10 | ### step 1: 安装依赖
11 | `sudo yum install -y curl policycoreutils-python openssh-server openssh-clients`
12 |
13 | `sudo firewall-cmd --permanent --add-service=http`
14 |
15 | `sudo systemctl reload firewalld`
16 |
17 | ### step 2: 添加软件源信息
18 | `curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash`
19 |
20 | ### step 3: 安装 gitlab-ce
21 | `sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce`
22 |
23 | ### step 4: 配置并启动gitlab-ce
24 | `gitlab-ctl reconfigure`
25 |
26 | ## 二、docker安装方式
27 | https://hub.docker.com/r/gitlab/gitlab-ce/
28 |
29 | ### step 1: 安装
30 | `sudo docker pull gitlab/gitlab-ce:latest`
31 |
32 | ### step 2: 启动
33 | ```
34 | sudo docker run --detach \
35 | --hostname gitlab.example.com \
36 | --publish 443:443 --publish 80:80 --publish 22:22 \
37 | --name gitlab \
38 | --restart always \
39 | --volume /srv/gitlab/config:/etc/gitlab \
40 | --volume /srv/gitlab/logs:/var/log/gitlab \
41 | --volume /srv/gitlab/data:/var/opt/gitlab \
42 | gitlab/gitlab-ce:latest
43 | ```
44 |
45 |
46 | ### step 3: 配置
47 | `docker exec -it gitlab /bin/bash`
48 |
49 | `vi /etc/gitlab/gitlab.rb`
50 |
51 |
52 |
53 | ### IMPORTANT NOTE:
54 | * root login
--------------------------------------------------------------------------------
/bootstrap/install-harbor.md:
--------------------------------------------------------------------------------
1 | harbor installation
2 |
3 | [](LICENSE)
4 | [](https://github.com/guoliangD/springcloudFeign/)
5 |
6 |
7 | ## 一、github link
8 | https://github.com/goharbor/harbor
9 |
10 | ### step 1: 参考
11 | https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md
12 |
13 |
14 | ### Prerequisites for the target host(硬件要求)
15 |
16 |
17 | | Resource | Capacity | Description |
18 | | ---- | ------ | ---- |
19 | | CPU | minimal 2 CPU | 4 CPU is preferred |
20 | | Mem | minimal 4GB | 8GB is preferred |
21 | | Disk | minimal 40GB | 160GB is preferred |
22 |
23 | ### Prerequisites for the target host(软件包)
24 |
25 | | Software | Version | Description |
26 | | ---- | ------ | ---- |
27 | | Python | version 2.7 or higher | Note that you may have to install Python on Linux distributions (Gentoo, Arch) that do not come with a Python interpreter installed by default |
28 | | Docker engine | version 1.10 or higher | For installation instructions, please refer to: https://docs.docker.com/engine/installation/ |
29 | | Docker Compose | version 1.6.0 or higher | For installation instructions, please refer to: https://docs.docker.com/compose/install/ |
30 | | Openssl | latest is preferred | Generate certificate and keys for Harbor |
31 |
32 | ### Prerequisites for the target host(网络端口)
33 |
34 | | Port | Protocol | Description |
35 | | ---- | ------ | ---- |
36 | | 443 | HTTPS | Harbor portal and core API will accept requests on this port for https protocol |
37 | | 4443 | HTTPS | Connections to the Docker Content Trust service for Harbor, only needed when Notary is enabled |
38 | | 80 | HTTP | Harbor portal and core API will accept requests on this port for http protocol |
39 |
40 |
41 | ### step 1: 下载安装包(离线安装包)
42 | https://github.com/goharbor/harbor/releases
43 |
44 | `wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-online-installer-v1.6.2.tgz`
45 |
46 | `tar xvf harbor-online-installer-v1.6.2.tgz`
47 |
48 | ### step 2: config harbor.cfg
49 | * 配置hostname eg. 192.168.1.100 or (reg.youdomain.com)
50 | * ui_url_protocol(http or https. Default is http)
51 | * email settings
52 |
53 | ### step 3: run install.sh to install and start harbor
54 | `cd harbor && sh install.sh`
55 |
56 | ### step 4: Managing Harbor's lifecycle
57 | `Stopping Harbor:`
58 |
59 | ```
60 | $ sudo docker-compose stop
61 | Stopping nginx ... done
62 | Stopping harbor-portal ... done
63 | Stopping harbor-jobservice ... done
64 | Stopping harbor-core ... done
65 | Stopping registry ... done
66 | Stopping redis ... done
67 | Stopping registryctl ... done
68 | Stopping harbor-db ... done
69 | Stopping harbor-adminserver ... done
70 | Stopping harbor-log ... done
71 |
72 | ```
73 |
74 | `Restarting Harbor after stopping:`
75 |
76 | ```
77 | $ sudo docker-compose start
78 | Starting log ... done
79 | Starting registry ... done
80 | Starting registryctl ... done
81 | Starting postgresql ... done
82 | Starting adminserver ... done
83 | Starting core ... done
84 | Starting portal ... done
85 | Starting redis ... done
86 | Starting jobservice ... done
87 | Starting proxy ... done
88 |
89 | ```
90 |
91 |
92 | ### IMPORTANT NOTE:
93 | $ sudo docker-compose down -v
94 |
95 | $ vim harbor.cfg
96 |
97 | $ sudo prepare
98 |
99 | $ sudo docker-compose up -d
--------------------------------------------------------------------------------
/bootstrap/install-jenkins.md:
--------------------------------------------------------------------------------
1 | jenkins installation
2 |
3 | [](LICENSE)
4 | [](https://github.com/guoliangD/springcloudFeign/)
5 |
6 |
7 | ## 一、jenkins link
8 | https://jenkins.io/doc/pipeline/tour/getting-started/
9 |
10 | ### Prerequisites for the target host
11 | * jdk1.8
12 | * docker
13 |
14 | ### step 1: 下载jenkins
15 | `wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war`
16 |
17 | ### step 2: 启动
18 | `java -jar jenkins.war --httpPort=8080`
19 |
20 | ### step 3: 访问
21 | Browse to http://localhost:8080
22 |
23 |
24 | ## 二、docker安装方式
25 | https://hub.docker.com/_/jenkins/
26 |
27 | ### step 1: 安装
28 | `sudo docker pull jenkins`
29 |
30 | ### step 2: 启动
31 | `docker run --name myjenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home jenkins`
--------------------------------------------------------------------------------
/bootstrap/install-kubernetes.md:
--------------------------------------------------------------------------------
1 | kubernetes installation
2 |
3 | [](LICENSE)
4 | [](https://github.com/guoliangD/springcloudFeign/)
5 |
6 |
7 | ## 一、kubernetes link
8 | https://www.kubernetes.org.cn/course/install
9 |
10 | ### Prerequisites for the target host(演示环境安装)
11 | * host 192.168.56.60 和 192.168.56.61 机器上执行
12 |
13 | ### 1、关掉 selinux
14 | `$ setenforce 0`
15 |
16 | `$ sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux`
17 |
18 | ### 2、关掉防火墙
19 | `$ systemctl stop firewalld`
20 |
21 | `$ systemctl disable firewalld`
22 |
23 | ### 3、关闭 swap
24 | `$ swapoff -a`
25 |
26 | `$ sed -i 's/.*swap.*/#&/' /etc/fstab`
27 |
28 | ### 4、配置转发参数
29 | `$ vi /etc/sysctl.d/k8s.conf`
30 |
31 | `net.bridge.bridge-nf-call-ip6tables = 1`
32 |
33 | `net.bridge.bridge-nf-call-iptables = 1`
34 |
35 | `$ sysctl --system`
36 |
37 | ### 5、安装一些必备的工具
38 | `$ yum install -y epel-release`
39 |
40 | `$ yum install -y net-tools wget vim ntpdate`
41 |
42 | ### 6、设置国内 yum 源
43 | `$ vi /etc/yum.repos.d/kubernetes.repo`
44 |
45 | [kubernetes]
46 |
47 | name=Kubernetes
48 |
49 | baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
50 |
51 | gpgcheck=0
52 |
53 | gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
54 |
55 | enabled=1
56 |
57 | ### 7、yum makecache fast
58 |
59 | ### 8、修改主机名称和hosts
60 | (1)、 修改192.168.56.60 机器:hostnamectl set-hostname k8s-60
61 |
62 | (2)、修改192.168.56.61 机器: hostnamectl set-hostname k8s-61
63 |
64 | (3)、修改192.168.56.60和192.168.56.61 vi /etc/hosts
65 |
66 | 192.168.56.60 k8s-60
67 |
68 | 192.168.56.61 k8s-61
69 |
70 | ## 二、安装命令组件k8s
71 |
72 | ### 1、查看可安装的版本
73 |
74 | `yum list kubelet --showduplicates | sort -r`
75 |
76 | ### 2、安装kubeadm、kubectl、kubelet
77 | `$ yum install -y kubelet-1.12.1 kubeadm-1.12.1 kubectl-1.12.1 kubernetes-cni-0.6.0`
78 |
79 | `$ systemctl enable kubelet && systemctl start kubelet`
80 |
81 | ### 3、拉取k8s需要的镜像
82 | docker pull mirrorgooglecontainers/kube-apiserver:v1.12.1
83 |
84 | docker pull mirrorgooglecontainers/kube-controller-manager:v1.12.1
85 |
86 | docker pull mirrorgooglecontainers/kube-scheduler:v1.12.1
87 |
88 | docker pull mirrorgooglecontainers/kube-proxy:v1.12.1
89 |
90 | docker pull mirrorgooglecontainers/etcd-amd64:3.2.24
91 |
92 | docker pull mirrorgooglecontainers/pause-amd64:3.1
93 |
94 | docker pull mirrorgooglecontainers/etcd:3.2.24
95 |
96 | docker pull mirrorgooglecontainers/pause:3.1
97 |
98 | docker pull coredns/coredns:1.2.2
99 |
100 | docker pull registry.cn-shanghai.aliyuncs.com/gcr-k8s/flannel:v0.10.0-amd64
101 |
102 | ### 4、修改k8s需要的镜像名称
103 | docker tag mirrorgooglecontainers/kube-apiserver:v1.12.1 k8s.gcr.io/kube-apiserver:v1.12.1
104 |
105 | docker tag mirrorgooglecontainers/kube-controller-manager:v1.12.1 k8s.gcr.io/kube-controller-manager:v1.12.1
106 |
107 | docker tag mirrorgooglecontainers/kube-scheduler:v1.12.1 k8s.gcr.io/kube-scheduler:v1.12.1
108 |
109 | docker tag mirrorgooglecontainers/kube-proxy:v1.12.1 k8s.gcr.io/kube-proxy:v1.12.1
110 |
111 | docker tag mirrorgooglecontainers/etcd-amd64:3.2.24 k8s.gcr.io/etcd-amd64:3.2.24
112 |
113 | docker tag mirrorgooglecontainers/pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1
114 |
115 | docker tag mirrorgooglecontainers/etcd:3.2.24 k8s.gcr.io/etcd:3.2.24
116 |
117 | docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
118 |
119 | docker tag coredns/coredns:1.2.2 k8s.gcr.io/coredns:1.2.2
120 |
121 | docker tag registry.cn-shanghai.aliyuncs.com/gcr-k8s/flannel:v0.10.0-amd64 quay.io/coreos/flannel:v0.10.0-amd64
122 |
123 | ### 5、删除镜像
124 | docker rmi mirrorgooglecontainers/kube-apiserver:v1.12.1
125 |
126 | docker rmi mirrorgooglecontainers/kube-controller-manager:v1.12.1
127 |
128 | docker rmi mirrorgooglecontainers/kube-scheduler:v1.12.1
129 |
130 | docker rmi mirrorgooglecontainers/kube-proxy:v1.12.1
131 |
132 | docker rmi mirrorgooglecontainers/etcd-amd64:3.2.24
133 |
134 | docker rmi mirrorgooglecontainers/pause-amd64:3.1
135 |
136 | docker rmi mirrorgooglecontainers/etcd:3.2.24
137 |
138 | docker rmi mirrorgooglecontainers/pause:3.1
139 |
140 | docker rmi coredns/coredns:1.2.2
141 |
142 | docker rmi registry.cn-shanghai.aliyuncs.com/gcr-k8s/flannel:v0.10.0-amd64
143 |
144 | ### 6、查看镜像结果
145 | `docker images | grep k8s`
146 |
147 | 
148 |
149 | ### 在192.168.56.60机器上执行`
150 |
151 | ### 7、开始安装k8s
152 | ```
153 | kubeadm init --kubernetes-version=v1.12.1 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.56.60
154 | ```
155 |
156 | 
157 |
158 | 执行屏幕打印出的命令
159 |
160 | mkdir -p $HOME/.kube
161 |
162 | sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
163 |
164 | sudo chown $(id -u):$(id -g) $HOME/.kube/config
165 |
166 | ### 8、创建 flannel 网络
167 |
168 | (1) sysctl net.bridge.bridge-nf-call-iptables=1
169 |
170 | (2) wget wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
171 |
172 | (3) flannel 默认会使用主机的第一张网卡,如果你有多张网卡,需要通过配置单独指定。修改 kube-flannel.yml 中的以下部分
173 |
174 | 
175 |
176 | 
177 |
178 | 
179 |
180 |
181 | (4) 安装网络
182 |
183 | ** 手工先下载
184 |
185 | `docker pull quay.io/coreos/flannel:v0.10.0-amd64`
186 |
187 | 如果很慢可以下载
188 |
189 | `docker pull registry.cn-shenzhen.aliyuncs.com/cp_m/flannel:v0.10.0-amd64`
190 |
191 | `docker tag registry.cn-shenzhen.aliyuncs.com/cp_m/flannel:v0.10.0-amd64 quay.io/coreos/flannel:v0.10.0-amd64`
192 |
193 | ** 创建网络 kubectl apply -f kube-flannel.yml
194 |
195 |
196 | 
197 |
198 |
199 | ### 在192.168.56.61机器上执行
200 |
201 | 9、192.168.56.61加入集群
202 | (1)、同样的类似192.168.56.60下载镜像
203 |
204 | 3、拉取k8s需要的镜像
205 |
206 | 4、修改k8s需要的镜像名称
207 |
208 | 5、删除镜像
209 |
210 | (2)、使用刚才在192.168.56.60创建master控制台提示加入集群命令
211 |
212 | ```
213 | kubeadm join 192.168.56.60:6443 --token cgggwd.q5w883rkzbp44v6w --discovery-token-ca-cert-hash sha256:cae67bec80da916c8e140f4e66f2ce3aff2f8be3a8580f757cdfdfd1651337ba
214 |
215 | ```
216 |
217 | (3)、在192.168.56.60上验证
218 |
219 | 
--------------------------------------------------------------------------------
/bootstrap/install-sonarqube.md:
--------------------------------------------------------------------------------
1 | sonarqube installation
2 |
3 | [](LICENSE)
4 | [](https://github.com/guoliangD/springcloudFeign/)
5 |
6 |
7 | ## 一、sonar link
8 | https://www.sonarqube.org/downloads/
9 |
10 | ### Get the LTS (Long-term Support): SonarQube 6.7.x
11 | * jdk1.8
12 | * postgresql & mysql
13 |
14 | ### step 1: 下载sonar
15 | `wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.6.zip`
16 |
17 | ### step 2: 启动
18 | `./sonar.sh start`
19 |
20 | ### step 3: 访问
21 | Browse to http://localhost:9000
22 |
23 |
24 | ## 二、docker安装方式
25 | https://hub.docker.com/_/sonarqube/
26 |
27 | ### step 1: 安装postgres & sonarqube
28 | `docker pull postgres` * 依赖postgres数据库
29 |
30 | `docker pull sonarqube`
31 |
32 | ### step 2: 启动postgresql
33 |
34 | `docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres`
35 |
36 | `docker run --name sq --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -p 9000:9000 -d sonarqube`
37 |
38 | * POSTGRES_USER POSTGRES_PASSWORD 指定postgresql的用户名密码
39 |
40 | ### step 3: 访问
41 | Browse to http://localhost:9000
42 |
43 | ### IMPORTANT NOTE:
44 | mvn sonar:sonar
--------------------------------------------------------------------------------
/bootstrap/jenkins01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/jenkins01.png
--------------------------------------------------------------------------------
/bootstrap/jenkins02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/jenkins02.png
--------------------------------------------------------------------------------
/bootstrap/k8s01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/k8s01.jpg
--------------------------------------------------------------------------------
/bootstrap/k8s02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/k8s02.jpg
--------------------------------------------------------------------------------
/bootstrap/k8s03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/k8s03.jpg
--------------------------------------------------------------------------------
/bootstrap/k8s04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/k8s04.jpg
--------------------------------------------------------------------------------
/bootstrap/k8s05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/k8s05.jpg
--------------------------------------------------------------------------------
/bootstrap/k8s06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/k8s06.jpg
--------------------------------------------------------------------------------
/bootstrap/k8s07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/k8s07.jpg
--------------------------------------------------------------------------------
/bootstrap/tutorials.md:
--------------------------------------------------------------------------------
1 | ## 使用指南( How to get/use it) ** CI/CD **:
2 |
3 | - 1、new project by idea
4 |
5 | - 2、push project to gitlab
6 |
7 | - 3、新建 jenkins pipeline 任务
8 |
9 |
10 | ### step 1: config pipeline script
11 |
12 | ~~ 参考:Jenkinsfile.node.groovy ~~
13 |
14 | 
15 |
16 | * 1.1 gitlab config webhook
17 |
18 | - Settings >> Integrations >> Webhooks
19 |
20 | 
21 |
22 | 
23 |
24 | 
25 |
26 | * 1.2 mvn build
27 |
28 | ~~ 参考:build-image.sh ~~
29 |
30 | * 1.3 update pod application
31 |
32 | ~~ 参考:update-image.sh ~~
33 |
34 |
35 | ### step 2: kubernetes new deployment
36 |
37 | ~~ 参考:main.eureka-k8s.yaml ~~
38 |
39 | ### step 3: kubernetes service
40 |
41 | ~~ 参考:main.eureka-k8s.yaml ~~
42 |
43 | ### 常见问题
44 |
45 | - harbor http 认证问题
46 |
47 | `vim /etc/docker/daemon.json` * 增加如下配置
48 |
49 | ```
50 | {
51 | "registry-mirrors": ["https://harbor_ip"],
52 | "insecure-registries":["harbor_ip:harbor_port","harbor_ip"]
53 | }
54 | ```
55 |
56 | `systemctl daemon-reload`
57 |
58 | `systemctl restart docker`
59 |
60 | - kubernetes nodeSelector 指定node不能访问pod
61 |
62 | - ps:不能指定 master node.
63 |
64 | - kubernetes deployment labels and service labels 标签不一致,不能访问
65 |
66 | - ps:deployment 和 service labels run or app 需要编写一致
67 |
--------------------------------------------------------------------------------
/bootstrap/可持续集成流程图.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/可持续集成流程图.png
--------------------------------------------------------------------------------
/bootstrap/可持续集成生态图.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/可持续集成生态图.png
--------------------------------------------------------------------------------
/bootstrap/可持续集成示意图.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/bootstrap/可持续集成示意图.png
--------------------------------------------------------------------------------
/build-image.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | set -eo pipefail
4 |
5 | TIME=`date "+%Y%m%d%H%M"`
6 | GIT_REVISION=`git log -1 --pretty=format:"%h"`
7 | REGISTRY_IP="172.20.4.27"
8 | REGISTRY_NAME="springcloudfeign"
9 |
10 | modules=( eureka-server eureka-provider eureka-consumer-feign )
11 |
12 | for module in "${modules[@]}"; do
13 | docker build -t "${REGISTRY_IP}/${REGISTRY_NAME}/${module}:${TIME}_${GIT_REVISION}" ${module}
14 | docker push "${REGISTRY_IP}/${REGISTRY_NAME}/${module}:${TIME}_${GIT_REVISION}"
15 |
16 |
17 | done
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3"
2 |
3 | services:
4 |
5 | eurekaService1: # 默认情况下,其他服务可以使用服务名称连接到该服务。因此,对于peer2的节点,它需要连接http://peer1:8761/eureka/,因此需要配置该服务的名称是peer1。
6 |
7 | image: gaojingyuan/eurekacluster
8 |
9 | networks:
10 |
11 | - eureka-net
12 |
13 | ports:
14 |
15 | - "8888:8888"
16 |
17 | environment:
18 |
19 | - spring.profiles.active=eurekaService1
20 |
21 | eurekaService2:
22 |
23 | image: gaojingyuan/eurekacluster
24 |
25 | networks:
26 |
27 | - eureka-net
28 |
29 | ports:
30 |
31 | - "8887:8887"
32 |
33 | environment:
34 |
35 | - spring.profiles.active=eurekaService2
36 |
37 | eurekaService3:
38 |
39 | image: gaojingyuan/eurekacluster
40 |
41 | networks:
42 |
43 | - eureka-net
44 |
45 | ports:
46 |
47 | - "8886:8886"
48 |
49 | environment:
50 |
51 | - spring.profiles.active=eurekaService3
52 |
53 | networks:
54 |
55 | eureka-net:
56 |
57 | driver: overlay
58 |
--------------------------------------------------------------------------------
/eureka-consumer-feign/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/eureka-consumer-feign/.DS_Store
--------------------------------------------------------------------------------
/eureka-consumer-feign/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | ### STS ###
5 | .apt_generated
6 | .classpath
7 | .factorypath
8 | .project
9 | .settings
10 | .springBeans
11 | .sts4-cache
12 |
13 | ### IntelliJ IDEA ###
14 | .idea
15 | *.iws
16 | *.iml
17 | *.ipr
18 |
19 | ### NetBeans ###
20 | /nbproject/private/
21 | /build/
22 | /nbbuild/
23 | /dist/
24 | /nbdist/
25 | /.nb-gradle/
--------------------------------------------------------------------------------
/eureka-consumer-feign/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/eureka-consumer-feign/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/eureka-consumer-feign/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
2 |
--------------------------------------------------------------------------------
/eureka-consumer-feign/Dockerfile:
--------------------------------------------------------------------------------
1 | # Name: eureka-consumer-feign
2 | # Time: 2018
3 |
4 | FROM java:8-jre
5 |
6 | MAINTAINER GuoliangDi
7 |
8 | RUN mkdir /app
9 |
10 | WORKDIR /app
11 |
12 | COPY ./target/eureka-consumer-feign.jar /app
13 |
14 | CMD ["java", "-Xmx200m", "-jar", "/app/eureka-consumer-feign.jar"]
15 |
16 | EXPOSE 30083
--------------------------------------------------------------------------------
/eureka-consumer-feign/main-consumer-k8s.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: extensions/v1beta1
2 | kind: Deployment
3 | metadata:
4 | name: my-consumer
5 | spec:
6 | replicas: 2
7 | template:
8 | metadata:
9 | labels:
10 | run: my-consumer
11 | spec:
12 | containers:
13 | - name: my-consumer
14 | image: 172.20.4.27/springcloudfeign/eureka-consumer-feign:201811281045_6e9377d
15 | ports:
16 | - containerPort: 30083
17 |
18 | ---
19 | apiVersion: v1
20 | kind: Service
21 | metadata:
22 | name: my-consumer
23 | labels:
24 | run: my-consumer
25 | spec:
26 | type: NodePort
27 | ports:
28 | - port: 30083
29 | targetPort: 30083
30 | nodePort: 30523
31 | selector:
32 | run: my-consumer
33 |
--------------------------------------------------------------------------------
/eureka-consumer-feign/mvnw.cmd:
--------------------------------------------------------------------------------
1 | @REM ----------------------------------------------------------------------------
2 | @REM Licensed to the Apache Software Foundation (ASF) under one
3 | @REM or more contributor license agreements. See the NOTICE file
4 | @REM distributed with this work for additional information
5 | @REM regarding copyright ownership. The ASF licenses this file
6 | @REM to you under the Apache License, Version 2.0 (the
7 | @REM "License"); you may not use this file except in compliance
8 | @REM with the License. You may obtain a copy of the License at
9 | @REM
10 | @REM http://www.apache.org/licenses/LICENSE-2.0
11 | @REM
12 | @REM Unless required by applicable law or agreed to in writing,
13 | @REM software distributed under the License is distributed on an
14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | @REM KIND, either express or implied. See the License for the
16 | @REM specific language governing permissions and limitations
17 | @REM under the License.
18 | @REM ----------------------------------------------------------------------------
19 |
20 | @REM ----------------------------------------------------------------------------
21 | @REM Maven2 Start Up Batch script
22 | @REM
23 | @REM Required ENV vars:
24 | @REM JAVA_HOME - location of a JDK home dir
25 | @REM
26 | @REM Optional ENV vars
27 | @REM M2_HOME - location of maven2's installed home dir
28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
31 | @REM e.g. to debug Maven itself, use
32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
34 | @REM ----------------------------------------------------------------------------
35 |
36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
37 | @echo off
38 | @REM set title of command window
39 | title %0
40 | @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
41 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
42 |
43 | @REM set %HOME% to equivalent of $HOME
44 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
45 |
46 | @REM Execute a user defined script before this one
47 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
48 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending
49 | if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
50 | if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
51 | :skipRcPre
52 |
53 | @setlocal
54 |
55 | set ERROR_CODE=0
56 |
57 | @REM To isolate internal variables from possible post scripts, we use another setlocal
58 | @setlocal
59 |
60 | @REM ==== START VALIDATION ====
61 | if not "%JAVA_HOME%" == "" goto OkJHome
62 |
63 | echo.
64 | echo Error: JAVA_HOME not found in your environment. >&2
65 | echo Please set the JAVA_HOME variable in your environment to match the >&2
66 | echo location of your Java installation. >&2
67 | echo.
68 | goto error
69 |
70 | :OkJHome
71 | if exist "%JAVA_HOME%\bin\java.exe" goto init
72 |
73 | echo.
74 | echo Error: JAVA_HOME is set to an invalid directory. >&2
75 | echo JAVA_HOME = "%JAVA_HOME%" >&2
76 | echo Please set the JAVA_HOME variable in your environment to match the >&2
77 | echo location of your Java installation. >&2
78 | echo.
79 | goto error
80 |
81 | @REM ==== END VALIDATION ====
82 |
83 | :init
84 |
85 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
86 | @REM Fallback to current working directory if not found.
87 |
88 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
89 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
90 |
91 | set EXEC_DIR=%CD%
92 | set WDIR=%EXEC_DIR%
93 | :findBaseDir
94 | IF EXIST "%WDIR%"\.mvn goto baseDirFound
95 | cd ..
96 | IF "%WDIR%"=="%CD%" goto baseDirNotFound
97 | set WDIR=%CD%
98 | goto findBaseDir
99 |
100 | :baseDirFound
101 | set MAVEN_PROJECTBASEDIR=%WDIR%
102 | cd "%EXEC_DIR%"
103 | goto endDetectBaseDir
104 |
105 | :baseDirNotFound
106 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
107 | cd "%EXEC_DIR%"
108 |
109 | :endDetectBaseDir
110 |
111 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
112 |
113 | @setlocal EnableExtensions EnableDelayedExpansion
114 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
115 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
116 |
117 | :endReadAdditionalConfig
118 |
119 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
120 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
121 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
122 |
123 | set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
124 | FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO (
125 | IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
126 | )
127 |
128 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
129 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data.
130 | if exist %WRAPPER_JAR% (
131 | echo Found %WRAPPER_JAR%
132 | ) else (
133 | echo Couldn't find %WRAPPER_JAR%, downloading it ...
134 | echo Downloading from: %DOWNLOAD_URL%
135 | powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
136 | echo Finished downloading %WRAPPER_JAR%
137 | )
138 | @REM End of extension
139 |
140 | %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
141 | if ERRORLEVEL 1 goto error
142 | goto end
143 |
144 | :error
145 | set ERROR_CODE=1
146 |
147 | :end
148 | @endlocal & set ERROR_CODE=%ERROR_CODE%
149 |
150 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
151 | @REM check for post script, once with legacy .bat ending and once with .cmd ending
152 | if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
153 | if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
154 | :skipRcPost
155 |
156 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
157 | if "%MAVEN_BATCH_PAUSE%" == "on" pause
158 |
159 | if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
160 |
161 | exit /B %ERROR_CODE%
162 |
--------------------------------------------------------------------------------
/eureka-consumer-feign/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | com.springcloud
7 | eureka-consumer-feign
8 | 0.0.1-SNAPSHOT
9 | jar
10 |
11 | eureka-consumer-feign
12 | Demo project for Spring Boot
13 |
14 |
15 | org.springframework.boot
16 | spring-boot-starter-parent
17 | 2.1.0.RELEASE
18 |
19 |
20 |
21 |
22 | UTF-8
23 | UTF-8
24 | 1.8
25 | Greenwich.M1
26 |
27 |
28 |
29 |
30 | org.springframework.boot
31 | spring-boot-starter-web
32 |
33 |
34 | org.springframework.cloud
35 | spring-cloud-starter-netflix-eureka-client
36 |
37 |
38 | org.springframework.cloud
39 | spring-cloud-starter-netflix-eureka-server
40 |
41 |
42 | org.springframework.cloud
43 | spring-cloud-starter-openfeign
44 |
45 |
46 |
47 | org.springframework.boot
48 | spring-boot-starter-test
49 | test
50 |
51 |
52 |
53 |
54 |
55 |
56 | org.springframework.cloud
57 | spring-cloud-dependencies
58 | ${spring-cloud.version}
59 | pom
60 | import
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 | org.springframework.boot
69 | spring-boot-maven-plugin
70 |
71 | ${project.name}
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 | spring-milestones
80 | Spring Milestones
81 | https://repo.spring.io/milestone
82 |
83 | false
84 |
85 |
86 |
87 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/eureka-consumer-feign/src/main/java/com/springcloud/eurekaconsumerfeign/EurekaConsumerFeignApplication.java:
--------------------------------------------------------------------------------
1 | package com.springcloud.eurekaconsumerfeign;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
6 | import org.springframework.cloud.openfeign.EnableFeignClients;
7 |
8 |
9 | @EnableFeignClients
10 | @EnableDiscoveryClient
11 | @SpringBootApplication
12 | public class EurekaConsumerFeignApplication {
13 |
14 | public static void main(String[] args) {
15 | SpringApplication.run(EurekaConsumerFeignApplication.class, args);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/eureka-consumer-feign/src/main/java/com/springcloud/eurekaconsumerfeign/controller/ConsumerController.java:
--------------------------------------------------------------------------------
1 | package com.springcloud.eurekaconsumerfeign.controller;
2 |
3 | import com.netflix.discovery.converters.Auto;
4 | import com.springcloud.eurekaconsumerfeign.service.UserConsumer;
5 | import org.springframework.beans.factory.annotation.Autowired;
6 | import org.springframework.web.bind.annotation.GetMapping;
7 | import org.springframework.web.bind.annotation.RestController;
8 |
9 | /**
10 | * @author GuoliangDi
11 | * @Title: ConsumerController
12 | * @Description: TODO
13 | * @date 2018/11/23下午2:43
14 | */
15 | @RestController
16 | public class ConsumerController {
17 |
18 | @Autowired
19 | private UserConsumer userConsumer;
20 |
21 |
22 | @GetMapping("/hello")
23 | public String helloClient() {
24 |
25 | String v = userConsumer.gethello();
26 | return v;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/eureka-consumer-feign/src/main/java/com/springcloud/eurekaconsumerfeign/service/UserConsumer.java:
--------------------------------------------------------------------------------
1 | package com.springcloud.eurekaconsumerfeign.service;
2 |
3 | import org.springframework.cloud.openfeign.FeignClient;
4 | import org.springframework.web.bind.annotation.GetMapping;
5 |
6 | /**
7 | * @author GuoliangDi
8 | * @Title: UserConsumer
9 | * @Description: TODO
10 | * @date 2018/11/23下午2:45
11 | */
12 |
13 | @FeignClient("eureka-provider")//配置服务提供者实例名称
14 | public interface UserConsumer {
15 |
16 | /**
17 | * 服务提供者路由
18 | * @return
19 | */
20 | @GetMapping("/hello")
21 | String gethello();
22 | }
23 |
--------------------------------------------------------------------------------
/eureka-consumer-feign/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.application.name=eureka-consumer
2 | server.port=30083
3 | eureka.server.port=30081
4 |
5 | #注册中心地址
6 | eureka.client.serviceUrl.defaultZone=http://my-eureka2:${eureka.server.port}/eureka/
--------------------------------------------------------------------------------
/eureka-consumer-feign/src/test/java/com/springcloud/eurekaconsumerfeign/EurekaConsumerFeignApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.springcloud.eurekaconsumerfeign;
2 |
3 | import org.junit.Test;
4 | import org.junit.runner.RunWith;
5 | import org.springframework.boot.test.context.SpringBootTest;
6 | import org.springframework.test.context.junit4.SpringRunner;
7 |
8 | @RunWith(SpringRunner.class)
9 | @SpringBootTest
10 | public class EurekaConsumerFeignApplicationTests {
11 |
12 | @Test
13 | public void contextLoads() {
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/eureka-provider/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/eureka-provider/.DS_Store
--------------------------------------------------------------------------------
/eureka-provider/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | ### STS ###
5 | .apt_generated
6 | .classpath
7 | .factorypath
8 | .project
9 | .settings
10 | .springBeans
11 | .sts4-cache
12 |
13 | ### IntelliJ IDEA ###
14 | .idea
15 | *.iws
16 | *.iml
17 | *.ipr
18 |
19 | ### NetBeans ###
20 | /nbproject/private/
21 | /build/
22 | /nbbuild/
23 | /dist/
24 | /nbdist/
25 | /.nb-gradle/
--------------------------------------------------------------------------------
/eureka-provider/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/eureka-provider/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/eureka-provider/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
2 |
--------------------------------------------------------------------------------
/eureka-provider/Dockerfile:
--------------------------------------------------------------------------------
1 | # Name: eureka-provider
2 | # Time: 2018
3 |
4 | FROM java:8-jre
5 |
6 | MAINTAINER GuoliangDi
7 |
8 | RUN mkdir /app
9 |
10 | WORKDIR /app
11 |
12 | COPY ./target/eureka-provider.jar /app
13 |
14 | CMD ["java", "-Xmx200m", "-jar", "/app/eureka-provider.jar"]
15 |
16 | EXPOSE 30082
--------------------------------------------------------------------------------
/eureka-provider/main-provider-k8s.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: extensions/v1beta1
2 | kind: Deployment
3 | metadata:
4 | name: my-provider
5 | spec:
6 | replicas: 2
7 | template:
8 | metadata:
9 | labels:
10 | run: my-provider
11 | spec:
12 | containers:
13 | - name: my-provider
14 | image: 172.20.4.27/springcloudfeign/eureka-provider:201811281252_ce6bc79
15 | #args:
16 | # - --eureka.client.serviceUrl.defaultZone=http://172.20.4.148:30201/eureka/
17 | ports:
18 | - containerPort: 30082
19 |
20 | ---
21 | apiVersion: v1
22 | kind: Service
23 | metadata:
24 | name: my-provider
25 | labels:
26 | run: my-provider
27 | spec:
28 | type: NodePort
29 | ports:
30 | - port: 30082
31 | targetPort: 30082
32 | nodePort: 30502
33 | selector:
34 | run: my-provider
35 |
--------------------------------------------------------------------------------
/eureka-provider/mvnw:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # ----------------------------------------------------------------------------
3 | # Licensed to the Apache Software Foundation (ASF) under one
4 | # or more contributor license agreements. See the NOTICE file
5 | # distributed with this work for additional information
6 | # regarding copyright ownership. The ASF licenses this file
7 | # to you under the Apache License, Version 2.0 (the
8 | # "License"); you may not use this file except in compliance
9 | # with the License. You may obtain a copy of the License at
10 | #
11 | # http://www.apache.org/licenses/LICENSE-2.0
12 | #
13 | # Unless required by applicable law or agreed to in writing,
14 | # software distributed under the License is distributed on an
15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | # KIND, either express or implied. See the License for the
17 | # specific language governing permissions and limitations
18 | # under the License.
19 | # ----------------------------------------------------------------------------
20 |
21 | # ----------------------------------------------------------------------------
22 | # Maven2 Start Up Batch script
23 | #
24 | # Required ENV vars:
25 | # ------------------
26 | # JAVA_HOME - location of a JDK home dir
27 | #
28 | # Optional ENV vars
29 | # -----------------
30 | # M2_HOME - location of maven2's installed home dir
31 | # MAVEN_OPTS - parameters passed to the Java VM when running Maven
32 | # e.g. to debug Maven itself, use
33 | # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
34 | # MAVEN_SKIP_RC - flag to disable loading of mavenrc files
35 | # ----------------------------------------------------------------------------
36 |
37 | if [ -z "$MAVEN_SKIP_RC" ] ; then
38 |
39 | if [ -f /etc/mavenrc ] ; then
40 | . /etc/mavenrc
41 | fi
42 |
43 | if [ -f "$HOME/.mavenrc" ] ; then
44 | . "$HOME/.mavenrc"
45 | fi
46 |
47 | fi
48 |
49 | # OS specific support. $var _must_ be set to either true or false.
50 | cygwin=false;
51 | darwin=false;
52 | mingw=false
53 | case "`uname`" in
54 | CYGWIN*) cygwin=true ;;
55 | MINGW*) mingw=true;;
56 | Darwin*) darwin=true
57 | # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
58 | # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
59 | if [ -z "$JAVA_HOME" ]; then
60 | if [ -x "/usr/libexec/java_home" ]; then
61 | export JAVA_HOME="`/usr/libexec/java_home`"
62 | else
63 | export JAVA_HOME="/Library/Java/Home"
64 | fi
65 | fi
66 | ;;
67 | esac
68 |
69 | if [ -z "$JAVA_HOME" ] ; then
70 | if [ -r /etc/gentoo-release ] ; then
71 | JAVA_HOME=`java-config --jre-home`
72 | fi
73 | fi
74 |
75 | if [ -z "$M2_HOME" ] ; then
76 | ## resolve links - $0 may be a link to maven's home
77 | PRG="$0"
78 |
79 | # need this for relative symlinks
80 | while [ -h "$PRG" ] ; do
81 | ls=`ls -ld "$PRG"`
82 | link=`expr "$ls" : '.*-> \(.*\)$'`
83 | if expr "$link" : '/.*' > /dev/null; then
84 | PRG="$link"
85 | else
86 | PRG="`dirname "$PRG"`/$link"
87 | fi
88 | done
89 |
90 | saveddir=`pwd`
91 |
92 | M2_HOME=`dirname "$PRG"`/..
93 |
94 | # make it fully qualified
95 | M2_HOME=`cd "$M2_HOME" && pwd`
96 |
97 | cd "$saveddir"
98 | # echo Using m2 at $M2_HOME
99 | fi
100 |
101 | # For Cygwin, ensure paths are in UNIX format before anything is touched
102 | if $cygwin ; then
103 | [ -n "$M2_HOME" ] &&
104 | M2_HOME=`cygpath --unix "$M2_HOME"`
105 | [ -n "$JAVA_HOME" ] &&
106 | JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
107 | [ -n "$CLASSPATH" ] &&
108 | CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
109 | fi
110 |
111 | # For Mingw, ensure paths are in UNIX format before anything is touched
112 | if $mingw ; then
113 | [ -n "$M2_HOME" ] &&
114 | M2_HOME="`(cd "$M2_HOME"; pwd)`"
115 | [ -n "$JAVA_HOME" ] &&
116 | JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
117 | # TODO classpath?
118 | fi
119 |
120 | if [ -z "$JAVA_HOME" ]; then
121 | javaExecutable="`which javac`"
122 | if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
123 | # readlink(1) is not available as standard on Solaris 10.
124 | readLink=`which readlink`
125 | if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
126 | if $darwin ; then
127 | javaHome="`dirname \"$javaExecutable\"`"
128 | javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
129 | else
130 | javaExecutable="`readlink -f \"$javaExecutable\"`"
131 | fi
132 | javaHome="`dirname \"$javaExecutable\"`"
133 | javaHome=`expr "$javaHome" : '\(.*\)/bin'`
134 | JAVA_HOME="$javaHome"
135 | export JAVA_HOME
136 | fi
137 | fi
138 | fi
139 |
140 | if [ -z "$JAVACMD" ] ; then
141 | if [ -n "$JAVA_HOME" ] ; then
142 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
143 | # IBM's JDK on AIX uses strange locations for the executables
144 | JAVACMD="$JAVA_HOME/jre/sh/java"
145 | else
146 | JAVACMD="$JAVA_HOME/bin/java"
147 | fi
148 | else
149 | JAVACMD="`which java`"
150 | fi
151 | fi
152 |
153 | if [ ! -x "$JAVACMD" ] ; then
154 | echo "Error: JAVA_HOME is not defined correctly." >&2
155 | echo " We cannot execute $JAVACMD" >&2
156 | exit 1
157 | fi
158 |
159 | if [ -z "$JAVA_HOME" ] ; then
160 | echo "Warning: JAVA_HOME environment variable is not set."
161 | fi
162 |
163 | CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
164 |
165 | # traverses directory structure from process work directory to filesystem root
166 | # first directory with .mvn subdirectory is considered project base directory
167 | find_maven_basedir() {
168 |
169 | if [ -z "$1" ]
170 | then
171 | echo "Path not specified to find_maven_basedir"
172 | return 1
173 | fi
174 |
175 | basedir="$1"
176 | wdir="$1"
177 | while [ "$wdir" != '/' ] ; do
178 | if [ -d "$wdir"/.mvn ] ; then
179 | basedir=$wdir
180 | break
181 | fi
182 | # workaround for JBEAP-8937 (on Solaris 10/Sparc)
183 | if [ -d "${wdir}" ]; then
184 | wdir=`cd "$wdir/.."; pwd`
185 | fi
186 | # end of workaround
187 | done
188 | echo "${basedir}"
189 | }
190 |
191 | # concatenates all lines of a file
192 | concat_lines() {
193 | if [ -f "$1" ]; then
194 | echo "$(tr -s '\n' ' ' < "$1")"
195 | fi
196 | }
197 |
198 | BASE_DIR=`find_maven_basedir "$(pwd)"`
199 | if [ -z "$BASE_DIR" ]; then
200 | exit 1;
201 | fi
202 |
203 | ##########################################################################################
204 | # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
205 | # This allows using the maven wrapper in projects that prohibit checking in binary data.
206 | ##########################################################################################
207 | if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
208 | if [ "$MVNW_VERBOSE" = true ]; then
209 | echo "Found .mvn/wrapper/maven-wrapper.jar"
210 | fi
211 | else
212 | if [ "$MVNW_VERBOSE" = true ]; then
213 | echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
214 | fi
215 | jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
216 | while IFS="=" read key value; do
217 | case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
218 | esac
219 | done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
220 | if [ "$MVNW_VERBOSE" = true ]; then
221 | echo "Downloading from: $jarUrl"
222 | fi
223 | wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
224 |
225 | if command -v wget > /dev/null; then
226 | if [ "$MVNW_VERBOSE" = true ]; then
227 | echo "Found wget ... using wget"
228 | fi
229 | wget "$jarUrl" -O "$wrapperJarPath"
230 | elif command -v curl > /dev/null; then
231 | if [ "$MVNW_VERBOSE" = true ]; then
232 | echo "Found curl ... using curl"
233 | fi
234 | curl -o "$wrapperJarPath" "$jarUrl"
235 | else
236 | if [ "$MVNW_VERBOSE" = true ]; then
237 | echo "Falling back to using Java to download"
238 | fi
239 | javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
240 | if [ -e "$javaClass" ]; then
241 | if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
242 | if [ "$MVNW_VERBOSE" = true ]; then
243 | echo " - Compiling MavenWrapperDownloader.java ..."
244 | fi
245 | # Compiling the Java class
246 | ("$JAVA_HOME/bin/javac" "$javaClass")
247 | fi
248 | if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
249 | # Running the downloader
250 | if [ "$MVNW_VERBOSE" = true ]; then
251 | echo " - Running MavenWrapperDownloader.java ..."
252 | fi
253 | ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
254 | fi
255 | fi
256 | fi
257 | fi
258 | ##########################################################################################
259 | # End of extension
260 | ##########################################################################################
261 |
262 | export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
263 | if [ "$MVNW_VERBOSE" = true ]; then
264 | echo $MAVEN_PROJECTBASEDIR
265 | fi
266 | MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
267 |
268 | # For Cygwin, switch paths to Windows format before running java
269 | if $cygwin; then
270 | [ -n "$M2_HOME" ] &&
271 | M2_HOME=`cygpath --path --windows "$M2_HOME"`
272 | [ -n "$JAVA_HOME" ] &&
273 | JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
274 | [ -n "$CLASSPATH" ] &&
275 | CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
276 | [ -n "$MAVEN_PROJECTBASEDIR" ] &&
277 | MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
278 | fi
279 |
280 | WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
281 |
282 | exec "$JAVACMD" \
283 | $MAVEN_OPTS \
284 | -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
285 | "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
286 | ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
287 |
--------------------------------------------------------------------------------
/eureka-provider/mvnw.cmd:
--------------------------------------------------------------------------------
1 | @REM ----------------------------------------------------------------------------
2 | @REM Licensed to the Apache Software Foundation (ASF) under one
3 | @REM or more contributor license agreements. See the NOTICE file
4 | @REM distributed with this work for additional information
5 | @REM regarding copyright ownership. The ASF licenses this file
6 | @REM to you under the Apache License, Version 2.0 (the
7 | @REM "License"); you may not use this file except in compliance
8 | @REM with the License. You may obtain a copy of the License at
9 | @REM
10 | @REM http://www.apache.org/licenses/LICENSE-2.0
11 | @REM
12 | @REM Unless required by applicable law or agreed to in writing,
13 | @REM software distributed under the License is distributed on an
14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | @REM KIND, either express or implied. See the License for the
16 | @REM specific language governing permissions and limitations
17 | @REM under the License.
18 | @REM ----------------------------------------------------------------------------
19 |
20 | @REM ----------------------------------------------------------------------------
21 | @REM Maven2 Start Up Batch script
22 | @REM
23 | @REM Required ENV vars:
24 | @REM JAVA_HOME - location of a JDK home dir
25 | @REM
26 | @REM Optional ENV vars
27 | @REM M2_HOME - location of maven2's installed home dir
28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
31 | @REM e.g. to debug Maven itself, use
32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
34 | @REM ----------------------------------------------------------------------------
35 |
36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
37 | @echo off
38 | @REM set title of command window
39 | title %0
40 | @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
41 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
42 |
43 | @REM set %HOME% to equivalent of $HOME
44 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
45 |
46 | @REM Execute a user defined script before this one
47 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
48 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending
49 | if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
50 | if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
51 | :skipRcPre
52 |
53 | @setlocal
54 |
55 | set ERROR_CODE=0
56 |
57 | @REM To isolate internal variables from possible post scripts, we use another setlocal
58 | @setlocal
59 |
60 | @REM ==== START VALIDATION ====
61 | if not "%JAVA_HOME%" == "" goto OkJHome
62 |
63 | echo.
64 | echo Error: JAVA_HOME not found in your environment. >&2
65 | echo Please set the JAVA_HOME variable in your environment to match the >&2
66 | echo location of your Java installation. >&2
67 | echo.
68 | goto error
69 |
70 | :OkJHome
71 | if exist "%JAVA_HOME%\bin\java.exe" goto init
72 |
73 | echo.
74 | echo Error: JAVA_HOME is set to an invalid directory. >&2
75 | echo JAVA_HOME = "%JAVA_HOME%" >&2
76 | echo Please set the JAVA_HOME variable in your environment to match the >&2
77 | echo location of your Java installation. >&2
78 | echo.
79 | goto error
80 |
81 | @REM ==== END VALIDATION ====
82 |
83 | :init
84 |
85 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
86 | @REM Fallback to current working directory if not found.
87 |
88 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
89 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
90 |
91 | set EXEC_DIR=%CD%
92 | set WDIR=%EXEC_DIR%
93 | :findBaseDir
94 | IF EXIST "%WDIR%"\.mvn goto baseDirFound
95 | cd ..
96 | IF "%WDIR%"=="%CD%" goto baseDirNotFound
97 | set WDIR=%CD%
98 | goto findBaseDir
99 |
100 | :baseDirFound
101 | set MAVEN_PROJECTBASEDIR=%WDIR%
102 | cd "%EXEC_DIR%"
103 | goto endDetectBaseDir
104 |
105 | :baseDirNotFound
106 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
107 | cd "%EXEC_DIR%"
108 |
109 | :endDetectBaseDir
110 |
111 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
112 |
113 | @setlocal EnableExtensions EnableDelayedExpansion
114 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
115 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
116 |
117 | :endReadAdditionalConfig
118 |
119 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
120 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
121 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
122 |
123 | set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
124 | FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO (
125 | IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
126 | )
127 |
128 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
129 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data.
130 | if exist %WRAPPER_JAR% (
131 | echo Found %WRAPPER_JAR%
132 | ) else (
133 | echo Couldn't find %WRAPPER_JAR%, downloading it ...
134 | echo Downloading from: %DOWNLOAD_URL%
135 | powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
136 | echo Finished downloading %WRAPPER_JAR%
137 | )
138 | @REM End of extension
139 |
140 | %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
141 | if ERRORLEVEL 1 goto error
142 | goto end
143 |
144 | :error
145 | set ERROR_CODE=1
146 |
147 | :end
148 | @endlocal & set ERROR_CODE=%ERROR_CODE%
149 |
150 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
151 | @REM check for post script, once with legacy .bat ending and once with .cmd ending
152 | if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
153 | if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
154 | :skipRcPost
155 |
156 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
157 | if "%MAVEN_BATCH_PAUSE%" == "on" pause
158 |
159 | if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
160 |
161 | exit /B %ERROR_CODE%
162 |
--------------------------------------------------------------------------------
/eureka-provider/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | com.springcloud
7 | eureka-provider
8 | 0.0.1-SNAPSHOT
9 | jar
10 |
11 | eureka-provider
12 | Demo project for Spring Boot
13 |
14 |
15 | org.springframework.boot
16 | spring-boot-starter-parent
17 | 2.1.0.RELEASE
18 |
19 |
20 |
21 |
22 | UTF-8
23 | UTF-8
24 | 1.8
25 | Greenwich.M1
26 |
27 |
28 |
29 |
30 | org.springframework.boot
31 | spring-boot-starter-web
32 |
33 |
34 | org.springframework.cloud
35 | spring-cloud-starter-netflix-eureka-client
36 |
37 |
38 | org.springframework.cloud
39 | spring-cloud-starter-netflix-eureka-server
40 |
41 |
42 | org.springframework.cloud
43 | spring-cloud-starter-openfeign
44 |
45 |
46 |
47 | org.springframework.boot
48 | spring-boot-starter-test
49 | test
50 |
51 |
52 |
53 |
54 |
55 |
56 | org.springframework.cloud
57 | spring-cloud-dependencies
58 | ${spring-cloud.version}
59 | pom
60 | import
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 | org.springframework.boot
69 | spring-boot-maven-plugin
70 |
71 | ${project.name}
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 | spring-milestones
80 | Spring Milestones
81 | https://repo.spring.io/milestone
82 |
83 | false
84 |
85 |
86 |
87 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/eureka-provider/src/main/java/com/springcloud/eurekaprovider/EurekaProviderApplication.java:
--------------------------------------------------------------------------------
1 | package com.springcloud.eurekaprovider;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 | import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
6 |
7 |
8 | @EnableDiscoveryClient
9 | @SpringBootApplication
10 | public class EurekaProviderApplication {
11 |
12 | public static void main(String[] args) {
13 | SpringApplication.run(EurekaProviderApplication.class, args);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/eureka-provider/src/main/java/com/springcloud/eurekaprovider/controller/ProviderController.java:
--------------------------------------------------------------------------------
1 | package com.springcloud.eurekaprovider.controller;
2 |
3 | import org.springframework.web.bind.annotation.GetMapping;
4 | import org.springframework.web.bind.annotation.RestController;
5 |
6 | /**
7 | * @author GuoliangDi
8 | * @Title: ProviderController
9 | * @Description: TODO
10 | * @date 2018/11/23下午2:41
11 | */
12 |
13 | @RestController
14 | public class ProviderController {
15 |
16 | @GetMapping("/hello")
17 | public String gethello(){
18 |
19 | return "this is jenkins ci print.. exe update shell(33333333);";
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/eureka-provider/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | #指定自己实例的名称
2 | spring.application.name=eureka-provider
3 | #端口号
4 | server.port=30082
5 |
6 | eureka.server.port=30081
7 | #注册地址
8 | eureka.client.serviceUrl.defaultZone=http://172.20.4.148:30201/eureka/
--------------------------------------------------------------------------------
/eureka-provider/src/main/resources/application.yaml.bak:
--------------------------------------------------------------------------------
1 | server:
2 | port: 30081
3 | eureka:
4 | instance:
5 | hostname: ${EUREKA_HOST_NAME:peer1} #服务主机名
6 | appname: ${spring.application.name} #服务名称,默认为 unknow 这里直接取 spring.application.name 了
7 | client:
8 | register-with-eureka: ${BOOL_REGISTER:false} # 是否把服务中心本身当做eureka client 注册。默认为true
9 | fetch-registry: ${BOOL_FETCH:false} # 是否拉取 eureka server 的注册信息。 默认为true
10 | service-url:
11 | defaultZone: ${EUREKA_URL_LIST:http://peer1:30081/eureka/} # 指定服务中心 eureka server的地址
12 | server:
13 | enable-self-preservation: ${SELF_PRESERVATION:true} # 是否开启自我保护。 默认为 true.
14 |
15 | spring:
16 | application:
17 | name: ${EUREKA_APPLICATION_NAME:eureka-server}
--------------------------------------------------------------------------------
/eureka-provider/src/test/java/com/springcloud/eurekaprovider/EurekaProviderApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.springcloud.eurekaprovider;
2 |
3 | import org.junit.Test;
4 | import org.junit.runner.RunWith;
5 | import org.springframework.boot.test.context.SpringBootTest;
6 | import org.springframework.test.context.junit4.SpringRunner;
7 |
8 | @RunWith(SpringRunner.class)
9 | @SpringBootTest
10 | public class EurekaProviderApplicationTests {
11 |
12 | @Test
13 | public void contextLoads() {
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/eureka-server/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/eureka-server/.DS_Store
--------------------------------------------------------------------------------
/eureka-server/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | !.mvn/wrapper/maven-wrapper.jar
3 |
4 | ### STS ###
5 | .apt_generated
6 | .classpath
7 | .factorypath
8 | .project
9 | .settings
10 | .springBeans
11 | .sts4-cache
12 |
13 | ### IntelliJ IDEA ###
14 | .idea
15 | *.iws
16 | *.iml
17 | *.ipr
18 |
19 | ### NetBeans ###
20 | /nbproject/private/
21 | /build/
22 | /nbbuild/
23 | /dist/
24 | /nbdist/
25 | /.nb-gradle/
--------------------------------------------------------------------------------
/eureka-server/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/guoliangdi/springcloudFeign/52f0a9c805bdf27eb348592d93b5f3e47bb76c59/eureka-server/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/eureka-server/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
2 |
--------------------------------------------------------------------------------
/eureka-server/Dockerfile:
--------------------------------------------------------------------------------
1 | # Name: eureka-server
2 | # Time: 2018
3 |
4 | FROM java:8-jre
5 |
6 | MAINTAINER GuoliangDi
7 |
8 | RUN mkdir /app
9 |
10 | WORKDIR /app
11 |
12 | COPY ./target/eureka-server.jar /app
13 |
14 | CMD ["java", "-Xmx200m", "-jar", "/app/eureka-server.jar"]
15 |
16 | EXPOSE 30081
--------------------------------------------------------------------------------
/eureka-server/eureka-server-k8s.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
2 | kind: Deployment
3 | metadata:
4 | name: springcloud-eureka-server-deployment
5 | spec:
6 | replicas: 2
7 | template:
8 | metadata:
9 | labels:
10 | run: eureka-server-k8s
11 | spec:
12 | nodeSelector:
13 | # 指定节点生成Pod,不能指定master.
14 | kubernetes.io/hostname: node-001
15 | imagePullSecrets:
16 | # config harbor secret
17 | - name: harborsecret
18 | containers:
19 | - name: eureka-server-k8s
20 | # harbor 地址
21 | image: 172.20.4.27/springcloudfeign/eureka-server:201811261951_b47440a
22 | ports:
23 | - containerPort: 80 # docker容器端口
24 |
25 | ---
26 | apiVersion: v1
27 | kind: Service
28 | metadata:
29 | name: eureka-server-k8s
30 | labels:
31 | run: eureka-server-k8s
32 | spec:
33 | # 测试nodePort方式访问
34 | # NodePort 特点:直接开放端口(这种方式不推荐,一般用于demo)
35 | # 它指定节点上开放的端口 。如果你不指定这个端口,系统将选择一个随机端口
36 | # 大多数时候我们应该让 Kubernetes 来选择端口,因用户自己来选择可用端口代价太大
37 | type: NodePort
38 | ports:
39 | - port: 80
40 | targetPort: 80
41 | nodePort: 30001 # 节点主机端口
42 | selector:
43 | run: eureka-server-k8s
--------------------------------------------------------------------------------
/eureka-server/main-eureka-k8s.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: extensions/v1beta1
2 | kind: Deployment
3 | metadata:
4 | name: my-eureka
5 | spec:
6 | replicas: 2
7 | template:
8 | metadata:
9 | labels:
10 | run: my-eureka
11 | spec:
12 | containers:
13 | - name: my-eureka
14 | image: 172.20.4.27/springcloudfeign/eureka-server:201811281252_ce6bc79
15 | ports:
16 | - containerPort: 30081
17 |
18 | ---
19 | apiVersion: v1
20 | kind: Service
21 | metadata:
22 | name: my-eureka
23 | labels:
24 | run: my-eureka
25 | spec:
26 | type: NodePort
27 | ports:
28 | - port: 30081
29 | targetPort: 30081
30 | nodePort: 30081
31 | selector:
32 | run: my-eureka
33 |
--------------------------------------------------------------------------------
/eureka-server/mvnw.cmd:
--------------------------------------------------------------------------------
1 | @REM ----------------------------------------------------------------------------
2 | @REM Licensed to the Apache Software Foundation (ASF) under one
3 | @REM or more contributor license agreements. See the NOTICE file
4 | @REM distributed with this work for additional information
5 | @REM regarding copyright ownership. The ASF licenses this file
6 | @REM to you under the Apache License, Version 2.0 (the
7 | @REM "License"); you may not use this file except in compliance
8 | @REM with the License. You may obtain a copy of the License at
9 | @REM
10 | @REM http://www.apache.org/licenses/LICENSE-2.0
11 | @REM
12 | @REM Unless required by applicable law or agreed to in writing,
13 | @REM software distributed under the License is distributed on an
14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | @REM KIND, either express or implied. See the License for the
16 | @REM specific language governing permissions and limitations
17 | @REM under the License.
18 | @REM ----------------------------------------------------------------------------
19 |
20 | @REM ----------------------------------------------------------------------------
21 | @REM Maven2 Start Up Batch script
22 | @REM
23 | @REM Required ENV vars:
24 | @REM JAVA_HOME - location of a JDK home dir
25 | @REM
26 | @REM Optional ENV vars
27 | @REM M2_HOME - location of maven2's installed home dir
28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
31 | @REM e.g. to debug Maven itself, use
32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
34 | @REM ----------------------------------------------------------------------------
35 |
36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
37 | @echo off
38 | @REM set title of command window
39 | title %0
40 | @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
41 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
42 |
43 | @REM set %HOME% to equivalent of $HOME
44 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
45 |
46 | @REM Execute a user defined script before this one
47 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
48 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending
49 | if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
50 | if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
51 | :skipRcPre
52 |
53 | @setlocal
54 |
55 | set ERROR_CODE=0
56 |
57 | @REM To isolate internal variables from possible post scripts, we use another setlocal
58 | @setlocal
59 |
60 | @REM ==== START VALIDATION ====
61 | if not "%JAVA_HOME%" == "" goto OkJHome
62 |
63 | echo.
64 | echo Error: JAVA_HOME not found in your environment. >&2
65 | echo Please set the JAVA_HOME variable in your environment to match the >&2
66 | echo location of your Java installation. >&2
67 | echo.
68 | goto error
69 |
70 | :OkJHome
71 | if exist "%JAVA_HOME%\bin\java.exe" goto init
72 |
73 | echo.
74 | echo Error: JAVA_HOME is set to an invalid directory. >&2
75 | echo JAVA_HOME = "%JAVA_HOME%" >&2
76 | echo Please set the JAVA_HOME variable in your environment to match the >&2
77 | echo location of your Java installation. >&2
78 | echo.
79 | goto error
80 |
81 | @REM ==== END VALIDATION ====
82 |
83 | :init
84 |
85 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
86 | @REM Fallback to current working directory if not found.
87 |
88 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
89 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
90 |
91 | set EXEC_DIR=%CD%
92 | set WDIR=%EXEC_DIR%
93 | :findBaseDir
94 | IF EXIST "%WDIR%"\.mvn goto baseDirFound
95 | cd ..
96 | IF "%WDIR%"=="%CD%" goto baseDirNotFound
97 | set WDIR=%CD%
98 | goto findBaseDir
99 |
100 | :baseDirFound
101 | set MAVEN_PROJECTBASEDIR=%WDIR%
102 | cd "%EXEC_DIR%"
103 | goto endDetectBaseDir
104 |
105 | :baseDirNotFound
106 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
107 | cd "%EXEC_DIR%"
108 |
109 | :endDetectBaseDir
110 |
111 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
112 |
113 | @setlocal EnableExtensions EnableDelayedExpansion
114 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
115 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
116 |
117 | :endReadAdditionalConfig
118 |
119 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
120 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
121 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
122 |
123 | set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
124 | FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO (
125 | IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
126 | )
127 |
128 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
129 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data.
130 | if exist %WRAPPER_JAR% (
131 | echo Found %WRAPPER_JAR%
132 | ) else (
133 | echo Couldn't find %WRAPPER_JAR%, downloading it ...
134 | echo Downloading from: %DOWNLOAD_URL%
135 | powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
136 | echo Finished downloading %WRAPPER_JAR%
137 | )
138 | @REM End of extension
139 |
140 | %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
141 | if ERRORLEVEL 1 goto error
142 | goto end
143 |
144 | :error
145 | set ERROR_CODE=1
146 |
147 | :end
148 | @endlocal & set ERROR_CODE=%ERROR_CODE%
149 |
150 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
151 | @REM check for post script, once with legacy .bat ending and once with .cmd ending
152 | if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
153 | if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
154 | :skipRcPost
155 |
156 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
157 | if "%MAVEN_BATCH_PAUSE%" == "on" pause
158 |
159 | if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
160 |
161 | exit /B %ERROR_CODE%
162 |
--------------------------------------------------------------------------------
/eureka-server/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | com.springcloud
7 | eureka-server
8 | 0.0.1-SNAPSHOT
9 | jar
10 |
11 | eureka-server
12 | Demo project for Spring Boot
13 |
14 |
15 | org.springframework.boot
16 | spring-boot-starter-parent
17 | 2.1.0.RELEASE
18 |
19 |
20 |
21 |
22 | UTF-8
23 | UTF-8
24 | 1.8
25 | Greenwich.M1
26 |
27 |
28 |
29 |
30 | org.springframework.boot
31 | spring-boot-starter-web
32 |
33 |
34 | org.springframework.cloud
35 | spring-cloud-starter-netflix-eureka-client
36 |
37 |
38 | org.springframework.cloud
39 | spring-cloud-starter-netflix-eureka-server
40 |
41 |
42 | org.springframework.cloud
43 | spring-cloud-starter-openfeign
44 |
45 |
46 |
47 | org.springframework.boot
48 | spring-boot-starter-test
49 | test
50 |
51 |
52 |
53 |
54 |
55 |
56 | org.springframework.cloud
57 | spring-cloud-dependencies
58 | ${spring-cloud.version}
59 | pom
60 | import
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 | org.springframework.boot
69 | spring-boot-maven-plugin
70 |
71 | ${project.name}
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 | spring-milestones
80 | Spring Milestones
81 | https://repo.spring.io/milestone
82 |
83 | false
84 |
85 |
86 |
87 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/eureka-server/src/main/java/com/springcloud/eurekaserver/EurekaServerApplication.java:
--------------------------------------------------------------------------------
1 | package com.springcloud.eurekaserver;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 | import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
6 |
7 | @EnableEurekaServer
8 | @SpringBootApplication
9 | public class EurekaServerApplication {
10 |
11 | public static void main(String[] args) {
12 | SpringApplication.run(EurekaServerApplication.class, args);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/eureka-server/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=30081
2 | spring.application.name=eureka-server
3 | eureka.instance.hostname=localhost
4 | #禁用eureka注册自己
5 | eureka.client.register-with-eureka=false
6 | eureka.client.fetch-registry=false
7 | eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
--------------------------------------------------------------------------------
/eureka-server/src/main/resources/application.yaml.bak:
--------------------------------------------------------------------------------
1 | server:
2 | port: 30081
3 | eureka:
4 | instance:
5 | hostname: ${EUREKA_HOST_NAME:peer1} #服务主机名
6 | appname: ${spring.application.name} #服务名称,默认为 unknow 这里直接取 spring.application.name 了
7 | client:
8 | register-with-eureka: ${BOOL_REGISTER:false} # 是否把服务中心本身当做eureka client 注册。默认为true
9 | fetch-registry: ${BOOL_FETCH:false} # 是否拉取 eureka server 的注册信息。 默认为true
10 | service-url:
11 | defaultZone: ${EUREKA_URL_LIST:http://peer1:30081/eureka/} # 指定服务中心 eureka server的地址
12 | server:
13 | enable-self-preservation: ${SELF_PRESERVATION:true} # 是否开启自我保护。 默认为 true.
14 |
15 | spring:
16 | application:
17 | name: ${EUREKA_APPLICATION_NAME:eureka-server}
--------------------------------------------------------------------------------
/eureka-server/src/test/java/com/springcloud/eurekaserver/EurekaServerApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.springcloud.eurekaserver;
2 |
3 | import org.junit.Test;
4 | import org.junit.runner.RunWith;
5 | import org.springframework.boot.test.context.SpringBootTest;
6 | import org.springframework.test.context.junit4.SpringRunner;
7 |
8 | @RunWith(SpringRunner.class)
9 | @SpringBootTest
10 | public class EurekaServerApplicationTests {
11 |
12 | @Test
13 | public void contextLoads() {
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 | com.springcloud
8 | springcloudFeign
9 | 1.0-SNAPSHOT
10 | pom
11 | springcloudFeign
12 |
13 |
14 | eureka-server
15 | eureka-provider
16 | eureka-consumer-feign
17 |
18 |
19 |
20 |
21 |
22 |
23 | org.sonarsource.scanner.maven
24 | sonar-maven-plugin
25 | 3.5.0.1254
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/springcloudFeign.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/update-image.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | set -eo pipefail
4 |
5 | REGISTRY_IP="172.20.4.27"
6 | REGISTRY_NAME="springcloudfeign"
7 | PROJECT_MODULE="eureka-provider"
8 | HOST_PWD="bitauto"
9 | HOST_USER="root"
10 | HOST_IP="172.20.4.148"
11 |
12 |
13 | K8S_UPDATE_IMAGE_VER=`docker images |grep ${REGISTRY_IP}/${REGISTRY_NAME}/${PROJECT_MODULE} |awk 'NR==1 {print $2}'`
14 |
15 | sshpass -p ${HOST_PWD} ssh -p 22 -o StrictHostKeyChecking=no ${HOST_USER}@${HOST_IP} kubectl set image deployment my-provider my-provider=${REGISTRY_IP}/${REGISTRY_NAME}/${PROJECT_MODULE}:${K8S_UPDATE_IMAGE_VER} -n default --record
--------------------------------------------------------------------------------