From 03fc6fb9deb5173b7388b46279ad86c51c93078a Mon Sep 17 00:00:00 2001
From: Spring Operator
Date: Tue, 26 Mar 2019 03:45:48 -0500
Subject: [PATCH] URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.
* [ ] http://erik.eae.net/archives/2007/07/27/18.54.15/ (200) with 2 occurrences could not be migrated:
([https](https://erik.eae.net/archives/2007/07/27/18.54.15/) result SSLHandshakeException).
* [ ] http://javascript.nwbox.com/IEContentLoaded/ (200) with 2 occurrences could not be migrated:
([https](https://javascript.nwbox.com/IEContentLoaded/) result SSLHandshakeException).
* [ ] http://blindsignals.com/index.php/2009/07/jquery-delay/ (301) with 2 occurrences could not be migrated:
([https](https://blindsignals.com/index.php/2009/07/jquery-delay/) result SSLHandshakeException).
# Fixed URLs
## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.
* [ ] http://fontawesome.io (301) with 8 occurrences migrated to:
https://fontawesome.com?from=io ([https](https://fontawesome.io) result AnnotatedConnectException).
* [ ] http://jsperf.com/getall-vs-sizzle/2 (301) with 2 occurrences migrated to:
https://jsperf.com/getall-vs-sizzle/2 ([https](https://jsperf.com/getall-vs-sizzle/2) result ReadTimeoutException).
* [ ] http://192.168.99.100:8080/blue (ConnectTimeoutException) with 14 occurrences migrated to:
https://192.168.99.100:8080/blue ([https](https://192.168.99.100:8080/blue) result ConnectTimeoutException).
* [ ] http://192.168.99.100:8081/artifactory/libs-release-local (ConnectTimeoutException) with 16 occurrences migrated to:
https://192.168.99.100:8081/artifactory/libs-release-local ([https](https://192.168.99.100:8081/artifactory/libs-release-local) result ConnectTimeoutException).
* [ ] http://wiki.ecmascript.org/doku.php?id=harmony:egal (ConnectTimeoutException) with 2 occurrences migrated to:
https://wiki.ecmascript.org/doku.php?id=harmony:egal ([https](https://wiki.ecmascript.org/doku.php?id=harmony:egal) result ConnectTimeoutException).
* [ ] http://www.w3.org/TR/html4/loose.dtd (ReadTimeoutException) with 2 occurrences migrated to:
https://www.w3.org/TR/html4/loose.dtd ([https](https://www.w3.org/TR/html4/loose.dtd) result ReadTimeoutException).
* [ ] http://foo/com/example/github/github-analytics-stub-runner-boot-classpath-stubs/0.0.1.M1/github-analytics-stub-runner-boot-classpath-stubs-0.0.1.M1.jar (UnknownHostException) with 2 occurrences migrated to:
https://foo/com/example/github/github-analytics-stub-runner-boot-classpath-stubs/0.0.1.M1/github-analytics-stub-runner-boot-classpath-stubs-0.0.1.M1.jar ([https](https://foo/com/example/github/github-analytics-stub-runner-boot-classpath-stubs/0.0.1.M1/github-analytics-stub-runner-boot-classpath-stubs-0.0.1.M1.jar) result UnknownHostException).
* [ ] http://sc-pipelines-prometheus-prometheus-server.default.svc.cluster.local (UnknownHostException) with 6 occurrences migrated to:
https://sc-pipelines-prometheus-prometheus-server.default.svc.cluster.local ([https](https://sc-pipelines-prometheus-prometheus-server.default.svc.cluster.local) result UnknownHostException).
* [ ] http://cloud.spring.io/spring-cloud/spring-cloud-pipelines.html (404) with 2 occurrences migrated to:
https://cloud.spring.io/spring-cloud/spring-cloud-pipelines.html ([https](https://cloud.spring.io/spring-cloud/spring-cloud-pipelines.html) result 404).
* [ ] http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ (301) with 2 occurrences migrated to:
https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ ([https](https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/) result 404).
* [ ] http://github.com/sprinframework (301) with 8 occurrences migrated to:
https://github.com/sprinframework ([https](https://github.com/sprinframework) result 404).
* [ ] http://github.com/spring_hadoop (301) with 8 occurrences migrated to:
https://github.com/spring_hadoop ([https](https://github.com/spring_hadoop) result 404).
* [ ] http://json.org/json2.js (404) with 2 occurrences migrated to:
https://json.org/json2.js ([https](https://json.org/json2.js) result 404).
* [ ] http://pivotal.github.com/jasmine (404) with 2 occurrences migrated to:
https://pivotal.github.com/jasmine ([https](https://pivotal.github.com/jasmine) result 404).
## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.
* [ ] http://EditorConfig.org with 1 occurrences migrated to:
https://EditorConfig.org ([https](https://EditorConfig.org) result 200).
* [ ] http://backbonejs.org with 2 occurrences migrated to:
https://backbonejs.org ([https](https://backbonejs.org) result 200).
* [ ] http://bugs.jquery.com/ticket/12282 with 2 occurrences migrated to:
https://bugs.jquery.com/ticket/12282 ([https](https://bugs.jquery.com/ticket/12282) result 200).
* [ ] http://bugs.jquery.com/ticket/12359 with 2 occurrences migrated to:
https://bugs.jquery.com/ticket/12359 ([https](https://bugs.jquery.com/ticket/12359) result 200).
* [ ] http://bugs.jquery.com/ticket/13378 with 2 occurrences migrated to:
https://bugs.jquery.com/ticket/13378 ([https](https://bugs.jquery.com/ticket/13378) result 200).
* [ ] http://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js with 1 occurrences migrated to:
https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js ([https](https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js) result 200).
* [ ] http://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html with 10 occurrences migrated to:
https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html ([https](https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html) result 200).
* [ ] http://cloud.spring.io/spring-cloud-pipelines/images/intro/flow.png with 2 occurrences migrated to:
https://cloud.spring.io/spring-cloud-pipelines/images/intro/flow.png ([https](https://cloud.spring.io/spring-cloud-pipelines/images/intro/flow.png) result 200).
* [ ] http://cloud.spring.io/spring-cloud-pipelines/images/intro/flow_concourse.png with 2 occurrences migrated to:
https://cloud.spring.io/spring-cloud-pipelines/images/intro/flow_concourse.png ([https](https://cloud.spring.io/spring-cloud-pipelines/images/intro/flow_concourse.png) result 200).
* [ ] http://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html with 4 occurrences migrated to:
https://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html ([https](https://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html) result 200).
* [ ] http://creativecommons.org/licenses/by/3.0/ with 4 occurrences migrated to:
https://creativecommons.org/licenses/by/3.0/ ([https](https://creativecommons.org/licenses/by/3.0/) result 200).
* [ ] http://diveintohtml5.info/history.html with 2 occurrences migrated to:
https://diveintohtml5.info/history.html ([https](https://diveintohtml5.info/history.html) result 200).
* [ ] http://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/api/ with 2 occurrences migrated to:
https://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/api/ ([https](https://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/api/) result 200).
* [ ] http://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/reference/html/ with 2 occurrences migrated to:
https://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/reference/html/ ([https](https://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/reference/html/) result 200).
* [ ] http://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/api/ with 2 occurrences migrated to:
https://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/api/ ([https](https://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/api/) result 200).
* [ ] http://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/reference/html/ with 2 occurrences migrated to:
https://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/reference/html/ ([https](https://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/reference/html/) result 200).
* [ ] http://github.com/spring-cloud/spring-cloud-pipelines with 2 occurrences migrated to:
https://github.com/spring-cloud/spring-cloud-pipelines ([https](https://github.com/spring-cloud/spring-cloud-pipelines) result 200).
* [ ] http://imgs.mi9.com/uploads/landscape/2101/beautiful-leaf-wallpapers_1280x960_28083.jpg with 2 occurrences migrated to:
https://imgs.mi9.com/uploads/landscape/2101/beautiful-leaf-wallpapers_1280x960_28083.jpg ([https](https://imgs.mi9.com/uploads/landscape/2101/beautiful-leaf-wallpapers_1280x960_28083.jpg) result 200).
* [ ] http://jquery.com/ with 2 occurrences migrated to:
https://jquery.com/ ([https](https://jquery.com/) result 200).
* [ ] http://opensource.org/licenses/mit-license.html with 4 occurrences migrated to:
https://opensource.org/licenses/mit-license.html ([https](https://opensource.org/licenses/mit-license.html) result 200).
* [ ] http://run.pivotal.io with 4 occurrences migrated to:
https://run.pivotal.io ([https](https://run.pivotal.io) result 200).
* [ ] http://silviomoreto.github.io/bootstrap-select/ with 4 occurrences migrated to:
https://silviomoreto.github.io/bootstrap-select/ ([https](https://silviomoreto.github.io/bootstrap-select/) result 200).
* [ ] http://sizzlejs.com/ with 4 occurrences migrated to:
https://sizzlejs.com/ ([https](https://sizzlejs.com/) result 200).
* [ ] http://spring.io/guides/gs/gradle/ with 2 occurrences migrated to:
https://spring.io/guides/gs/gradle/ ([https](https://spring.io/guides/gs/gradle/) result 200).
* [ ] http://spring.io/guides/gs/maven/ with 2 occurrences migrated to:
https://spring.io/guides/gs/maven/ ([https](https://spring.io/guides/gs/maven/) result 200).
* [ ] http://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei with 10 occurrences migrated to:
https://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei ([https](https://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei) result 200).
* [ ] http://stackoverflow.com/questions/tagged/spring-cloud with 4 occurrences migrated to:
https://stackoverflow.com/questions/tagged/spring-cloud ([https](https://stackoverflow.com/questions/tagged/spring-cloud) result 200).
* [ ] http://stackoverflow.com/questions/tagged/spring-data-jpa with 2 occurrences migrated to:
https://stackoverflow.com/questions/tagged/spring-data-jpa ([https](https://stackoverflow.com/questions/tagged/spring-data-jpa) result 200).
* [ ] http://twitter.com/byscuits with 4 occurrences migrated to:
https://twitter.com/byscuits ([https](https://twitter.com/byscuits) result 200).
* [ ] http://twitter.com/fontawesome with 4 occurrences migrated to:
https://twitter.com/fontawesome ([https](https://twitter.com/fontawesome) result 200).
* [ ] http://underscorejs.org with 2 occurrences migrated to:
https://underscorejs.org ([https](https://underscorejs.org) result 200).
* [ ] http://www.java.com/en/download/help/error_hotspot.xml with 2 occurrences migrated to:
https://www.java.com/en/download/help/error_hotspot.xml ([https](https://www.java.com/en/download/help/error_hotspot.xml) result 200).
* [ ] http://kyruus.com (301) with 4 occurrences migrated to:
https://www.kyruus.com/ ([https](https://kyruus.com) result 200).
* [ ] http://www.shellcheck.net/ with 5 occurrences migrated to:
https://www.shellcheck.net/ ([https](https://www.shellcheck.net/) result 200).
* [ ] http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html with 2 occurrences migrated to:
https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html ([https](https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html) result 200).
* [ ] http://www.w3.org/TR/2011/REC-css3-selectors-20110929/ with 4 occurrences migrated to:
https://www.w3.org/TR/2011/REC-css3-selectors-20110929/ ([https](https://www.w3.org/TR/2011/REC-css3-selectors-20110929/) result 200).
* [ ] http://www.w3.org/TR/CSS21/syndata.html with 4 occurrences migrated to:
https://www.w3.org/TR/CSS21/syndata.html ([https](https://www.w3.org/TR/CSS21/syndata.html) result 200).
* [ ] http://www.w3.org/TR/selectors/ with 8 occurrences migrated to:
https://www.w3.org/TR/selectors/ ([https](https://www.w3.org/TR/selectors/) result 200).
* [ ] http://dev.w3.org/csswg/cssom/ with 2 occurrences migrated to:
https://dev.w3.org/csswg/cssom/ ([https](https://dev.w3.org/csswg/cssom/) result 301).
* [ ] http://docs.python.org/library/functions.html with 2 occurrences migrated to:
https://docs.python.org/library/functions.html ([https](https://docs.python.org/library/functions.html) result 301).
* [ ] http://forum.spring.io/forum/spring-projects/data with 2 occurrences migrated to:
https://forum.spring.io/forum/spring-projects/data ([https](https://forum.spring.io/forum/spring-projects/data) result 301).
* [ ] http://github.com/SpringSource/spring-data-jpa with 2 occurrences migrated to:
https://github.com/SpringSource/spring-data-jpa ([https](https://github.com/SpringSource/spring-data-jpa) result 301).
* [ ] http://github.com/pivotal/jasmine-ajax with 2 occurrences migrated to:
https://github.com/pivotal/jasmine-ajax ([https](https://github.com/pivotal/jasmine-ajax) result 301).
* [ ] http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_ with 2 occurrences migrated to:
https://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_ ([https](https://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_) result 301).
* [ ] http://jira.springsource.org/browse/DATAJPA with 2 occurrences migrated to:
https://jira.springsource.org/browse/DATAJPA ([https](https://jira.springsource.org/browse/DATAJPA) result 301).
* [ ] http://jquery.org/license with 4 occurrences migrated to:
https://jquery.org/license ([https](https://jquery.org/license) result 301).
* [ ] http://kubernetes.io/docs/user-guide/compute-resources/ with 20 occurrences migrated to:
https://kubernetes.io/docs/user-guide/compute-resources/ ([https](https://kubernetes.io/docs/user-guide/compute-resources/) result 301).
* [ ] http://kubernetes.io/docs/user-guide/persistent-volumes/ with 8 occurrences migrated to:
https://kubernetes.io/docs/user-guide/persistent-volumes/ ([https](https://kubernetes.io/docs/user-guide/persistent-volumes/) result 301).
* [ ] http://projects.spring.io/spring-data-jpa with 2 occurrences migrated to:
https://projects.spring.io/spring-data-jpa ([https](https://projects.spring.io/spring-data-jpa) result 301).
* [ ] http://twitter.github.com/bootstrap/javascript.html with 26 occurrences migrated to:
https://twitter.github.com/bootstrap/javascript.html ([https](https://twitter.github.com/bootstrap/javascript.html) result 301).
* [ ] http://www.modernizr.com/ with 2 occurrences migrated to:
https://www.modernizr.com/ ([https](https://www.modernizr.com/) result 301).
* [ ] http://www.spring.io with 16 occurrences migrated to:
https://www.spring.io ([https](https://www.spring.io) result 301).
* [ ] http://www.w3.org/TR/css3-selectors/ with 4 occurrences migrated to:
https://www.w3.org/TR/css3-selectors/ ([https](https://www.w3.org/TR/css3-selectors/) result 301).
* [ ] http://www.w3.org/TR/css3-syntax/ with 2 occurrences migrated to:
https://www.w3.org/TR/css3-syntax/ ([https](https://www.w3.org/TR/css3-syntax/) result 301).
* [ ] http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx with 4 occurrences migrated to:
https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx ([https](https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx) result 302).
* [ ] http://repo.spring.io/milestone with 8 occurrences migrated to:
https://repo.spring.io/milestone ([https](https://repo.spring.io/milestone) result 302).
* [ ] http://scripts.sil.org/OFL with 4 occurrences migrated to:
https://scripts.sil.org/OFL ([https](https://scripts.sil.org/OFL) result 302).
* [ ] http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context with 2 occurrences migrated to:
https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context ([https](https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context) result 302).
# Ignored
These URLs were intentionally ignored.
* http://127.0.0.1:8080 with 20 occurrences
* http://artifactory with 2 occurrences
* http://artifactory:8081/artifactory/libs-release-local with 27 occurrences
* http://docbook.org/ns/docbook with 1422 occurrences
* http://foo with 1 occurrences
* http://foo/bar with 10 occurrences
* http://localhost with 4 occurrences
* http://localhost:8001/ui/ with 8 occurrences
* http://localhost:8080 with 3 occurrences
* http://localhost:9876/ with 2 occurrences
* http://www with 2 occurrences
---
.editorconfig | 2 +-
.gitignore | 2 +-
README.adoc | 36 ++++++------
.../src/main/asciidoc/CONCOURSE.adoc | 2 +-
.../docs-sources/src/main/asciidoc/INTRO.adoc | 4 +-
.../src/main/asciidoc/JENKINS_BLUE_OCEAN.adoc | 4 +-
.../src/main/asciidoc/JENKINS_COMMON.adoc | 2 +-
.../docs-sources/src/main/asciidoc/TECH.adoc | 2 +-
common/src/test/bats/pipeline-cf.bats | 4 +-
concourse/.gitignore | 2 +-
concourse/README.adoc | 2 +-
concourse/credentials-sample-cf.yml | 4 +-
.../src/main/asciidoc/CF_CONCOURSE.adoc | 2 +-
.../src/main/asciidoc/CF_MIGRATION.adoc | 2 +-
docs-sources/src/main/asciidoc/INTRO.adoc | 4 +-
.../src/main/asciidoc/JENKINS_BLUE_OCEAN.adoc | 4 +-
.../src/main/asciidoc/JENKINS_COMMON.adoc | 2 +-
docs-sources/src/main/asciidoc/K8S_DEMO.adoc | 16 ++---
docs-sources/src/main/asciidoc/TECH.adoc | 2 +-
docs-sources/src/main/jekyll/_config.yml | 4 +-
.../main/jekyll/_includes/download_widget.md | 4 +-
.../main/jekyll/_sample-pages/project.html | 6 +-
.../jekyll/_sample-pages/project_group.html | 16 ++---
.../jekyll/bootstrap/css/bootstrap-select.css | 2 +-
.../jekyll/bootstrap/js/bootstrap-select.js | 2 +-
.../src/main/jekyll/bootstrap/js/bootstrap.js | 28 ++++-----
docs-sources/src/main/jekyll/css/main.css.css | 2 +-
.../font-awesome/css/font-awesome-ie7.css | 16 ++---
.../jekyll/font-awesome/css/font-awesome.css | 16 ++---
docs-sources/src/main/jekyll/index.html | 12 ++--
docs-sources/src/main/jekyll/js/backbone.js | 4 +-
docs-sources/src/main/jekyll/js/jquery.js | 58 +++++++++----------
.../src/main/jekyll/js/test/SpecRunner.html | 2 +-
.../jekyll/js/test/lib/support/mock-ajax.js | 4 +-
.../js/test/spec/QuickStartWidgetSpec.js | 20 +++----
docs-sources/src/main/jekyll/js/underscore.js | 6 +-
docs/_config.yml | 4 +-
docs/_includes/download_widget.md | 4 +-
docs/_sample-pages/project.html | 6 +-
docs/_sample-pages/project_group.html | 16 ++---
docs/bootstrap/css/bootstrap-select.css | 2 +-
docs/bootstrap/js/bootstrap-select.js | 2 +-
docs/bootstrap/js/bootstrap.js | 28 ++++-----
docs/css/main.css.css | 2 +-
docs/font-awesome/css/font-awesome-ie7.css | 16 ++---
docs/font-awesome/css/font-awesome.css | 16 ++---
docs/index.html | 12 ++--
docs/js/backbone.js | 4 +-
docs/js/jquery.js | 58 +++++++++----------
docs/js/test/SpecRunner.html | 2 +-
docs/js/test/lib/support/mock-ajax.js | 4 +-
docs/js/test/spec/QuickStartWidgetSpec.js | 20 +++----
docs/js/underscore.js | 6 +-
docs/multi/multi__building_the_project.html | 2 +-
docs/multi/multi__introduction.html | 2 +-
.../multi/multi__jenkins_pipeline_common.html | 2 +-
..._step_by_step_cloud_foundry_migration.html | 2 +-
.../multi__the_demo_setup_kubernetes.html | 16 ++---
docs/multi/multi_concourse-pipeline-cf.html | 2 +-
docs/multi/multi_jenkins-pipeline-cf.html | 4 +-
docs/multi/multi_jenkins-pipeline-k8s.html | 4 +-
docs/single/spring-cloud-pipelines.html | 34 +++++------
docs/spring-cloud-pipelines.html | 2 +-
jenkins/README.adoc | 10 ++--
64 files changed, 291 insertions(+), 291 deletions(-)
diff --git a/.editorconfig b/.editorconfig
index 0679d88a..e65ee453 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,4 +1,4 @@
-# EditorConfig is awesome: http://EditorConfig.org
+# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
diff --git a/.gitignore b/.gitignore
index 4532cf09..9ebebb84 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,7 @@
*.war
*.ear
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+# virtual machine crash logs, see https://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.gradle
diff --git a/README.adoc b/README.adoc
index 906c3ce3..da2b24b1 100644
--- a/README.adoc
+++ b/README.adoc
@@ -211,11 +211,11 @@ microservices. That way the testing setup looks like this:
image::{intro-root-docs}/stubbed_dependencies.png[title="We're testing microservices in isolation"]
Such an approach to testing and deployment gives the following benefits
-(thanks to the usage of http://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract]):
+(thanks to the usage of https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract]):
- No need to deploy dependant services
- The stubs used for the tests ran on a deployed microservice are the same as those used during integration tests
-- Those stubs have been tested against the application that produces them (check http://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract] for more information)
+- Those stubs have been tested against the application that produces them (check https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract] for more information)
- We don't have many slow tests running on a deployed application - thus the pipeline gets executed much faster
- We don't have to queue deployments - we're testing in isolation thus pipelines don't interfere with each other
- We don't have to spawn virtual machines each time for deployment purposes
@@ -803,7 +803,7 @@ Below you can see what environment variables are required by the scripts. To the
|PAAS_STAGE_SPACE | Name of the space for the stage env | sc-pipelines-stage
|PAAS_PROD_ORG | Name of the org for the prod env | pcfdev-org
|PAAS_PROD_SPACE | Name of the space for the prod env | sc-pipelines-prod
-|REPO_WITH_BINARIES_FOR_UPLOAD | URL to repo with the deployed jars | http://192.168.99.100:8081/artifactory/libs-release-local
+|REPO_WITH_BINARIES_FOR_UPLOAD | URL to repo with the deployed jars | https://192.168.99.100:8081/artifactory/libs-release-local
|M2_SETTINGS_REPO_ID | The id of server from Maven settings.xml | artifactory-local
|PAAS_HOSTNAME_UUID | Additional suffix for the route. In a shared environment the default routes can be already taken |
|JAVA_BUILDPACK_URL | The URL to the Java buildpack to be used by CF | https://github.com/cloudfoundry/java-buildpack.git#v3.8.1 |
@@ -1319,7 +1319,7 @@ executing `tools/deploy-infra.sh`. Example for deploying to Artifactory at IP `1
----
git clone https://github.com/spring-cloud/spring-cloud-pipelines
cd spring-cloud-pipelines/
-ARTIFACTORY_URL="http://192.168.99.100:8081/artifactory/libs-release-local" ./tools/deploy-infra.sh
+ARTIFACTORY_URL="https://192.168.99.100:8081/artifactory/libs-release-local" ./tools/deploy-infra.sh
----
[[setup-settings-xml]]
@@ -1702,7 +1702,7 @@ You can also use the https://jenkins.io/doc/book/pipeline/syntax/[declarative pi
https://jenkins.io/projects/blueocean/[Blue Ocean UI]. Here is a step by step guide to run a pipeline via
this approach.
-The Blue Ocean UI is available under the `blue/` URL. E.g. for Docker Machine based setup `http://192.168.99.100:8080/blue`.
+The Blue Ocean UI is available under the `blue/` URL. E.g. for Docker Machine based setup `https://192.168.99.100:8080/blue`.
{nbsp}
{nbsp}
@@ -1749,7 +1749,7 @@ check out this https://issues.jenkins-ci.org/browse/JENKINS-33846[issue] for mor
WARNING: Currently there is no way to introduce manual steps in a performant way. Jenkins is
blocking an executor when manual step is required. That means that you'll run out of executors
pretty fast. You can check out this https://issues.jenkins-ci.org/browse/JENKINS-36235[issue] for
-and this http://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei[StackOverflow question]
+and this https://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei[StackOverflow question]
for more information.
[[optional-steps-cf]]
@@ -1992,7 +1992,7 @@ You can also use the https://jenkins.io/doc/book/pipeline/syntax/[declarative pi
https://jenkins.io/projects/blueocean/[Blue Ocean UI]. Here is a step by step guide to run a pipeline via
this approach.
-The Blue Ocean UI is available under the `blue/` URL. E.g. for Docker Machine based setup `http://192.168.99.100:8080/blue`.
+The Blue Ocean UI is available under the `blue/` URL. E.g. for Docker Machine based setup `https://192.168.99.100:8080/blue`.
{nbsp}
{nbsp}
@@ -2039,7 +2039,7 @@ check out this https://issues.jenkins-ci.org/browse/JENKINS-33846[issue] for mor
WARNING: Currently there is no way to introduce manual steps in a performant way. Jenkins is
blocking an executor when manual step is required. That means that you'll run out of executors
pretty fast. You can check out this https://issues.jenkins-ci.org/browse/JENKINS-36235[issue] for
-and this http://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei[StackOverflow question]
+and this https://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei[StackOverflow question]
for more information.
[[optional-steps-k8s]]
@@ -2920,7 +2920,7 @@ alertmanager:
## alertmanager data Persistent Volume access modes
## Must match those of existing PV or dynamic provisioner
- ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
+ ## Ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
##
accessModes:
- ReadWriteOnce
@@ -2963,7 +2963,7 @@ alertmanager:
replicaCount: 1
## alertmanager resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -3005,7 +3005,7 @@ configmapReload:
pullPolicy: IfNotPresent
## configmap-reload resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
@@ -3040,7 +3040,7 @@ kubeStateMetrics:
replicaCount: 1
## kube-state-metrics resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -3237,7 +3237,7 @@ server:
## Prometheus server data Persistent Volume access modes
## Must match those of existing PV or dynamic provisioner
- ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
+ ## Ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
##
accessModes:
- ReadWriteOnce
@@ -3281,7 +3281,7 @@ server:
replicaCount: 1
## Prometheus server resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -3371,7 +3371,7 @@ pushgateway:
replicaCount: 1
## pushgateway resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -3691,7 +3691,7 @@ NOTES:
----
Perform the aforementioned steps and add the Grafana's datasource
-as Prometheus with URL `http://sc-pipelines-prometheus-prometheus-server.default.svc.cluster.local`
+as Prometheus with URL `https://sc-pipelines-prometheus-prometheus-server.default.svc.cluster.local`
You can pick the dashboard via the Grafana ID (2471). This is the
default dashboard for the Spring Cloud Pipelines demo apps.
@@ -3761,7 +3761,7 @@ We will also be refactoring the application to comply with Spring Cloud Pipeline
- https://github.com/ciberkleid/app-config[app-config]
- https://github.com/spring-cloud-samples/cloudfoundry-stub-runner-boot[cloudfoundry-stub-runner-boot]
- https://github.com/spring-cloud/spring-cloud-pipelines[spring-cloud-pipelines]
-* *Pivotal Web Services* - public hosted Cloud Foundry offering http://run.pivotal.io[free trial accounts] and including MySQL, Rabbit, and Pivotal Spring Cloud Services in the Marketplace
+* *Pivotal Web Services* - public hosted Cloud Foundry offering https://run.pivotal.io[free trial accounts] and including MySQL, Rabbit, and Pivotal Spring Cloud Services in the Marketplace
* *Concourse*
* *JFrog Bintray* - public hosted Maven repository offering free https://bintray.com/signup/oss[OSS accounts]
* *Client Tools* - on your local machine, you will need an IDE as well as the mvn, git, cf, and fly (Concourse) CLIs
@@ -5245,7 +5245,7 @@ Happy coding!
=== Prerequisites
-As prerequisites you need to have http://www.shellcheck.net/[shellcheck],
+As prerequisites you need to have https://www.shellcheck.net/[shellcheck],
https://github.com/sstephenson/bats[bats], https://stedolan.github.io/jq/[jq]
and https://rubyinstaller.org/downloads/[ruby] installed. If you're on a Linux
machine then `bats` and `shellcheck` will be installed for you.
diff --git a/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/CONCOURSE.adoc b/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/CONCOURSE.adoc
index fd7c74fd..c430e46d 100644
--- a/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/CONCOURSE.adoc
+++ b/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/CONCOURSE.adoc
@@ -171,7 +171,7 @@ Below you can see what environment variables are required by the scripts. To the
|PAAS_STAGE_SPACE | Name of the space for the stage env | sc-pipelines-stage
|PAAS_PROD_ORG | Name of the org for the prod env | pcfdev-org
|PAAS_PROD_SPACE | Name of the space for the prod env | sc-pipelines-prod
-|REPO_WITH_BINARIES_FOR_UPLOAD | URL to repo with the deployed jars | http://192.168.99.100:8081/artifactory/libs-release-local
+|REPO_WITH_BINARIES_FOR_UPLOAD | URL to repo with the deployed jars | https://192.168.99.100:8081/artifactory/libs-release-local
|M2_SETTINGS_REPO_ID | The id of server from Maven settings.xml | artifactory-local
|PAAS_HOSTNAME_UUID | Additional suffix for the route. In a shared environment the default routes can be already taken |
|APP_MEMORY_LIMIT | How much memory should be used by the infra apps (Eureka, Stub Runner etc.) | 256m
diff --git a/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/INTRO.adoc b/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/INTRO.adoc
index 28bb004c..718f912e 100644
--- a/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/INTRO.adoc
+++ b/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/INTRO.adoc
@@ -160,11 +160,11 @@ microservices. That way the testing setup looks like this:
image::{intro-root-docs}/stubbed_dependencies.png[title="We're testing microservices in isolation"]
Such an approach to testing and deployment gives the following benefits
-(thanks to the usage of http://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract]):
+(thanks to the usage of https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract]):
- No need to deploy dependant services
- The stubs used for the tests ran on a deployed microservice are the same as those used during integration tests
-- Those stubs have been tested against the application that produces them (check http://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract] for more information)
+- Those stubs have been tested against the application that produces them (check https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract] for more information)
- We don't have many slow tests running on a deployed application - thus the pipeline gets executed much faster
- We don't have to queue deployments - we're testing in isolation thus pipelines don't interfere with each other
- We don't have to spawn virtual machines each time for deployment purposes
diff --git a/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/JENKINS_BLUE_OCEAN.adoc b/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/JENKINS_BLUE_OCEAN.adoc
index f33500be..72426533 100644
--- a/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/JENKINS_BLUE_OCEAN.adoc
+++ b/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/JENKINS_BLUE_OCEAN.adoc
@@ -2,7 +2,7 @@ You can also use the https://jenkins.io/doc/book/pipeline/syntax/[declarative pi
https://jenkins.io/projects/blueocean/[Blue Ocean UI]. Here is a step by step guide to run a pipeline via
this approach.
-The Blue Ocean UI is available under the `blue/` URL. E.g. for Docker Machine based setup `http://192.168.99.100:8080/blue`.
+The Blue Ocean UI is available under the `blue/` URL. E.g. for Docker Machine based setup `https://192.168.99.100:8080/blue`.
{nbsp}
{nbsp}
@@ -49,5 +49,5 @@ check out this https://issues.jenkins-ci.org/browse/JENKINS-33846[issue] for mor
WARNING: Currently there is no way to introduce manual steps in a performant way. Jenkins is
blocking an executor when manual step is required. That means that you'll run out of executors
pretty fast. You can check out this https://issues.jenkins-ci.org/browse/JENKINS-36235[issue] for
-and this http://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei[StackOverflow question]
+and this https://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei[StackOverflow question]
for more information.
diff --git a/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/JENKINS_COMMON.adoc b/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/JENKINS_COMMON.adoc
index e4a680e2..894d29a4 100644
--- a/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/JENKINS_COMMON.adoc
+++ b/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/JENKINS_COMMON.adoc
@@ -60,7 +60,7 @@ executing `tools/deploy-infra.sh`. Example for deploying to Artifactory at IP `1
----
git clone https://github.com/spring-cloud/spring-cloud-pipelines
cd spring-cloud-pipelines/
-ARTIFACTORY_URL="http://192.168.99.100:8081/artifactory/libs-release-local" ./tools/deploy-infra.sh
+ARTIFACTORY_URL="https://192.168.99.100:8081/artifactory/libs-release-local" ./tools/deploy-infra.sh
----
[[setup-settings-xml]]
diff --git a/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/TECH.adoc b/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/TECH.adoc
index 2bbabd78..abf0cce8 100644
--- a/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/TECH.adoc
+++ b/buildSrc/src/test/resources/project_customizer/docs-sources/src/main/asciidoc/TECH.adoc
@@ -2,7 +2,7 @@
=== Prerequisites
-As prerequisites you need to have http://www.shellcheck.net/[shellcheck],
+As prerequisites you need to have https://www.shellcheck.net/[shellcheck],
https://github.com/sstephenson/bats[bats], https://stedolan.github.io/jq/[jq]
and https://rubyinstaller.org/downloads/[ruby] installed. If you're on a Linux
machine then `bats` and `shellcheck` will be installed for you.
diff --git a/common/src/test/bats/pipeline-cf.bats b/common/src/test/bats/pipeline-cf.bats
index 167e8144..6794e659 100644
--- a/common/src/test/bats/pipeline-cf.bats
+++ b/common/src/test/bats/pipeline-cf.bats
@@ -263,7 +263,7 @@ export -f fakeRetrieveStubRunnerIds
# Stub Runner
assert_output --partial "Setting env var [APPLICATION_HOSTNAME] -> [stubrunner-test-my-project] for app [stubrunner]"
assert_output --partial "Setting env var [APPLICATION_DOMAIN] -> [cfapps.io] for app [stubrunner]"
- assert_output --partial "curl -u foo:bar http://foo/com/example/github/github-analytics-stub-runner-boot-classpath-stubs/0.0.1.M1/github-analytics-stub-runner-boot-classpath-stubs-0.0.1.M1.jar -o"
+ assert_output --partial "curl -u foo:bar https://foo/com/example/github/github-analytics-stub-runner-boot-classpath-stubs/0.0.1.M1/github-analytics-stub-runner-boot-classpath-stubs-0.0.1.M1.jar -o"
assert_output --partial "cf curl /v2/apps/4215794a-eeef-4de2-9a80-c73b5d1a02be -X PUT"
assert_output --partial "[8080,10000,10001,10002"
assert_output --partial "cf create-route test-space-my-project cfapps.io --hostname stubrunner-test-my-project-10000"
@@ -335,7 +335,7 @@ export -f fakeRetrieveStubRunnerIds
# Stub Runner
assert_output --partial "Setting env var [APPLICATION_HOSTNAME] -> [stubrunner-test-${projectNameUppercase}] for app [stubrunner]"
assert_output --partial "Setting env var [APPLICATION_DOMAIN] -> [artifactId] for app [stubrunner]"
- assert_output --partial "curl -u foo:bar http://foo/com/example/github/github-analytics-stub-runner-boot-classpath-stubs/0.0.1.M1/github-analytics-stub-runner-boot-classpath-stubs-0.0.1.M1.jar -o"
+ assert_output --partial "curl -u foo:bar https://foo/com/example/github/github-analytics-stub-runner-boot-classpath-stubs/0.0.1.M1/github-analytics-stub-runner-boot-classpath-stubs-0.0.1.M1.jar -o"
assert_output --partial "cf curl /v2/apps/4215794a-eeef-4de2-9a80-c73b5d1a02be -X PUT"
assert_output --partial "[8080,10000,10001,10002"
assert_output --partial "cf create-route test-space-${projectNameUppercase} artifactId --hostname stubrunner-test-${projectNameUppercase}-10000"
diff --git a/concourse/.gitignore b/concourse/.gitignore
index ee6f0ebd..a60fcc83 100644
--- a/concourse/.gitignore
+++ b/concourse/.gitignore
@@ -8,7 +8,7 @@
*.war
*.ear
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+# virtual machine crash logs, see https://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
credentials.yml
diff --git a/concourse/README.adoc b/concourse/README.adoc
index a8f53c8f..1b5d5503 100644
--- a/concourse/README.adoc
+++ b/concourse/README.adoc
@@ -182,7 +182,7 @@ Below you can see what environment variables are required by the scripts. To the
|PAAS_STAGE_SPACE | Name of the space for the stage env | sc-pipelines-stage
|PAAS_PROD_ORG | Name of the org for the prod env | pcfdev-org
|PAAS_PROD_SPACE | Name of the space for the prod env | sc-pipelines-prod
-|REPO_WITH_BINARIES_FOR_UPLOAD | URL to repo with the deployed jars | http://192.168.99.100:8081/artifactory/libs-release-local
+|REPO_WITH_BINARIES_FOR_UPLOAD | URL to repo with the deployed jars | https://192.168.99.100:8081/artifactory/libs-release-local
|M2_SETTINGS_REPO_ID | The id of server from Maven settings.xml | artifactory-local
|PAAS_HOSTNAME_UUID | Additional suffix for the route. In a shared environment the default routes can be already taken |
|JAVA_BUILDPACK_URL | The URL to the Java buildpack to be used by CF | https://github.com/cloudfoundry/java-buildpack.git#v3.8.1 |
diff --git a/concourse/credentials-sample-cf.yml b/concourse/credentials-sample-cf.yml
index 777de7b6..af7a0988 100644
--- a/concourse/credentials-sample-cf.yml
+++ b/concourse/credentials-sample-cf.yml
@@ -71,5 +71,5 @@ m2-settings-repo-password: password
# if download differs from upload set `repo-with-binaries-for-upload`
# example of such a case is Bintray
-repo-with-binaries: http://192.168.99.100:8081/artifactory/libs-release-local
-repo-with-binaries-for-upload: http://192.168.99.100:8081/artifactory/libs-release-local
+repo-with-binaries: https://192.168.99.100:8081/artifactory/libs-release-local
+repo-with-binaries-for-upload: https://192.168.99.100:8081/artifactory/libs-release-local
diff --git a/docs-sources/src/main/asciidoc/CF_CONCOURSE.adoc b/docs-sources/src/main/asciidoc/CF_CONCOURSE.adoc
index 5fea7b28..0527e7c1 100644
--- a/docs-sources/src/main/asciidoc/CF_CONCOURSE.adoc
+++ b/docs-sources/src/main/asciidoc/CF_CONCOURSE.adoc
@@ -176,7 +176,7 @@ Below you can see what environment variables are required by the scripts. To the
|PAAS_STAGE_SPACE | Name of the space for the stage env | sc-pipelines-stage
|PAAS_PROD_ORG | Name of the org for the prod env | pcfdev-org
|PAAS_PROD_SPACE | Name of the space for the prod env | sc-pipelines-prod
-|REPO_WITH_BINARIES_FOR_UPLOAD | URL to repo with the deployed jars | http://192.168.99.100:8081/artifactory/libs-release-local
+|REPO_WITH_BINARIES_FOR_UPLOAD | URL to repo with the deployed jars | https://192.168.99.100:8081/artifactory/libs-release-local
|M2_SETTINGS_REPO_ID | The id of server from Maven settings.xml | artifactory-local
|PAAS_HOSTNAME_UUID | Additional suffix for the route. In a shared environment the default routes can be already taken |
|JAVA_BUILDPACK_URL | The URL to the Java buildpack to be used by CF | https://github.com/cloudfoundry/java-buildpack.git#v3.8.1 |
diff --git a/docs-sources/src/main/asciidoc/CF_MIGRATION.adoc b/docs-sources/src/main/asciidoc/CF_MIGRATION.adoc
index cd146cd4..12a53b29 100644
--- a/docs-sources/src/main/asciidoc/CF_MIGRATION.adoc
+++ b/docs-sources/src/main/asciidoc/CF_MIGRATION.adoc
@@ -39,7 +39,7 @@ We will also be refactoring the application to comply with Spring Cloud Pipeline
- https://github.com/ciberkleid/app-config[app-config]
- https://github.com/spring-cloud-samples/cloudfoundry-stub-runner-boot[cloudfoundry-stub-runner-boot]
- https://github.com/spring-cloud/spring-cloud-pipelines[spring-cloud-pipelines]
-* *Pivotal Web Services* - public hosted Cloud Foundry offering http://run.pivotal.io[free trial accounts] and including MySQL, Rabbit, and Pivotal Spring Cloud Services in the Marketplace
+* *Pivotal Web Services* - public hosted Cloud Foundry offering https://run.pivotal.io[free trial accounts] and including MySQL, Rabbit, and Pivotal Spring Cloud Services in the Marketplace
* *Concourse*
* *JFrog Bintray* - public hosted Maven repository offering free https://bintray.com/signup/oss[OSS accounts]
* *Client Tools* - on your local machine, you will need an IDE as well as the mvn, git, cf, and fly (Concourse) CLIs
diff --git a/docs-sources/src/main/asciidoc/INTRO.adoc b/docs-sources/src/main/asciidoc/INTRO.adoc
index 22d0ca14..81e1858f 100644
--- a/docs-sources/src/main/asciidoc/INTRO.adoc
+++ b/docs-sources/src/main/asciidoc/INTRO.adoc
@@ -182,11 +182,11 @@ microservices. That way the testing setup looks like this:
image::{intro-root-docs}/stubbed_dependencies.png[title="We're testing microservices in isolation"]
Such an approach to testing and deployment gives the following benefits
-(thanks to the usage of http://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract]):
+(thanks to the usage of https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract]):
- No need to deploy dependant services
- The stubs used for the tests ran on a deployed microservice are the same as those used during integration tests
-- Those stubs have been tested against the application that produces them (check http://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract] for more information)
+- Those stubs have been tested against the application that produces them (check https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html[Spring Cloud Contract] for more information)
- We don't have many slow tests running on a deployed application - thus the pipeline gets executed much faster
- We don't have to queue deployments - we're testing in isolation thus pipelines don't interfere with each other
- We don't have to spawn virtual machines each time for deployment purposes
diff --git a/docs-sources/src/main/asciidoc/JENKINS_BLUE_OCEAN.adoc b/docs-sources/src/main/asciidoc/JENKINS_BLUE_OCEAN.adoc
index f33500be..72426533 100644
--- a/docs-sources/src/main/asciidoc/JENKINS_BLUE_OCEAN.adoc
+++ b/docs-sources/src/main/asciidoc/JENKINS_BLUE_OCEAN.adoc
@@ -2,7 +2,7 @@ You can also use the https://jenkins.io/doc/book/pipeline/syntax/[declarative pi
https://jenkins.io/projects/blueocean/[Blue Ocean UI]. Here is a step by step guide to run a pipeline via
this approach.
-The Blue Ocean UI is available under the `blue/` URL. E.g. for Docker Machine based setup `http://192.168.99.100:8080/blue`.
+The Blue Ocean UI is available under the `blue/` URL. E.g. for Docker Machine based setup `https://192.168.99.100:8080/blue`.
{nbsp}
{nbsp}
@@ -49,5 +49,5 @@ check out this https://issues.jenkins-ci.org/browse/JENKINS-33846[issue] for mor
WARNING: Currently there is no way to introduce manual steps in a performant way. Jenkins is
blocking an executor when manual step is required. That means that you'll run out of executors
pretty fast. You can check out this https://issues.jenkins-ci.org/browse/JENKINS-36235[issue] for
-and this http://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei[StackOverflow question]
+and this https://stackoverflow.com/questions/42561241/how-to-wait-for-user-input-in-a-declarative-pipeline-without-blocking-a-heavywei[StackOverflow question]
for more information.
diff --git a/docs-sources/src/main/asciidoc/JENKINS_COMMON.adoc b/docs-sources/src/main/asciidoc/JENKINS_COMMON.adoc
index ba408198..627d4b93 100644
--- a/docs-sources/src/main/asciidoc/JENKINS_COMMON.adoc
+++ b/docs-sources/src/main/asciidoc/JENKINS_COMMON.adoc
@@ -59,7 +59,7 @@ executing `tools/deploy-infra.sh`. Example for deploying to Artifactory at IP `1
----
git clone https://github.com/spring-cloud/spring-cloud-pipelines
cd spring-cloud-pipelines/
-ARTIFACTORY_URL="http://192.168.99.100:8081/artifactory/libs-release-local" ./tools/deploy-infra.sh
+ARTIFACTORY_URL="https://192.168.99.100:8081/artifactory/libs-release-local" ./tools/deploy-infra.sh
----
[[setup-settings-xml]]
diff --git a/docs-sources/src/main/asciidoc/K8S_DEMO.adoc b/docs-sources/src/main/asciidoc/K8S_DEMO.adoc
index 5666c00d..f03e6f8b 100644
--- a/docs-sources/src/main/asciidoc/K8S_DEMO.adoc
+++ b/docs-sources/src/main/asciidoc/K8S_DEMO.adoc
@@ -113,7 +113,7 @@ alertmanager:
## alertmanager data Persistent Volume access modes
## Must match those of existing PV or dynamic provisioner
- ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
+ ## Ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
##
accessModes:
- ReadWriteOnce
@@ -156,7 +156,7 @@ alertmanager:
replicaCount: 1
## alertmanager resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -198,7 +198,7 @@ configmapReload:
pullPolicy: IfNotPresent
## configmap-reload resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
@@ -233,7 +233,7 @@ kubeStateMetrics:
replicaCount: 1
## kube-state-metrics resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -430,7 +430,7 @@ server:
## Prometheus server data Persistent Volume access modes
## Must match those of existing PV or dynamic provisioner
- ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
+ ## Ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
##
accessModes:
- ReadWriteOnce
@@ -474,7 +474,7 @@ server:
replicaCount: 1
## Prometheus server resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -564,7 +564,7 @@ pushgateway:
replicaCount: 1
## pushgateway resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -884,7 +884,7 @@ NOTES:
----
Perform the aforementioned steps and add the Grafana's datasource
-as Prometheus with URL `http://sc-pipelines-prometheus-prometheus-server.default.svc.cluster.local`
+as Prometheus with URL `https://sc-pipelines-prometheus-prometheus-server.default.svc.cluster.local`
You can pick the dashboard via the Grafana ID (2471). This is the
default dashboard for the Spring Cloud Pipelines demo apps.
diff --git a/docs-sources/src/main/asciidoc/TECH.adoc b/docs-sources/src/main/asciidoc/TECH.adoc
index fbe79d54..8c245e11 100644
--- a/docs-sources/src/main/asciidoc/TECH.adoc
+++ b/docs-sources/src/main/asciidoc/TECH.adoc
@@ -2,7 +2,7 @@
=== Prerequisites
-As prerequisites you need to have http://www.shellcheck.net/[shellcheck],
+As prerequisites you need to have https://www.shellcheck.net/[shellcheck],
https://github.com/sstephenson/bats[bats], https://stedolan.github.io/jq/[jq]
and https://rubyinstaller.org/downloads/[ruby] installed. If you're on a Linux
machine then `bats` and `shellcheck` will be installed for you.
diff --git a/docs-sources/src/main/jekyll/_config.yml b/docs-sources/src/main/jekyll/_config.yml
index 7e9f67e6..9532dc4c 100644
--- a/docs-sources/src/main/jekyll/_config.yml
+++ b/docs-sources/src/main/jekyll/_config.yml
@@ -26,10 +26,10 @@ name: Spring Cloud Pipelines
project: spring-cloud-pipelines
# Project github URL
-github_repo_url: http://github.com/spring-cloud/spring-cloud-pipelines
+github_repo_url: https://github.com/spring-cloud/spring-cloud-pipelines
# Project forum URL
-forum: http://stackoverflow.com/questions/tagged/spring-cloud
+forum: https://stackoverflow.com/questions/tagged/spring-cloud
# If you want to include a custom pom.xml or gradle template set these value to true and add _include files
custom_pom_template: true
diff --git a/docs-sources/src/main/jekyll/_includes/download_widget.md b/docs-sources/src/main/jekyll/_includes/download_widget.md
index 8bd1ec8d..03d7bbb5 100644
--- a/docs-sources/src/main/jekyll/_includes/download_widget.md
+++ b/docs-sources/src/main/jekyll/_includes/download_widget.md
@@ -10,8 +10,8 @@ Download
The recommended way to get started using {{ site.project }} in
your project is with a dependency management system – the snippet below can
be copied and pasted into your build. Need help? See our getting started guides
- on building with Maven and
- Gradle.
+ on building with Maven and
+ Gradle.
diff --git a/docs-sources/src/main/jekyll/_sample-pages/project.html b/docs-sources/src/main/jekyll/_sample-pages/project.html
index 0fdee0b0..f02ef093 100644
--- a/docs-sources/src/main/jekyll/_sample-pages/project.html
+++ b/docs-sources/src/main/jekyll/_sample-pages/project.html
@@ -14,7 +14,7 @@
icon: github
- name: Issues (JIRA)
- url: http://jira.springsource.org/browse/DATAJPA
+ url: https://jira.springsource.org/browse/DATAJPA
icon: tracking
- name: CI (Bamboo)
@@ -22,11 +22,11 @@
icon: ci
- name: Forum
- url: http://forum.spring.io/forum/spring-projects/data
+ url: https://forum.spring.io/forum/spring-projects/data
icon: forum
- name: StackOverflow
- url: http://stackoverflow.com/questions/tagged/spring-data-jpa
+ url: https://stackoverflow.com/questions/tagged/spring-data-jpa
icon: stackoverflow
- name: Metrics (SonarQube)
diff --git a/docs-sources/src/main/jekyll/_sample-pages/project_group.html b/docs-sources/src/main/jekyll/_sample-pages/project_group.html
index 3b9ec538..313d22b5 100644
--- a/docs-sources/src/main/jekyll/_sample-pages/project_group.html
+++ b/docs-sources/src/main/jekyll/_sample-pages/project_group.html
@@ -16,42 +16,42 @@
{% capture project_description %}
Hearts of the stars brain is the seed of intelligence consciousness extraplanetary shores of the cosmic ocean! As a patch of light paroxysm of global death? Inconspicuous motes of rock and gas.
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
{% capture project_description %}
This is Apache Hadoop Hadoop!
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
{% capture project_description %}
Hearts of the stars brain is the seed of intelligence consciousness extraplanetary shores of the cosmic ocean! As a patch of light paroxysm of global death? Inconspicuous motes of rock and gas.
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
{% capture project_description %}
This is Apache Hadoop Hadoop!
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
{% capture project_description %}
Hearts of the stars brain is the seed of intelligence consciousness extraplanetary shores of the cosmic ocean! As a patch of light paroxysm of global death? Inconspicuous motes of rock and gas.
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
{% capture project_description %}
This is Apache Hadoop Hadoop!
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
{% capture project_description %}
Hearts of the stars brain is the seed of intelligence consciousness extraplanetary shores of the cosmic ocean! As a patch of light paroxysm of global death? Inconspicuous motes of rock and gas.
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
{% capture project_description %}
This is Apache Hadoop Hadoop!
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
{% endcapture %}
diff --git a/docs-sources/src/main/jekyll/bootstrap/css/bootstrap-select.css b/docs-sources/src/main/jekyll/bootstrap/css/bootstrap-select.css
index 42a9ba37..ae162517 100644
--- a/docs-sources/src/main/jekyll/bootstrap/css/bootstrap-select.css
+++ b/docs-sources/src/main/jekyll/bootstrap/css/bootstrap-select.css
@@ -1,6 +1,6 @@
/*!
* bootstrap-select v1.1.1
- * http://silviomoreto.github.io/bootstrap-select/
+ * https://silviomoreto.github.io/bootstrap-select/
*
* Copyright 2013 bootstrap-select
* Licensed under the MIT license
diff --git a/docs-sources/src/main/jekyll/bootstrap/js/bootstrap-select.js b/docs-sources/src/main/jekyll/bootstrap/js/bootstrap-select.js
index f0d4be01..8361f157 100644
--- a/docs-sources/src/main/jekyll/bootstrap/js/bootstrap-select.js
+++ b/docs-sources/src/main/jekyll/bootstrap/js/bootstrap-select.js
@@ -1,6 +1,6 @@
/*!
* bootstrap-select v1.1.1
- * http://silviomoreto.github.io/bootstrap-select/
+ * https://silviomoreto.github.io/bootstrap-select/
*
* Copyright 2013 bootstrap-select
* Licensed under the MIT license
diff --git a/docs-sources/src/main/jekyll/bootstrap/js/bootstrap.js b/docs-sources/src/main/jekyll/bootstrap/js/bootstrap.js
index 3c639f57..ee5a1458 100644
--- a/docs-sources/src/main/jekyll/bootstrap/js/bootstrap.js
+++ b/docs-sources/src/main/jekyll/bootstrap/js/bootstrap.js
@@ -1,6 +1,6 @@
/* ===================================================
* bootstrap-transition.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#transitions
+ * https://twitter.github.com/bootstrap/javascript.html#transitions
* ===================================================
* Copyright 2012 Twitter, Inc.
*
@@ -23,7 +23,7 @@
"use strict"; // jshint ;_;
- /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
+ /* CSS TRANSITION SUPPORT (https://www.modernizr.com/)
* ======================================================= */
$(function () {
@@ -59,7 +59,7 @@
}(window.jQuery);/* ==========================================================
* bootstrap-alert.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#alerts
+ * https://twitter.github.com/bootstrap/javascript.html#alerts
* ==========================================================
* Copyright 2012 Twitter, Inc.
*
@@ -157,7 +157,7 @@
}(window.jQuery);/* ============================================================
* bootstrap-button.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#buttons
+ * https://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================
* Copyright 2012 Twitter, Inc.
*
@@ -261,7 +261,7 @@
}(window.jQuery);/* ==========================================================
* bootstrap-carousel.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#carousel
+ * https://twitter.github.com/bootstrap/javascript.html#carousel
* ==========================================================
* Copyright 2012 Twitter, Inc.
*
@@ -467,7 +467,7 @@
}(window.jQuery);/* =============================================================
* bootstrap-collapse.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#collapse
+ * https://twitter.github.com/bootstrap/javascript.html#collapse
* =============================================================
* Copyright 2012 Twitter, Inc.
*
@@ -633,7 +633,7 @@
}(window.jQuery);/* ============================================================
* bootstrap-dropdown.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#dropdowns
+ * https://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================
* Copyright 2012 Twitter, Inc.
*
@@ -802,7 +802,7 @@
}(window.jQuery);
/* =========================================================
* bootstrap-modal.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#modals
+ * https://twitter.github.com/bootstrap/javascript.html#modals
* =========================================================
* Copyright 2012 Twitter, Inc.
*
@@ -1049,7 +1049,7 @@
}(window.jQuery);
/* ===========================================================
* bootstrap-tooltip.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#tooltips
+ * https://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame
* ===========================================================
* Copyright 2012 Twitter, Inc.
@@ -1410,7 +1410,7 @@
}(window.jQuery);
/* ===========================================================
* bootstrap-popover.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#popovers
+ * https://twitter.github.com/bootstrap/javascript.html#popovers
* ===========================================================
* Copyright 2012 Twitter, Inc.
*
@@ -1524,7 +1524,7 @@
}(window.jQuery);
/* =============================================================
* bootstrap-scrollspy.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#scrollspy
+ * https://twitter.github.com/bootstrap/javascript.html#scrollspy
* =============================================================
* Copyright 2012 Twitter, Inc.
*
@@ -1685,7 +1685,7 @@
}(window.jQuery);/* ========================================================
* bootstrap-tab.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#tabs
+ * https://twitter.github.com/bootstrap/javascript.html#tabs
* ========================================================
* Copyright 2012 Twitter, Inc.
*
@@ -1828,7 +1828,7 @@
}(window.jQuery);/* =============================================================
* bootstrap-typeahead.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#typeahead
+ * https://twitter.github.com/bootstrap/javascript.html#typeahead
* =============================================================
* Copyright 2012 Twitter, Inc.
*
@@ -2163,7 +2163,7 @@
}(window.jQuery);
/* ==========================================================
* bootstrap-affix.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#affix
+ * https://twitter.github.com/bootstrap/javascript.html#affix
* ==========================================================
* Copyright 2012 Twitter, Inc.
*
diff --git a/docs-sources/src/main/jekyll/css/main.css.css b/docs-sources/src/main/jekyll/css/main.css.css
index 9cc0f12d..f6ca3df1 100644
--- a/docs-sources/src/main/jekyll/css/main.css.css
+++ b/docs-sources/src/main/jekyll/css/main.css.css
@@ -427,7 +427,7 @@ input.floating-input:focus {
.bottom-slide--container .bottom-slider--image {
background-image:
- url("http://imgs.mi9.com/uploads/landscape/2101/beautiful-leaf-wallpapers_1280x960_28083.jpg");
+ url("https://imgs.mi9.com/uploads/landscape/2101/beautiful-leaf-wallpapers_1280x960_28083.jpg");
background-size: cover;
height: 137px;
transition: all 0.33s;
diff --git a/docs-sources/src/main/jekyll/font-awesome/css/font-awesome-ie7.css b/docs-sources/src/main/jekyll/font-awesome/css/font-awesome-ie7.css
index 507ebeb3..229a99e2 100644
--- a/docs-sources/src/main/jekyll/font-awesome/css/font-awesome-ie7.css
+++ b/docs-sources/src/main/jekyll/font-awesome/css/font-awesome-ie7.css
@@ -3,25 +3,25 @@
* the iconic font designed for Bootstrap
* ------------------------------------------------------------------------------
* The full suite of pictographic icons, examples, and documentation can be
- * found at http://fontawesome.io. Stay up to date on Twitter at
- * http://twitter.com/fontawesome.
+ * found at https://fontawesome.com?from=io. Stay up to date on Twitter at
+ * https://twitter.com/fontawesome.
*
* License
* ------------------------------------------------------------------------------
* - The Font Awesome font is licensed under SIL OFL 1.1 -
- * http://scripts.sil.org/OFL
+ * https://scripts.sil.org/OFL
* - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
- * http://opensource.org/licenses/mit-license.html
+ * https://opensource.org/licenses/mit-license.html
* - Font Awesome documentation licensed under CC BY 3.0 -
- * http://creativecommons.org/licenses/by/3.0/
+ * https://creativecommons.org/licenses/by/3.0/
* - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
- * "Font Awesome by Dave Gandy - http://fontawesome.io"
+ * "Font Awesome by Dave Gandy - https://fontawesome.com?from=io"
*
* Author - Dave Gandy
* ------------------------------------------------------------------------------
* Email: dave@fontawesome.io
- * Twitter: http://twitter.com/byscuits
- * Work: Lead Product Designer @ Kyruus - http://kyruus.com
+ * Twitter: https://twitter.com/byscuits
+ * Work: Lead Product Designer @ Kyruus - https://www.kyruus.com/
*/
.icon-large {
font-size: 1.3333333333333333em;
diff --git a/docs-sources/src/main/jekyll/font-awesome/css/font-awesome.css b/docs-sources/src/main/jekyll/font-awesome/css/font-awesome.css
index 30a96b22..70d5e6a0 100644
--- a/docs-sources/src/main/jekyll/font-awesome/css/font-awesome.css
+++ b/docs-sources/src/main/jekyll/font-awesome/css/font-awesome.css
@@ -3,25 +3,25 @@
* the iconic font designed for Bootstrap
* ------------------------------------------------------------------------------
* The full suite of pictographic icons, examples, and documentation can be
- * found at http://fontawesome.io. Stay up to date on Twitter at
- * http://twitter.com/fontawesome.
+ * found at https://fontawesome.com?from=io. Stay up to date on Twitter at
+ * https://twitter.com/fontawesome.
*
* License
* ------------------------------------------------------------------------------
* - The Font Awesome font is licensed under SIL OFL 1.1 -
- * http://scripts.sil.org/OFL
+ * https://scripts.sil.org/OFL
* - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
- * http://opensource.org/licenses/mit-license.html
+ * https://opensource.org/licenses/mit-license.html
* - Font Awesome documentation licensed under CC BY 3.0 -
- * http://creativecommons.org/licenses/by/3.0/
+ * https://creativecommons.org/licenses/by/3.0/
* - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
- * "Font Awesome by Dave Gandy - http://fontawesome.io"
+ * "Font Awesome by Dave Gandy - https://fontawesome.com?from=io"
*
* Author - Dave Gandy
* ------------------------------------------------------------------------------
* Email: dave@fontawesome.io
- * Twitter: http://twitter.com/byscuits
- * Work: Lead Product Designer @ Kyruus - http://kyruus.com
+ * Twitter: https://twitter.com/byscuits
+ * Work: Lead Product Designer @ Kyruus - https://www.kyruus.com/
*/
/* FONT PATH
* -------------------------- */
diff --git a/docs-sources/src/main/jekyll/index.html b/docs-sources/src/main/jekyll/index.html
index edcca56b..1b1b2ded 100644
--- a/docs-sources/src/main/jekyll/index.html
+++ b/docs-sources/src/main/jekyll/index.html
@@ -14,7 +14,7 @@
icon: github
- name: StackOverflow
- url: http://stackoverflow.com/questions/tagged/spring-cloud
+ url: https://stackoverflow.com/questions/tagged/spring-cloud
icon: stackoverflow
---
@@ -68,11 +68,11 @@
The opinionated pipelines look like this:
-![Flow in Concourse](http://cloud.spring.io/spring-cloud-pipelines/images/intro/flow_concourse.png)
+![Flow in Concourse](https://cloud.spring.io/spring-cloud-pipelines/images/intro/flow_concourse.png)
*Flow in Concourse*
-![Flow in Jenkins](http://cloud.spring.io/spring-cloud-pipelines/images/intro/flow.png)
+![Flow in Jenkins](https://cloud.spring.io/spring-cloud-pipelines/images/intro/flow.png)
*Flow in Jenkins*
@@ -97,7 +97,7 @@
- [Github Analytics Stub Runner Boot](https://github.com/spring-cloud-samples/github-analytics-stub-runner-boot) - Stub Runner Boot server to be used for
tests with Github Analytics. Uses Eureka and Messaging. This is an infrastructure application.
-For the detailed information please check out the [docs](http://cloud.spring.io/spring-cloud/spring-cloud-pipelines.html).
+For the detailed information please check out the [docs](https://cloud.spring.io/spring-cloud/spring-cloud-pipelines.html).
#### Concourse
@@ -117,7 +117,7 @@
* Unpause and run the pipeline in Concourse!
* Once the pipeline passes you can setup a new pipeline for `github-analytics`
-For the Kubernetes step by step guide just check out the [documentation](http://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#concourse-pipeline-k8s).
+For the Kubernetes step by step guide just check out the [documentation](https://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#concourse-pipeline-k8s).
#### Jenkins
@@ -131,7 +131,7 @@
* Go to Jenkins and click the `jenkins-pipeline-seed` in order to generate the pipeline jobs
* Go to the `github-webhook` pipeline view and click the `play` button to run the pipeline
-For the Kubernetes step by step guide just check out the [documentation](http://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#jenkins-pipeline-k8s).
+For the Kubernetes step by step guide just check out the [documentation](https://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#jenkins-pipeline-k8s).
### Adjusting the pipelines to your needs
diff --git a/docs-sources/src/main/jekyll/js/backbone.js b/docs-sources/src/main/jekyll/js/backbone.js
index 3512d42f..7197d646 100644
--- a/docs-sources/src/main/jekyll/js/backbone.js
+++ b/docs-sources/src/main/jekyll/js/backbone.js
@@ -3,7 +3,7 @@
// (c) 2010-2013 Jeremy Ashkenas, DocumentCloud Inc.
// Backbone may be freely distributed under the MIT license.
// For all details and documentation:
-// http://backbonejs.org
+// https://backbonejs.org
(function(){
@@ -1298,7 +1298,7 @@
// ----------------
// Handles cross-browser history management, based on either
- // [pushState](http://diveintohtml5.info/history.html) and real URLs, or
+ // [pushState](https://diveintohtml5.info/history.html) and real URLs, or
// [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)
// and URL fragments. If the browser supports neither (old IE, natch),
// falls back to polling.
diff --git a/docs-sources/src/main/jekyll/js/jquery.js b/docs-sources/src/main/jekyll/js/jquery.js
index 6f8c9675..89181508 100644
--- a/docs-sources/src/main/jekyll/js/jquery.js
+++ b/docs-sources/src/main/jekyll/js/jquery.js
@@ -1,13 +1,13 @@
/*!
* jQuery JavaScript Library v1.10.1
- * http://jquery.com/
+ * https://jquery.com/
*
* Includes Sizzle.js
- * http://sizzlejs.com/
+ * https://sizzlejs.com/
*
* Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
- * http://jquery.org/license
+ * https://jquery.org/license
*
* Date: 2013-05-30T21:49Z
*/
@@ -561,7 +561,7 @@ jQuery.extend({
if ( data ) {
// Make sure the incoming data is actual JSON
- // Logic borrowed from http://json.org/json2.js
+ // Logic borrowed from https://json.org/json2.js
if ( rvalidchars.test( data.replace( rvalidescape, "@" )
.replace( rvalidtokens, "]" )
.replace( rvalidbraces, "")) ) {
@@ -602,7 +602,7 @@ jQuery.extend({
// Evaluates a script in a global context
// Workarounds based on findings by Jim Driscoll
- // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
+ // https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
globalEval: function( data ) {
if ( data && jQuery.trim( data ) ) {
// We use execScript on Internet Explorer
@@ -921,7 +921,7 @@ jQuery.ready.promise = function( obj ) {
// Catch cases where $(document).ready() is called after the browser event has already occurred.
// we once tried to use readyState "interactive" here, but it caused issues like the one
- // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
+ // discovered by ChrisS here: https://bugs.jquery.com/ticket/12282#comment:15
if ( document.readyState === "complete" ) {
// Handle it asynchronously to allow scripts the opportunity to delay ready
setTimeout( jQuery.ready );
@@ -1001,11 +1001,11 @@ function isArraylike( obj ) {
rootjQuery = jQuery(document);
/*!
* Sizzle CSS Selector Engine v1.9.4-pre
- * http://sizzlejs.com/
+ * https://sizzlejs.com/
*
* Copyright 2013 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
- * http://jquery.org/license
+ * https://jquery.org/license
*
* Date: 2013-05-27
*/
@@ -1069,17 +1069,17 @@ var i,
// Regular expressions
- // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
+ // Whitespace characters https://www.w3.org/TR/css3-selectors/#whitespace
whitespace = "[\\x20\\t\\r\\n\\f]",
- // http://www.w3.org/TR/css3-syntax/#characters
+ // https://www.w3.org/TR/css3-syntax/#characters
characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
// Loosely modeled on CSS identifier characters
- // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
- // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ // An unquoted value should be a CSS identifier https://www.w3.org/TR/css3-selectors/#attribute-selectors
+ // Proper syntax: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
identifier = characterEncoding.replace( "w", "w#" ),
- // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
+ // Acceptable operators https://www.w3.org/TR/selectors/#attribute-selectors
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
"*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
@@ -1129,7 +1129,7 @@ var i,
rescape = /'|\\/g,
- // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ // CSS escapes https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
funescape = function( _, escaped, escapedWhitespace ) {
var high = "0x" + escaped - 0x10000;
@@ -1376,7 +1376,7 @@ function boolHandler( elem, name ) {
/**
* Fetches attributes without interpolation
- * http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+ * https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
* @param {Element} elem
* @param {String} name
*/
@@ -1653,7 +1653,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// We allow this because of a bug in IE8/9 that throws an error
// whenever `document.activeElement` is accessed on an iframe
// So, we allow :focus to pass through QSA all the time to avoid the IE error
- // See http://bugs.jquery.com/ticket/13378
+ // See https://bugs.jquery.com/ticket/13378
rbuggyQSA = [];
if ( (support.qsa = isNative(doc.querySelectorAll)) ) {
@@ -1664,7 +1664,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// This is to test IE's treatment of not explicitly
// setting a boolean content attribute,
// since its presence should be enough
- // http://bugs.jquery.com/ticket/12359
+ // https://bugs.jquery.com/ticket/12359
div.innerHTML = "";
// Support: IE8
@@ -1674,7 +1674,7 @@ setDocument = Sizzle.setDocument = function( node ) {
}
// Webkit/Opera - :checked should return selected option elements
- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// IE8 throws error here and will not see later tests
if ( !div.querySelectorAll(":checked").length ) {
rbuggyQSA.push(":checked");
@@ -2219,7 +2219,7 @@ Expr = Sizzle.selectors = {
"PSEUDO": function( pseudo, argument ) {
// pseudo-class names are case-insensitive
- // http://www.w3.org/TR/selectors/#pseudo-classes
+ // https://www.w3.org/TR/selectors/#pseudo-classes
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
// Remember that setFilters inherits from pseudos
var args,
@@ -2303,7 +2303,7 @@ Expr = Sizzle.selectors = {
// or beginning with the identifier C immediately followed by "-".
// The matching of C against the element's language value is performed case-insensitively.
// The identifier C does not have to be a valid language name."
- // http://www.w3.org/TR/selectors/#lang-pseudo
+ // https://www.w3.org/TR/selectors/#lang-pseudo
"lang": markFunction( function( lang ) {
// lang value must be a valid identifier
if ( !ridentifier.test(lang || "") ) {
@@ -2350,7 +2350,7 @@ Expr = Sizzle.selectors = {
"checked": function( elem ) {
// In CSS3, :checked should return both checked and selected elements
- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
var nodeName = elem.nodeName.toLowerCase();
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
},
@@ -2367,7 +2367,7 @@ Expr = Sizzle.selectors = {
// Contents
"empty": function( elem ) {
- // http://www.w3.org/TR/selectors/#empty-pseudo
+ // https://www.w3.org/TR/selectors/#empty-pseudo
// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),
// not comment, processing instructions, or others
// Thanks to Diego Perini for the nodeName shortcut
@@ -4024,7 +4024,7 @@ jQuery.fn.extend({
});
},
// Based off of the plugin by Clint Helfers, with permission.
- // http://blindsignals.com/index.php/2009/07/jquery-delay/
+ // http://blindsignals.com
delay: function( time, type ) {
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
type = type || "fx";
@@ -4501,7 +4501,7 @@ jQuery.extend({
tabIndex: {
get: function( elem ) {
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
- // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ // https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
// Use proper attribute retrieval(#12072)
var tabindex = jQuery.find.attr( elem, "tabindex" );
@@ -4641,7 +4641,7 @@ if ( !getSetAttribute ) {
// Some attributes require a special call on IE
-// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if ( !jQuery.support.hrefNormalized ) {
// href/src property should get the full normalized URL (#10299/#12915)
jQuery.each([ "href", "src" ], function( i, name ) {
@@ -5413,7 +5413,7 @@ jQuery.Event = function( src, props ) {
};
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = {
isDefaultPrevented: returnFalse,
isPropagationStopped: returnFalse,
@@ -6516,7 +6516,7 @@ jQuery.extend({
if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
- // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
destElements = getAll( clone );
srcElements = getAll( elem );
@@ -7120,7 +7120,7 @@ if ( window.getComputedStyle ) {
// A tribute to the "awesome hack by Dean Edwards"
// Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right
// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
- // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
+ // this is against the CSSOM draft spec: https://dev.w3.org/csswg/cssom/#resolved-values
if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
// Remember the original values
@@ -8729,7 +8729,7 @@ if ( xhrSupported ) {
// Firefox throws exceptions when accessing properties
// of an xhr when a network error occurred
- // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
+ // https://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
try {
// Was never called and is aborted or complete
diff --git a/docs-sources/src/main/jekyll/js/test/SpecRunner.html b/docs-sources/src/main/jekyll/js/test/SpecRunner.html
index 877cfa2b..66bdd3b6 100644
--- a/docs-sources/src/main/jekyll/js/test/SpecRunner.html
+++ b/docs-sources/src/main/jekyll/js/test/SpecRunner.html
@@ -4,7 +4,7 @@
---
+ "https://www.w3.org/TR/html4/loose.dtd">
Jasmine Spec Runner
diff --git a/docs-sources/src/main/jekyll/js/test/lib/support/mock-ajax.js b/docs-sources/src/main/jekyll/js/test/lib/support/mock-ajax.js
index 5c99627a..bf17886f 100644
--- a/docs-sources/src/main/jekyll/js/test/lib/support/mock-ajax.js
+++ b/docs-sources/src/main/jekyll/js/test/lib/support/mock-ajax.js
@@ -4,9 +4,9 @@
Supports both Prototype.js and jQuery.
- http://github.com/pivotal/jasmine-ajax
+ https://github.com/pivotal/jasmine-ajax
- Jasmine Home page: http://pivotal.github.com/jasmine
+ Jasmine Home page: https://pivotal.github.com/jasmine
Copyright (c) 2008-2010 Pivotal Labs
diff --git a/docs-sources/src/main/jekyll/js/test/spec/QuickStartWidgetSpec.js b/docs-sources/src/main/jekyll/js/test/spec/QuickStartWidgetSpec.js
index b5587776..3bafa1d0 100644
--- a/docs-sources/src/main/jekyll/js/test/spec/QuickStartWidgetSpec.js
+++ b/docs-sources/src/main/jekyll/js/test/spec/QuickStartWidgetSpec.js
@@ -6,18 +6,18 @@ describe("QuickStartWidget", function () {
var project = new Spring.Project({
"id": "spring-data-jpa",
"name": "Spring Data JPA",
- "repoUrl": "http://github.com/SpringSource/spring-data-jpa",
- "siteUrl": "http://projects.spring.io/spring-data-jpa",
+ "repoUrl": "https://github.com/SpringSource/spring-data-jpa",
+ "siteUrl": "https://projects.spring.io/spring-data-jpa",
"projectReleases": [
{
- "refDocUrl": "http://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/reference/html/",
- "apiDocUrl": "http://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/api/",
+ "refDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/reference/html/",
+ "apiDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/api/",
"groupId": "org.springframework.data",
"artifactId": "spring-data-jpa",
"repository": {
"id": "spring-milestones",
"name": "Spring Milestones",
- "url": "http://repo.spring.io/milestone",
+ "url": "https://repo.spring.io/milestone",
"snapshotsEnabled": false
},
"version": "1.4.0.RC1",
@@ -28,8 +28,8 @@ describe("QuickStartWidget", function () {
"versionDisplayName": "1.4.0.RC1"
},
{
- "refDocUrl": "http://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/reference/html/",
- "apiDocUrl": "http://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/api/",
+ "refDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/reference/html/",
+ "apiDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/api/",
"groupId": "org.springframework.data",
"artifactId": "spring-data-jpa",
"repository": null,
@@ -73,7 +73,7 @@ describe("QuickStartWidget", function () {
expect($('#maven_widget')).toContainText("spring-milestones");
expect($('#maven_widget')).toContainText("Spring Milestones");
- expect($('#maven_widget')).toContainText("http://repo.spring.io/milestone");
+ expect($('#maven_widget')).toContainText("https://repo.spring.io/milestone");
expect($('#maven_widget')).toContainText("false");
});
@@ -83,7 +83,7 @@ describe("QuickStartWidget", function () {
expect($('#maven_widget')).not.toContainText("repository");
expect($('#maven_widget')).not.toContainText("spring-milestones");
expect($('#maven_widget')).not.toContainText("Spring Milestones");
- expect($('#maven_widget')).not.toContainText("http://repo.spring.io/milestone");
+ expect($('#maven_widget')).not.toContainText("https://repo.spring.io/milestone");
expect($('#maven_widget')).not.toContainText("false");
});
});
@@ -102,7 +102,7 @@ describe("QuickStartWidget", function () {
$('#jasmine_content select').val(0).change();
expect($('#maven_widget')).toContainText("repositories");
- expect($('#maven_widget')).toContainText("http://repo.spring.io/milestone");
+ expect($('#maven_widget')).toContainText("https://repo.spring.io/milestone");
});
});
});
diff --git a/docs-sources/src/main/jekyll/js/underscore.js b/docs-sources/src/main/jekyll/js/underscore.js
index 7d4ee27c..f5df8e03 100644
--- a/docs-sources/src/main/jekyll/js/underscore.js
+++ b/docs-sources/src/main/jekyll/js/underscore.js
@@ -1,5 +1,5 @@
// Underscore.js 1.5.1
-// http://underscorejs.org
+// https://underscorejs.org
// (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
// Underscore may be freely distributed under the MIT license.
@@ -554,7 +554,7 @@
// Generate an integer Array containing an arithmetic progression. A port of
// the native Python `range()` function. See
- // [the Python documentation](http://docs.python.org/library/functions.html#range).
+ // [the Python documentation](https://docs.python.org/library/functions.html#range).
_.range = function(start, stop, step) {
if (arguments.length <= 1) {
stop = start || 0;
@@ -844,7 +844,7 @@
// Internal recursive comparison function for `isEqual`.
var eq = function(a, b, aStack, bStack) {
// Identical objects are equal. `0 === -0`, but they aren't identical.
- // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).
+ // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).
if (a === b) return a !== 0 || 1 / a == 1 / b;
// A strict comparison is necessary because `null == undefined`.
if (a == null || b == null) return a === b;
diff --git a/docs/_config.yml b/docs/_config.yml
index 7e9f67e6..9532dc4c 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -26,10 +26,10 @@ name: Spring Cloud Pipelines
project: spring-cloud-pipelines
# Project github URL
-github_repo_url: http://github.com/spring-cloud/spring-cloud-pipelines
+github_repo_url: https://github.com/spring-cloud/spring-cloud-pipelines
# Project forum URL
-forum: http://stackoverflow.com/questions/tagged/spring-cloud
+forum: https://stackoverflow.com/questions/tagged/spring-cloud
# If you want to include a custom pom.xml or gradle template set these value to true and add _include files
custom_pom_template: true
diff --git a/docs/_includes/download_widget.md b/docs/_includes/download_widget.md
index 8bd1ec8d..03d7bbb5 100644
--- a/docs/_includes/download_widget.md
+++ b/docs/_includes/download_widget.md
@@ -10,8 +10,8 @@ Download
The recommended way to get started using {{ site.project }} in
your project is with a dependency management system – the snippet below can
be copied and pasted into your build. Need help? See our getting started guides
- on building with Maven and
- Gradle.
+ on building with Maven and
+ Gradle.
diff --git a/docs/_sample-pages/project.html b/docs/_sample-pages/project.html
index 0fdee0b0..f02ef093 100644
--- a/docs/_sample-pages/project.html
+++ b/docs/_sample-pages/project.html
@@ -14,7 +14,7 @@
icon: github
- name: Issues (JIRA)
- url: http://jira.springsource.org/browse/DATAJPA
+ url: https://jira.springsource.org/browse/DATAJPA
icon: tracking
- name: CI (Bamboo)
@@ -22,11 +22,11 @@
icon: ci
- name: Forum
- url: http://forum.spring.io/forum/spring-projects/data
+ url: https://forum.spring.io/forum/spring-projects/data
icon: forum
- name: StackOverflow
- url: http://stackoverflow.com/questions/tagged/spring-data-jpa
+ url: https://stackoverflow.com/questions/tagged/spring-data-jpa
icon: stackoverflow
- name: Metrics (SonarQube)
diff --git a/docs/_sample-pages/project_group.html b/docs/_sample-pages/project_group.html
index 3b9ec538..313d22b5 100644
--- a/docs/_sample-pages/project_group.html
+++ b/docs/_sample-pages/project_group.html
@@ -16,42 +16,42 @@
{% capture project_description %}
Hearts of the stars brain is the seed of intelligence consciousness extraplanetary shores of the cosmic ocean! As a patch of light paroxysm of global death? Inconspicuous motes of rock and gas.
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
{% capture project_description %}
This is Apache Hadoop Hadoop!
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
{% capture project_description %}
Hearts of the stars brain is the seed of intelligence consciousness extraplanetary shores of the cosmic ocean! As a patch of light paroxysm of global death? Inconspicuous motes of rock and gas.
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
{% capture project_description %}
This is Apache Hadoop Hadoop!
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
{% capture project_description %}
Hearts of the stars brain is the seed of intelligence consciousness extraplanetary shores of the cosmic ocean! As a patch of light paroxysm of global death? Inconspicuous motes of rock and gas.
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
{% capture project_description %}
This is Apache Hadoop Hadoop!
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
{% capture project_description %}
Hearts of the stars brain is the seed of intelligence consciousness extraplanetary shores of the cosmic ocean! As a patch of light paroxysm of global death? Inconspicuous motes of rock and gas.
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/sprinframework" project_title="Spring Framework" project_description=project_description %}
{% capture project_description %}
This is Apache Hadoop Hadoop!
{% endcapture %}
-{% include project_block.md site_url="http://www.spring.io" repo_url="http://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
+{% include project_block.md site_url="https://www.spring.io" repo_url="https://github.com/spring_hadoop" project_title="Apache Hadoop" project_description=project_description %}
{% endcapture %}
diff --git a/docs/bootstrap/css/bootstrap-select.css b/docs/bootstrap/css/bootstrap-select.css
index 42a9ba37..ae162517 100644
--- a/docs/bootstrap/css/bootstrap-select.css
+++ b/docs/bootstrap/css/bootstrap-select.css
@@ -1,6 +1,6 @@
/*!
* bootstrap-select v1.1.1
- * http://silviomoreto.github.io/bootstrap-select/
+ * https://silviomoreto.github.io/bootstrap-select/
*
* Copyright 2013 bootstrap-select
* Licensed under the MIT license
diff --git a/docs/bootstrap/js/bootstrap-select.js b/docs/bootstrap/js/bootstrap-select.js
index f0d4be01..8361f157 100644
--- a/docs/bootstrap/js/bootstrap-select.js
+++ b/docs/bootstrap/js/bootstrap-select.js
@@ -1,6 +1,6 @@
/*!
* bootstrap-select v1.1.1
- * http://silviomoreto.github.io/bootstrap-select/
+ * https://silviomoreto.github.io/bootstrap-select/
*
* Copyright 2013 bootstrap-select
* Licensed under the MIT license
diff --git a/docs/bootstrap/js/bootstrap.js b/docs/bootstrap/js/bootstrap.js
index 3c639f57..ee5a1458 100644
--- a/docs/bootstrap/js/bootstrap.js
+++ b/docs/bootstrap/js/bootstrap.js
@@ -1,6 +1,6 @@
/* ===================================================
* bootstrap-transition.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#transitions
+ * https://twitter.github.com/bootstrap/javascript.html#transitions
* ===================================================
* Copyright 2012 Twitter, Inc.
*
@@ -23,7 +23,7 @@
"use strict"; // jshint ;_;
- /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
+ /* CSS TRANSITION SUPPORT (https://www.modernizr.com/)
* ======================================================= */
$(function () {
@@ -59,7 +59,7 @@
}(window.jQuery);/* ==========================================================
* bootstrap-alert.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#alerts
+ * https://twitter.github.com/bootstrap/javascript.html#alerts
* ==========================================================
* Copyright 2012 Twitter, Inc.
*
@@ -157,7 +157,7 @@
}(window.jQuery);/* ============================================================
* bootstrap-button.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#buttons
+ * https://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================
* Copyright 2012 Twitter, Inc.
*
@@ -261,7 +261,7 @@
}(window.jQuery);/* ==========================================================
* bootstrap-carousel.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#carousel
+ * https://twitter.github.com/bootstrap/javascript.html#carousel
* ==========================================================
* Copyright 2012 Twitter, Inc.
*
@@ -467,7 +467,7 @@
}(window.jQuery);/* =============================================================
* bootstrap-collapse.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#collapse
+ * https://twitter.github.com/bootstrap/javascript.html#collapse
* =============================================================
* Copyright 2012 Twitter, Inc.
*
@@ -633,7 +633,7 @@
}(window.jQuery);/* ============================================================
* bootstrap-dropdown.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#dropdowns
+ * https://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================
* Copyright 2012 Twitter, Inc.
*
@@ -802,7 +802,7 @@
}(window.jQuery);
/* =========================================================
* bootstrap-modal.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#modals
+ * https://twitter.github.com/bootstrap/javascript.html#modals
* =========================================================
* Copyright 2012 Twitter, Inc.
*
@@ -1049,7 +1049,7 @@
}(window.jQuery);
/* ===========================================================
* bootstrap-tooltip.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#tooltips
+ * https://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame
* ===========================================================
* Copyright 2012 Twitter, Inc.
@@ -1410,7 +1410,7 @@
}(window.jQuery);
/* ===========================================================
* bootstrap-popover.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#popovers
+ * https://twitter.github.com/bootstrap/javascript.html#popovers
* ===========================================================
* Copyright 2012 Twitter, Inc.
*
@@ -1524,7 +1524,7 @@
}(window.jQuery);
/* =============================================================
* bootstrap-scrollspy.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#scrollspy
+ * https://twitter.github.com/bootstrap/javascript.html#scrollspy
* =============================================================
* Copyright 2012 Twitter, Inc.
*
@@ -1685,7 +1685,7 @@
}(window.jQuery);/* ========================================================
* bootstrap-tab.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#tabs
+ * https://twitter.github.com/bootstrap/javascript.html#tabs
* ========================================================
* Copyright 2012 Twitter, Inc.
*
@@ -1828,7 +1828,7 @@
}(window.jQuery);/* =============================================================
* bootstrap-typeahead.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#typeahead
+ * https://twitter.github.com/bootstrap/javascript.html#typeahead
* =============================================================
* Copyright 2012 Twitter, Inc.
*
@@ -2163,7 +2163,7 @@
}(window.jQuery);
/* ==========================================================
* bootstrap-affix.js v2.3.2
- * http://twitter.github.com/bootstrap/javascript.html#affix
+ * https://twitter.github.com/bootstrap/javascript.html#affix
* ==========================================================
* Copyright 2012 Twitter, Inc.
*
diff --git a/docs/css/main.css.css b/docs/css/main.css.css
index 9cc0f12d..f6ca3df1 100644
--- a/docs/css/main.css.css
+++ b/docs/css/main.css.css
@@ -427,7 +427,7 @@ input.floating-input:focus {
.bottom-slide--container .bottom-slider--image {
background-image:
- url("http://imgs.mi9.com/uploads/landscape/2101/beautiful-leaf-wallpapers_1280x960_28083.jpg");
+ url("https://imgs.mi9.com/uploads/landscape/2101/beautiful-leaf-wallpapers_1280x960_28083.jpg");
background-size: cover;
height: 137px;
transition: all 0.33s;
diff --git a/docs/font-awesome/css/font-awesome-ie7.css b/docs/font-awesome/css/font-awesome-ie7.css
index 507ebeb3..229a99e2 100644
--- a/docs/font-awesome/css/font-awesome-ie7.css
+++ b/docs/font-awesome/css/font-awesome-ie7.css
@@ -3,25 +3,25 @@
* the iconic font designed for Bootstrap
* ------------------------------------------------------------------------------
* The full suite of pictographic icons, examples, and documentation can be
- * found at http://fontawesome.io. Stay up to date on Twitter at
- * http://twitter.com/fontawesome.
+ * found at https://fontawesome.com?from=io. Stay up to date on Twitter at
+ * https://twitter.com/fontawesome.
*
* License
* ------------------------------------------------------------------------------
* - The Font Awesome font is licensed under SIL OFL 1.1 -
- * http://scripts.sil.org/OFL
+ * https://scripts.sil.org/OFL
* - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
- * http://opensource.org/licenses/mit-license.html
+ * https://opensource.org/licenses/mit-license.html
* - Font Awesome documentation licensed under CC BY 3.0 -
- * http://creativecommons.org/licenses/by/3.0/
+ * https://creativecommons.org/licenses/by/3.0/
* - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
- * "Font Awesome by Dave Gandy - http://fontawesome.io"
+ * "Font Awesome by Dave Gandy - https://fontawesome.com?from=io"
*
* Author - Dave Gandy
* ------------------------------------------------------------------------------
* Email: dave@fontawesome.io
- * Twitter: http://twitter.com/byscuits
- * Work: Lead Product Designer @ Kyruus - http://kyruus.com
+ * Twitter: https://twitter.com/byscuits
+ * Work: Lead Product Designer @ Kyruus - https://www.kyruus.com/
*/
.icon-large {
font-size: 1.3333333333333333em;
diff --git a/docs/font-awesome/css/font-awesome.css b/docs/font-awesome/css/font-awesome.css
index 30a96b22..70d5e6a0 100644
--- a/docs/font-awesome/css/font-awesome.css
+++ b/docs/font-awesome/css/font-awesome.css
@@ -3,25 +3,25 @@
* the iconic font designed for Bootstrap
* ------------------------------------------------------------------------------
* The full suite of pictographic icons, examples, and documentation can be
- * found at http://fontawesome.io. Stay up to date on Twitter at
- * http://twitter.com/fontawesome.
+ * found at https://fontawesome.com?from=io. Stay up to date on Twitter at
+ * https://twitter.com/fontawesome.
*
* License
* ------------------------------------------------------------------------------
* - The Font Awesome font is licensed under SIL OFL 1.1 -
- * http://scripts.sil.org/OFL
+ * https://scripts.sil.org/OFL
* - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
- * http://opensource.org/licenses/mit-license.html
+ * https://opensource.org/licenses/mit-license.html
* - Font Awesome documentation licensed under CC BY 3.0 -
- * http://creativecommons.org/licenses/by/3.0/
+ * https://creativecommons.org/licenses/by/3.0/
* - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
- * "Font Awesome by Dave Gandy - http://fontawesome.io"
+ * "Font Awesome by Dave Gandy - https://fontawesome.com?from=io"
*
* Author - Dave Gandy
* ------------------------------------------------------------------------------
* Email: dave@fontawesome.io
- * Twitter: http://twitter.com/byscuits
- * Work: Lead Product Designer @ Kyruus - http://kyruus.com
+ * Twitter: https://twitter.com/byscuits
+ * Work: Lead Product Designer @ Kyruus - https://www.kyruus.com/
*/
/* FONT PATH
* -------------------------- */
diff --git a/docs/index.html b/docs/index.html
index edcca56b..1b1b2ded 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -14,7 +14,7 @@
icon: github
- name: StackOverflow
- url: http://stackoverflow.com/questions/tagged/spring-cloud
+ url: https://stackoverflow.com/questions/tagged/spring-cloud
icon: stackoverflow
---
@@ -68,11 +68,11 @@
The opinionated pipelines look like this:
-![Flow in Concourse](http://cloud.spring.io/spring-cloud-pipelines/images/intro/flow_concourse.png)
+![Flow in Concourse](https://cloud.spring.io/spring-cloud-pipelines/images/intro/flow_concourse.png)
*Flow in Concourse*
-![Flow in Jenkins](http://cloud.spring.io/spring-cloud-pipelines/images/intro/flow.png)
+![Flow in Jenkins](https://cloud.spring.io/spring-cloud-pipelines/images/intro/flow.png)
*Flow in Jenkins*
@@ -97,7 +97,7 @@
- [Github Analytics Stub Runner Boot](https://github.com/spring-cloud-samples/github-analytics-stub-runner-boot) - Stub Runner Boot server to be used for
tests with Github Analytics. Uses Eureka and Messaging. This is an infrastructure application.
-For the detailed information please check out the [docs](http://cloud.spring.io/spring-cloud/spring-cloud-pipelines.html).
+For the detailed information please check out the [docs](https://cloud.spring.io/spring-cloud/spring-cloud-pipelines.html).
#### Concourse
@@ -117,7 +117,7 @@
* Unpause and run the pipeline in Concourse!
* Once the pipeline passes you can setup a new pipeline for `github-analytics`
-For the Kubernetes step by step guide just check out the [documentation](http://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#concourse-pipeline-k8s).
+For the Kubernetes step by step guide just check out the [documentation](https://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#concourse-pipeline-k8s).
#### Jenkins
@@ -131,7 +131,7 @@
* Go to Jenkins and click the `jenkins-pipeline-seed` in order to generate the pipeline jobs
* Go to the `github-webhook` pipeline view and click the `play` button to run the pipeline
-For the Kubernetes step by step guide just check out the [documentation](http://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#jenkins-pipeline-k8s).
+For the Kubernetes step by step guide just check out the [documentation](https://cloud.spring.io/spring-cloud-pipelines/single/spring-cloud-pipelines.html#jenkins-pipeline-k8s).
### Adjusting the pipelines to your needs
diff --git a/docs/js/backbone.js b/docs/js/backbone.js
index 3512d42f..7197d646 100644
--- a/docs/js/backbone.js
+++ b/docs/js/backbone.js
@@ -3,7 +3,7 @@
// (c) 2010-2013 Jeremy Ashkenas, DocumentCloud Inc.
// Backbone may be freely distributed under the MIT license.
// For all details and documentation:
-// http://backbonejs.org
+// https://backbonejs.org
(function(){
@@ -1298,7 +1298,7 @@
// ----------------
// Handles cross-browser history management, based on either
- // [pushState](http://diveintohtml5.info/history.html) and real URLs, or
+ // [pushState](https://diveintohtml5.info/history.html) and real URLs, or
// [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)
// and URL fragments. If the browser supports neither (old IE, natch),
// falls back to polling.
diff --git a/docs/js/jquery.js b/docs/js/jquery.js
index 6f8c9675..89181508 100644
--- a/docs/js/jquery.js
+++ b/docs/js/jquery.js
@@ -1,13 +1,13 @@
/*!
* jQuery JavaScript Library v1.10.1
- * http://jquery.com/
+ * https://jquery.com/
*
* Includes Sizzle.js
- * http://sizzlejs.com/
+ * https://sizzlejs.com/
*
* Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
- * http://jquery.org/license
+ * https://jquery.org/license
*
* Date: 2013-05-30T21:49Z
*/
@@ -561,7 +561,7 @@ jQuery.extend({
if ( data ) {
// Make sure the incoming data is actual JSON
- // Logic borrowed from http://json.org/json2.js
+ // Logic borrowed from https://json.org/json2.js
if ( rvalidchars.test( data.replace( rvalidescape, "@" )
.replace( rvalidtokens, "]" )
.replace( rvalidbraces, "")) ) {
@@ -602,7 +602,7 @@ jQuery.extend({
// Evaluates a script in a global context
// Workarounds based on findings by Jim Driscoll
- // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
+ // https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
globalEval: function( data ) {
if ( data && jQuery.trim( data ) ) {
// We use execScript on Internet Explorer
@@ -921,7 +921,7 @@ jQuery.ready.promise = function( obj ) {
// Catch cases where $(document).ready() is called after the browser event has already occurred.
// we once tried to use readyState "interactive" here, but it caused issues like the one
- // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
+ // discovered by ChrisS here: https://bugs.jquery.com/ticket/12282#comment:15
if ( document.readyState === "complete" ) {
// Handle it asynchronously to allow scripts the opportunity to delay ready
setTimeout( jQuery.ready );
@@ -1001,11 +1001,11 @@ function isArraylike( obj ) {
rootjQuery = jQuery(document);
/*!
* Sizzle CSS Selector Engine v1.9.4-pre
- * http://sizzlejs.com/
+ * https://sizzlejs.com/
*
* Copyright 2013 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
- * http://jquery.org/license
+ * https://jquery.org/license
*
* Date: 2013-05-27
*/
@@ -1069,17 +1069,17 @@ var i,
// Regular expressions
- // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
+ // Whitespace characters https://www.w3.org/TR/css3-selectors/#whitespace
whitespace = "[\\x20\\t\\r\\n\\f]",
- // http://www.w3.org/TR/css3-syntax/#characters
+ // https://www.w3.org/TR/css3-syntax/#characters
characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
// Loosely modeled on CSS identifier characters
- // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
- // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ // An unquoted value should be a CSS identifier https://www.w3.org/TR/css3-selectors/#attribute-selectors
+ // Proper syntax: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
identifier = characterEncoding.replace( "w", "w#" ),
- // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
+ // Acceptable operators https://www.w3.org/TR/selectors/#attribute-selectors
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
"*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
@@ -1129,7 +1129,7 @@ var i,
rescape = /'|\\/g,
- // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ // CSS escapes https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
funescape = function( _, escaped, escapedWhitespace ) {
var high = "0x" + escaped - 0x10000;
@@ -1376,7 +1376,7 @@ function boolHandler( elem, name ) {
/**
* Fetches attributes without interpolation
- * http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+ * https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
* @param {Element} elem
* @param {String} name
*/
@@ -1653,7 +1653,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// We allow this because of a bug in IE8/9 that throws an error
// whenever `document.activeElement` is accessed on an iframe
// So, we allow :focus to pass through QSA all the time to avoid the IE error
- // See http://bugs.jquery.com/ticket/13378
+ // See https://bugs.jquery.com/ticket/13378
rbuggyQSA = [];
if ( (support.qsa = isNative(doc.querySelectorAll)) ) {
@@ -1664,7 +1664,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// This is to test IE's treatment of not explicitly
// setting a boolean content attribute,
// since its presence should be enough
- // http://bugs.jquery.com/ticket/12359
+ // https://bugs.jquery.com/ticket/12359
div.innerHTML = "";
// Support: IE8
@@ -1674,7 +1674,7 @@ setDocument = Sizzle.setDocument = function( node ) {
}
// Webkit/Opera - :checked should return selected option elements
- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// IE8 throws error here and will not see later tests
if ( !div.querySelectorAll(":checked").length ) {
rbuggyQSA.push(":checked");
@@ -2219,7 +2219,7 @@ Expr = Sizzle.selectors = {
"PSEUDO": function( pseudo, argument ) {
// pseudo-class names are case-insensitive
- // http://www.w3.org/TR/selectors/#pseudo-classes
+ // https://www.w3.org/TR/selectors/#pseudo-classes
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
// Remember that setFilters inherits from pseudos
var args,
@@ -2303,7 +2303,7 @@ Expr = Sizzle.selectors = {
// or beginning with the identifier C immediately followed by "-".
// The matching of C against the element's language value is performed case-insensitively.
// The identifier C does not have to be a valid language name."
- // http://www.w3.org/TR/selectors/#lang-pseudo
+ // https://www.w3.org/TR/selectors/#lang-pseudo
"lang": markFunction( function( lang ) {
// lang value must be a valid identifier
if ( !ridentifier.test(lang || "") ) {
@@ -2350,7 +2350,7 @@ Expr = Sizzle.selectors = {
"checked": function( elem ) {
// In CSS3, :checked should return both checked and selected elements
- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
var nodeName = elem.nodeName.toLowerCase();
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
},
@@ -2367,7 +2367,7 @@ Expr = Sizzle.selectors = {
// Contents
"empty": function( elem ) {
- // http://www.w3.org/TR/selectors/#empty-pseudo
+ // https://www.w3.org/TR/selectors/#empty-pseudo
// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),
// not comment, processing instructions, or others
// Thanks to Diego Perini for the nodeName shortcut
@@ -4024,7 +4024,7 @@ jQuery.fn.extend({
});
},
// Based off of the plugin by Clint Helfers, with permission.
- // http://blindsignals.com/index.php/2009/07/jquery-delay/
+ // http://blindsignals.com
delay: function( time, type ) {
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
type = type || "fx";
@@ -4501,7 +4501,7 @@ jQuery.extend({
tabIndex: {
get: function( elem ) {
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
- // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ // https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
// Use proper attribute retrieval(#12072)
var tabindex = jQuery.find.attr( elem, "tabindex" );
@@ -4641,7 +4641,7 @@ if ( !getSetAttribute ) {
// Some attributes require a special call on IE
-// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if ( !jQuery.support.hrefNormalized ) {
// href/src property should get the full normalized URL (#10299/#12915)
jQuery.each([ "href", "src" ], function( i, name ) {
@@ -5413,7 +5413,7 @@ jQuery.Event = function( src, props ) {
};
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = {
isDefaultPrevented: returnFalse,
isPropagationStopped: returnFalse,
@@ -6516,7 +6516,7 @@ jQuery.extend({
if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
- // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
destElements = getAll( clone );
srcElements = getAll( elem );
@@ -7120,7 +7120,7 @@ if ( window.getComputedStyle ) {
// A tribute to the "awesome hack by Dean Edwards"
// Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right
// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
- // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
+ // this is against the CSSOM draft spec: https://dev.w3.org/csswg/cssom/#resolved-values
if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
// Remember the original values
@@ -8729,7 +8729,7 @@ if ( xhrSupported ) {
// Firefox throws exceptions when accessing properties
// of an xhr when a network error occurred
- // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
+ // https://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
try {
// Was never called and is aborted or complete
diff --git a/docs/js/test/SpecRunner.html b/docs/js/test/SpecRunner.html
index 877cfa2b..66bdd3b6 100644
--- a/docs/js/test/SpecRunner.html
+++ b/docs/js/test/SpecRunner.html
@@ -4,7 +4,7 @@
---
+ "https://www.w3.org/TR/html4/loose.dtd">
Jasmine Spec Runner
diff --git a/docs/js/test/lib/support/mock-ajax.js b/docs/js/test/lib/support/mock-ajax.js
index 5c99627a..bf17886f 100644
--- a/docs/js/test/lib/support/mock-ajax.js
+++ b/docs/js/test/lib/support/mock-ajax.js
@@ -4,9 +4,9 @@
Supports both Prototype.js and jQuery.
- http://github.com/pivotal/jasmine-ajax
+ https://github.com/pivotal/jasmine-ajax
- Jasmine Home page: http://pivotal.github.com/jasmine
+ Jasmine Home page: https://pivotal.github.com/jasmine
Copyright (c) 2008-2010 Pivotal Labs
diff --git a/docs/js/test/spec/QuickStartWidgetSpec.js b/docs/js/test/spec/QuickStartWidgetSpec.js
index b5587776..3bafa1d0 100644
--- a/docs/js/test/spec/QuickStartWidgetSpec.js
+++ b/docs/js/test/spec/QuickStartWidgetSpec.js
@@ -6,18 +6,18 @@ describe("QuickStartWidget", function () {
var project = new Spring.Project({
"id": "spring-data-jpa",
"name": "Spring Data JPA",
- "repoUrl": "http://github.com/SpringSource/spring-data-jpa",
- "siteUrl": "http://projects.spring.io/spring-data-jpa",
+ "repoUrl": "https://github.com/SpringSource/spring-data-jpa",
+ "siteUrl": "https://projects.spring.io/spring-data-jpa",
"projectReleases": [
{
- "refDocUrl": "http://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/reference/html/",
- "apiDocUrl": "http://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/api/",
+ "refDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/reference/html/",
+ "apiDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.4.0.RC1/api/",
"groupId": "org.springframework.data",
"artifactId": "spring-data-jpa",
"repository": {
"id": "spring-milestones",
"name": "Spring Milestones",
- "url": "http://repo.spring.io/milestone",
+ "url": "https://repo.spring.io/milestone",
"snapshotsEnabled": false
},
"version": "1.4.0.RC1",
@@ -28,8 +28,8 @@ describe("QuickStartWidget", function () {
"versionDisplayName": "1.4.0.RC1"
},
{
- "refDocUrl": "http://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/reference/html/",
- "apiDocUrl": "http://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/api/",
+ "refDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/reference/html/",
+ "apiDocUrl": "https://docs.spring.io/spring-data/jpa/docs/1.3.4.RELEASE/api/",
"groupId": "org.springframework.data",
"artifactId": "spring-data-jpa",
"repository": null,
@@ -73,7 +73,7 @@ describe("QuickStartWidget", function () {
expect($('#maven_widget')).toContainText("spring-milestones");
expect($('#maven_widget')).toContainText("Spring Milestones");
- expect($('#maven_widget')).toContainText("http://repo.spring.io/milestone");
+ expect($('#maven_widget')).toContainText("https://repo.spring.io/milestone");
expect($('#maven_widget')).toContainText("false");
});
@@ -83,7 +83,7 @@ describe("QuickStartWidget", function () {
expect($('#maven_widget')).not.toContainText("repository");
expect($('#maven_widget')).not.toContainText("spring-milestones");
expect($('#maven_widget')).not.toContainText("Spring Milestones");
- expect($('#maven_widget')).not.toContainText("http://repo.spring.io/milestone");
+ expect($('#maven_widget')).not.toContainText("https://repo.spring.io/milestone");
expect($('#maven_widget')).not.toContainText("false");
});
});
@@ -102,7 +102,7 @@ describe("QuickStartWidget", function () {
$('#jasmine_content select').val(0).change();
expect($('#maven_widget')).toContainText("repositories");
- expect($('#maven_widget')).toContainText("http://repo.spring.io/milestone");
+ expect($('#maven_widget')).toContainText("https://repo.spring.io/milestone");
});
});
});
diff --git a/docs/js/underscore.js b/docs/js/underscore.js
index 7d4ee27c..f5df8e03 100644
--- a/docs/js/underscore.js
+++ b/docs/js/underscore.js
@@ -1,5 +1,5 @@
// Underscore.js 1.5.1
-// http://underscorejs.org
+// https://underscorejs.org
// (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
// Underscore may be freely distributed under the MIT license.
@@ -554,7 +554,7 @@
// Generate an integer Array containing an arithmetic progression. A port of
// the native Python `range()` function. See
- // [the Python documentation](http://docs.python.org/library/functions.html#range).
+ // [the Python documentation](https://docs.python.org/library/functions.html#range).
_.range = function(start, stop, step) {
if (arguments.length <= 1) {
stop = start || 0;
@@ -844,7 +844,7 @@
// Internal recursive comparison function for `isEqual`.
var eq = function(a, b, aStack, bStack) {
// Identical objects are equal. `0 === -0`, but they aren't identical.
- // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).
+ // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).
if (a === b) return a !== 0 || 1 / a == 1 / b;
// A strict comparison is necessary because `null == undefined`.
if (a == null || b == null) return a === b;
diff --git a/docs/multi/multi__building_the_project.html b/docs/multi/multi__building_the_project.html
index c70201a2..847a1c9a 100644
--- a/docs/multi/multi__building_the_project.html
+++ b/docs/multi/multi__building_the_project.html
@@ -1,6 +1,6 @@
- 15. Building the project
As prerequisites you need to have shellcheck,
bats, jq
and ruby installed. If you’re on a Linux
machine then bats and shellcheck will be installed for you.
To install the required software on Linux just type the following commands
$ sudo apt-get install -y ruby jq
If you’re on a Mac then just execute these commands to install the missing software
$ brew install jq
diff --git a/docs/multi/multi__introduction.html b/docs/multi/multi__introduction.html
index 6d770a35..e7cef3ec 100644
--- a/docs/multi/multi__introduction.html
+++ b/docs/multi/multi__introduction.html
@@ -76,7 +76,7 @@
anytime before deployment to production.
One of the possibilities of tackling these problems is to… not do end to end tests.
Figure 1.5. Execute tests on a deployed microservice on stubbed dependencies
If we stub out all the dependencies of our application then most of the problems presented above
disappear. There is no need to start and setup infrastructure required by the dependant
microservices. That way the testing setup looks like this:
Figure 1.6. We’re testing microservices in isolation
Such an approach to testing and deployment gives the following benefits
-(thanks to the usage of Spring Cloud Contract):
No need to deploy dependant services
The stubs used for the tests ran on a deployed microservice are the same as those used during integration tests
Those stubs have been tested against the application that produces them (check Spring Cloud Contract for more information)
We don’t have many slow tests running on a deployed application - thus the pipeline gets executed much faster
We don’t have to queue deployments - we’re testing in isolation thus pipelines don’t interfere with each other
We don’t have to spawn virtual machines each time for deployment purposes
It brings however the following challenges:
No end to end tests before production - you don’t have the full certainty that a feature is working
First time the applications will talk in a real way will be on production
Like every solution it has its benefits and drawbacks. The opinionated pipeline
+(thanks to the usage of Spring Cloud Contract):
No need to deploy dependant services
The stubs used for the tests ran on a deployed microservice are the same as those used during integration tests
Those stubs have been tested against the application that produces them (check Spring Cloud Contract for more information)
We don’t have many slow tests running on a deployed application - thus the pipeline gets executed much faster
We don’t have to queue deployments - we’re testing in isolation thus pipelines don’t interfere with each other
We don’t have to spawn virtual machines each time for deployment purposes
It brings however the following challenges:
No end to end tests before production - you don’t have the full certainty that a feature is working
First time the applications will talk in a real way will be on production
Like every solution it has its benefits and drawbacks. The opinionated pipeline
allows you to configure whether you want to follow this flow or not.
1.5.2 General view
The general view behind this deployment pipeline is to:
test the application in isolation
test the backwards compatibility of the application in order to roll it back if necessary
allow testing of the packaged app in a deployed environment
allow user acceptance tests / performance tests in a deployed environment
allow deployment to production
Obviously the pipeline could have been split to more steps but it seems that all of the aforementioned
actions comprise nicely in our opinionated proposal.
1.6 CI Server worker prerequisites
Spring Cloud Pipelines uses Bash scripts extensively. Below you can find the list of software
that needs to be installed on a CI server worker for the build to pass.
Tip
In the demo setup all of these libraries are already installed.
apt-get -y install \
diff --git a/docs/multi/multi__jenkins_pipeline_common.html b/docs/multi/multi__jenkins_pipeline_common.html
index 77a7c7a1..f89b3a1d 100644
--- a/docs/multi/multi__jenkins_pipeline_common.html
+++ b/docs/multi/multi__jenkins_pipeline_common.html
@@ -26,7 +26,7 @@
when you want to do some custom changes.
7.2.1 Deploying infra jars to a different location
It’s enough to set the ARTIFACTORY_URL environmental variable before
executing tools/deploy-infra.sh. Example for deploying to Artifactory at IP 192.168.99.100
git clone https://github.com/spring-cloud/spring-cloud-pipelines
cd spring-cloud-pipelines/
-ARTIFACTORY_URL="http://192.168.99.100:8081/artifactory/libs-release-local" ./tools/deploy-infra.sh
7.2.2 Setup settings.xml for Maven deployment
Tip
If you want to use the default connection to the Docker version
+ARTIFACTORY_URL="https://192.168.99.100:8081/artifactory/libs-release-local" ./tools/deploy-infra.sh
7.2.2 Setup settings.xml for Maven deployment
Tip
If you want to use the default connection to the Docker version
of Artifactory you can skip this step
So that ./mvnw deploy works with Artifactory from Docker we’re
already copying the missing settings.xml file for you. It looks more or less like this:
Click here to
check out the slides by Cora Iberkleid where she
-migrates a setup of applications to be compliant with Spring Cloud Pipelines.
14.2 Introduction
This tutorial covers refactoring applications to comply with, and take advantage of, Spring Cloud Pipelines.
We will use a simple 3-tier application as an example:
Figure 14.1. Use Case - Logical View
At the end of this tutorial, it will be possible to instantly create a Concourse pipeline for each app and run successfully through a full lifecycle, from source code commit to production deployment, following the lifecycle stages for testing and deployment recommended by Spring Cloud Pipelines. The app code bases will be improved with organized test coverage, a contract-based API, and a versioned database schema, enabling Spring Cloud Pipelines to carry out stubbed testing and to ensure backward compatibility for API and database schema changes.
14.3 Sample application - initial state
The sample application is implemented using Spring Boot apps for the UI and service tiers, and MySQL for the database.
The apps are built using Maven and pushed manually to Cloud Foundry. They leverage the three Pivotal Spring Cloud Services: Config Server, Service Discovery, and Circuit Breaker Dashboard. Rabbit is used to propagate Config Server refresh triggers.
The source code for the two Spring Boot apps is stored on GitHub, as is the backing repo for Config Server.
Figure 14.2. Use Case - Implementation
14.4 Sample application - end state
Through this tutorial, we will be adding Concourse and JFrog Bintray to manage the application lifecycle.
We will also be refactoring the application to comply with Spring Cloud Pipelines requirements and recommendations, including adding/organizing tests and introducing database versioning using Flyway and API contracts using Spring Cloud Contract.
14.5 Tutorial - toolset
GitHub - sample app source code and config repositories, a sample stubrunner app repository, and the Spring Cloud Pipelines code base
Pivotal Web Services - public hosted Cloud Foundry offering free trial accounts and including MySQL, Rabbit, and Pivotal Spring Cloud Services in the Marketplace
Client Tools - on your local machine, you will need an IDE as well as the mvn, git, cf, and fly (Concourse) CLIs
14.6 Tutorial - overview
The migration steps are broken down into three stages:
Scaffolding
Minimal refactoring to comply with basic Spring Cloud Pipelines requirements.
At the end of this stage, each app will have a corresponding pipeline on Concourse. The pipelines will successfully build the apps, store the artifacts in Bintray, tag the GitHub repositories, and deploy the apps to Test, Stage, and Prod spaces in Cloud Foundry.
Tests
Add/organize tests to comply with Spring Cloud Pipelines recommendations. Incorporate flyway for database schema versioning and initial data loading.
At the end of this stage, the pipelines will trigger unit and integration tests during the Build stage, smoke tests in the Test environment, and end-to-end tests in the Stage environment. The pipelines will also ensure backward compatibility for the database, such that you can safely roll back the backend service app, even after the database schema has been updated.
Contracts
Incorporate Spring Cloud Contract to define the API between the UI and service apps and auto-generate tests and stubs.
At the end of this stage, the pipelines will catch breaking API changes during the Build stage and ensure backward compatibility for the API, such that you can safely roll back the backend service (producer) app, even after an API change.
14.7 Tutorial - step-by-step
14.7.1 Prep: Before you begin
If you want to simply review the migration steps explained below, you can look at the various branches in the greeting-ui and fortune-service repositories - there is a branch representing the end-state of each stage:
Figure 14.3. GitHub Branches
If you want to use this tutorial as a hands-on lab, fork each of the following repositories:
Finally, create a directory called $SCP_HOME/credentials. Leave it empty for now.
14.7.2 Stage 1: Scaffolding
In this stage, we make minimal changes to satisfy basic Spring Cloud Pipelines requirements so that the apps can run through the entire pipeline without error. We make "scaffolding" changes only - no code changes.
The steps in this stage must be completed for both greeting-ui and fortune-service.
1.1 Create GitHub branches
git branch version
+migrates a setup of applications to be compliant with Spring Cloud Pipelines.
14.2 Introduction
This tutorial covers refactoring applications to comply with, and take advantage of, Spring Cloud Pipelines.
We will use a simple 3-tier application as an example:
Figure 14.1. Use Case - Logical View
At the end of this tutorial, it will be possible to instantly create a Concourse pipeline for each app and run successfully through a full lifecycle, from source code commit to production deployment, following the lifecycle stages for testing and deployment recommended by Spring Cloud Pipelines. The app code bases will be improved with organized test coverage, a contract-based API, and a versioned database schema, enabling Spring Cloud Pipelines to carry out stubbed testing and to ensure backward compatibility for API and database schema changes.
14.3 Sample application - initial state
The sample application is implemented using Spring Boot apps for the UI and service tiers, and MySQL for the database.
The apps are built using Maven and pushed manually to Cloud Foundry. They leverage the three Pivotal Spring Cloud Services: Config Server, Service Discovery, and Circuit Breaker Dashboard. Rabbit is used to propagate Config Server refresh triggers.
The source code for the two Spring Boot apps is stored on GitHub, as is the backing repo for Config Server.
Figure 14.2. Use Case - Implementation
14.4 Sample application - end state
Through this tutorial, we will be adding Concourse and JFrog Bintray to manage the application lifecycle.
We will also be refactoring the application to comply with Spring Cloud Pipelines requirements and recommendations, including adding/organizing tests and introducing database versioning using Flyway and API contracts using Spring Cloud Contract.
14.5 Tutorial - toolset
GitHub - sample app source code and config repositories, a sample stubrunner app repository, and the Spring Cloud Pipelines code base
Pivotal Web Services - public hosted Cloud Foundry offering free trial accounts and including MySQL, Rabbit, and Pivotal Spring Cloud Services in the Marketplace
Client Tools - on your local machine, you will need an IDE as well as the mvn, git, cf, and fly (Concourse) CLIs
14.6 Tutorial - overview
The migration steps are broken down into three stages:
Scaffolding
Minimal refactoring to comply with basic Spring Cloud Pipelines requirements.
At the end of this stage, each app will have a corresponding pipeline on Concourse. The pipelines will successfully build the apps, store the artifacts in Bintray, tag the GitHub repositories, and deploy the apps to Test, Stage, and Prod spaces in Cloud Foundry.
Tests
Add/organize tests to comply with Spring Cloud Pipelines recommendations. Incorporate flyway for database schema versioning and initial data loading.
At the end of this stage, the pipelines will trigger unit and integration tests during the Build stage, smoke tests in the Test environment, and end-to-end tests in the Stage environment. The pipelines will also ensure backward compatibility for the database, such that you can safely roll back the backend service app, even after the database schema has been updated.
Contracts
Incorporate Spring Cloud Contract to define the API between the UI and service apps and auto-generate tests and stubs.
At the end of this stage, the pipelines will catch breaking API changes during the Build stage and ensure backward compatibility for the API, such that you can safely roll back the backend service (producer) app, even after an API change.
14.7 Tutorial - step-by-step
14.7.1 Prep: Before you begin
If you want to simply review the migration steps explained below, you can look at the various branches in the greeting-ui and fortune-service repositories - there is a branch representing the end-state of each stage:
Figure 14.3. GitHub Branches
If you want to use this tutorial as a hands-on lab, fork each of the following repositories:
Finally, create a directory called $SCP_HOME/credentials. Leave it empty for now.
14.7.2 Stage 1: Scaffolding
In this stage, we make minimal changes to satisfy basic Spring Cloud Pipelines requirements so that the apps can run through the entire pipeline without error. We make "scaffolding" changes only - no code changes.
The steps in this stage must be completed for both greeting-ui and fortune-service.
1.1 Create GitHub branches
git branch version
git checkout -b sc-pipelines
Branch version is required to exist, though it can be created as an empty branch. It is used by Spring Coud Pipelines to generate a version number for each new pipeline execution.
Branch sc-pipelines is optional and can be named anything you wish. The intention is for you to use it as a working branch for the changes suggested in this tutorial (hence we create it and also check it out).
1.2 Add Maven wrapper
mvn -N io.takari:maven:wrapper
This commands adds 4 files to a project:
.
├── mvnw
├── mvnw.cmd
diff --git a/docs/multi/multi__the_demo_setup_kubernetes.html b/docs/multi/multi__the_demo_setup_kubernetes.html
index 99e6a677..12dca46d 100644
--- a/docs/multi/multi__the_demo_setup_kubernetes.html
+++ b/docs/multi/multi__the_demo_setup_kubernetes.html
@@ -101,7 +101,7 @@
## alertmanager data Persistent Volume access modes
## Must match those of existing PV or dynamic provisioner
- ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
+ ## Ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
##
accessModes:
- ReadWriteOnce
@@ -144,7 +144,7 @@
replicaCount: 1
## alertmanager resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -186,7 +186,7 @@
pullPolicy: IfNotPresent
## configmap-reload resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
@@ -221,7 +221,7 @@
replicaCount: 1
## kube-state-metrics resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -418,7 +418,7 @@
## Prometheus server data Persistent Volume access modes
## Must match those of existing PV or dynamic provisioner
- ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
+ ## Ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
##
accessModes:
- ReadWriteOnce
@@ -462,7 +462,7 @@
replicaCount: 1
## Prometheus server resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -552,7 +552,7 @@
replicaCount: 1
## pushgateway resource requests and limits
- ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
resources: {}
# limits:
@@ -842,7 +842,7 @@
kubectl --namespace default port-forward $POD_NAME 30003. Login with the password from step 1 and the username: admin
You can pick the dashboard via the Grafana ID (2471). This is the
default dashboard for the Spring Cloud Pipelines demo apps.
If you have both apps (github-webhook and github-analytics) running on production
we can now trigger the messages. Download the JSON with a sample request
from the github-webhook repository.
diff --git a/docs/multi/multi_concourse-pipeline-cf.html b/docs/multi/multi_concourse-pipeline-cf.html
index f099049d..fe2d790b 100644
--- a/docs/multi/multi_concourse-pipeline-cf.html
+++ b/docs/multi/multi_concourse-pipeline-cf.html
@@ -30,7 +30,7 @@
You can click one of the icons (depending on your OS) to download fly, which is the Concourse CLI. Once you’ve downloaded that (and maybe added to your PATH) you can run:
fly --version
If fly is properly installed then it should print out the version.
4.1.5 Setup your credentials.yml
The repo comes with credentials-sample-cf.yml which is set up with sample data (most credentials) are set to be applicable for PCF Dev. Copy this file to a new file credentials.yml (the file is added to .gitignore so don’t worry that you’ll push it with your passwords) and edit it as you wish. For our demo just setup:
app-url - url pointing to your forked github-webhook repo
github-private-key - your private key to clone / tag GitHub repos
repo-with-binaries - the IP is set to the defaults for Docker Machine. You should update it to point to your setup
If you don’t have a Docker Machine just execute ./whats_my_ip.sh script to
get an external IP that you can pass to your repo-with-binaries instead of the default
-Docker Machine IP.
Below you can see what environment variables are required by the scripts. To the right hand side you can see the default values for PCF Dev that we set in the credentials-sample-cf.yml.
Property Name
Property Description
Default value
BUILD_OPTIONS
Additional options you would like to pass to the Maven / Gradle build
PAAS_TEST_API_URL
The URL to the CF Api for TEST env
api.local.pcfdev.io
PAAS_STAGE_API_URL
The URL to the CF Api for STAGE env
api.local.pcfdev.io
PAAS_PROD_API_URL
The URL to the CF Api for PROD env
api.local.pcfdev.io
PAAS_TEST_ORG
Name of the org for the test env
pcfdev-org
PAAS_TEST_SPACE_PREFIX
Prefix of the name of the CF space for the test env to which the app name will be appended
Log in (e.g. for Concourse running at 192.168.99.100 - if you don’t provide any value then localhost is assumed). If you execute this script (it assumes that either fly is on your PATH or it’s in the same folder as the script is):
./login.sh 192.168.99.100
Next run the command to create the pipeline.
./set_pipeline.sh
Then you’ll create a github-webhook pipeline under the docker alias, using the provided credentials.yml file.
+Docker Machine IP.
Below you can see what environment variables are required by the scripts. To the right hand side you can see the default values for PCF Dev that we set in the credentials-sample-cf.yml.
Property Name
Property Description
Default value
BUILD_OPTIONS
Additional options you would like to pass to the Maven / Gradle build
PAAS_TEST_API_URL
The URL to the CF Api for TEST env
api.local.pcfdev.io
PAAS_STAGE_API_URL
The URL to the CF Api for STAGE env
api.local.pcfdev.io
PAAS_PROD_API_URL
The URL to the CF Api for PROD env
api.local.pcfdev.io
PAAS_TEST_ORG
Name of the org for the test env
pcfdev-org
PAAS_TEST_SPACE_PREFIX
Prefix of the name of the CF space for the test env to which the app name will be appended
Log in (e.g. for Concourse running at 192.168.99.100 - if you don’t provide any value then localhost is assumed). If you execute this script (it assumes that either fly is on your PATH or it’s in the same folder as the script is):
./login.sh 192.168.99.100
Next run the command to create the pipeline.
./set_pipeline.sh
Then you’ll create a github-webhook pipeline under the docker alias, using the provided credentials.yml file.
You can override these values in exactly that order (e.g. ./set-pipeline.sh some-project another-target some-other-credentials.yml)
Figure 8.9. Open Blue Ocean UI and click on github-webhook-declarative-pipeline
Figure 8.10. Your first run will look like this. Click Run button
Figure 8.11. Enter parameters required for the build and click run
@@ -65,7 +65,7 @@
check out this issue for more information
Warning
Currently there is no way to introduce manual steps in a performant way. Jenkins is
blocking an executor when manual step is required. That means that you’ll run out of executors
pretty fast. You can check out this issue for
-and this StackOverflow question
+and this StackOverflow question
for more information.
8.3 Jenkins Cloud Foundry customization
All the steps below are not necessary to run the demo. They are needed only
when you want to do some custom changes.
8.3.1 All env vars
The env vars that are used in all of the jobs are as follows:
Property Name
Property Description
Default value
BINARY_EXTENSION
Extension of the binary uploaded to Artifactory / Nexus. Example: change this to war for WAR artifacts
PAAS_TEST_API_URL
The URL to the CF Api for TEST env
api.local.pcfdev.io
PAAS_STAGE_API_URL
The URL to the CF Api for STAGE env
api.local.pcfdev.io
PAAS_PROD_API_URL
The URL to the CF Api for PROD env
api.local.pcfdev.io
PAAS_TEST_ORG
Name of the org for the test env
pcfdev-org
PAAS_TEST_SPACE_PREFIX
Prefix of the name of the CF space for the test env to which the app name will be appended
Additional options you would like to pass to the Maven / Gradle build
8.3.2 Jenkins Credentials
In your scripts we reference the credentials via IDs. These are the defaults for credentials
Property Name
Property Description
Default value
PAAS_PROD_CREDENTIAL_ID
Credential ID for CF Prod env access
cf-prod
GIT_CREDENTIAL_ID
Credential ID used to tag a git repo
git
GIT_SSH_CREDENTIAL_ID
SSH credential ID used to tag a git repo
gitSsh
GIT_USE_SSH_KEY
if true will pick to use the SSH credential id
false
REPO_WITH_BINARIES_CREDENTIAL_ID
Credential ID used for the repo with jars
repo-with-binaries
PAAS_TEST_CREDENTIAL_ID
Credential ID for CF Test env access
cf-test
PAAS_STAGE_CREDENTIAL_ID
Credential ID for CF Stage env access
cf-stage
If you already have in your system a credential to for example tag a repo
you can use it by passing the value of the property GIT_CREDENTIAL_ID
Tip
Check out the cf-helper script for all the configuration options!
\ No newline at end of file
diff --git a/docs/multi/multi_jenkins-pipeline-k8s.html b/docs/multi/multi_jenkins-pipeline-k8s.html
index c15d4723..e5ad8f32 100644
--- a/docs/multi/multi_jenkins-pipeline-k8s.html
+++ b/docs/multi/multi_jenkins-pipeline-k8s.html
@@ -45,7 +45,7 @@
Figure 9.8. The full pipeline should look like this
9.2 Declarative pipeline & Blue Ocean
You can also use the declarative pipeline approach with the
Blue Ocean UI. Here is a step by step guide to run a pipeline via
-this approach.
Figure 9.9. Open Blue Ocean UI and click on github-webhook-declarative-pipeline
Figure 9.10. Your first run will look like this. Click Run button
Figure 9.11. Enter parameters required for the build and click run
@@ -57,7 +57,7 @@
check out this issue for more information
Warning
Currently there is no way to introduce manual steps in a performant way. Jenkins is
blocking an executor when manual step is required. That means that you’ll run out of executors
pretty fast. You can check out this issue for
-and this StackOverflow question
+and this StackOverflow question
for more information.
9.3 Jenkins Kubernetes customization
Important
All the steps below are not necessary to run the demo. They are needed only
when you want to do some custom changes.
9.3.1 All env vars
The env vars that are used in all of the jobs are as follows:
Property Name
Property Description
Default value
BUILD_OPTIONS
Additional options you would like to pass to the Maven / Gradle build
DOCKER_REGISTRY_ORGANIZATION
Name of the docker organization to which Docker images should be deployed
scpipelines
DOCKER_REGISTRY_CREDENTIAL_ID
Credential ID used to push Docker images
docker-registry
DOCKER_SERVER_ID
Server ID in settings.xml and Maven builds
docker-repo
DOCKER_EMAIL
Email used to connect to Docker registry` and Maven builds
In order to use GCE we need to have gcloud running. If you already have the
CLI installed, skip this step. If not just execute to have the CLI
diff --git a/docs/single/spring-cloud-pipelines.html b/docs/single/spring-cloud-pipelines.html
index f62d8607..255f6a4e 100644
--- a/docs/single/spring-cloud-pipelines.html
+++ b/docs/single/spring-cloud-pipelines.html
@@ -80,7 +80,7 @@
anytime before deployment to production.
One of the possibilities of tackling these problems is to… not do end to end tests.
Figure 1.5. Execute tests on a deployed microservice on stubbed dependencies
If we stub out all the dependencies of our application then most of the problems presented above
disappear. There is no need to start and setup infrastructure required by the dependant
microservices. That way the testing setup looks like this:
Figure 1.6. We’re testing microservices in isolation
Such an approach to testing and deployment gives the following benefits
-(thanks to the usage of Spring Cloud Contract):
No need to deploy dependant services
The stubs used for the tests ran on a deployed microservice are the same as those used during integration tests
Those stubs have been tested against the application that produces them (check Spring Cloud Contract for more information)
We don’t have many slow tests running on a deployed application - thus the pipeline gets executed much faster
We don’t have to queue deployments - we’re testing in isolation thus pipelines don’t interfere with each other
We don’t have to spawn virtual machines each time for deployment purposes
It brings however the following challenges:
No end to end tests before production - you don’t have the full certainty that a feature is working
First time the applications will talk in a real way will be on production
Like every solution it has its benefits and drawbacks. The opinionated pipeline
+(thanks to the usage of Spring Cloud Contract):
No need to deploy dependant services
The stubs used for the tests ran on a deployed microservice are the same as those used during integration tests
Those stubs have been tested against the application that produces them (check Spring Cloud Contract for more information)
We don’t have many slow tests running on a deployed application - thus the pipeline gets executed much faster
We don’t have to queue deployments - we’re testing in isolation thus pipelines don’t interfere with each other
We don’t have to spawn virtual machines each time for deployment purposes
It brings however the following challenges:
No end to end tests before production - you don’t have the full certainty that a feature is working
First time the applications will talk in a real way will be on production
Like every solution it has its benefits and drawbacks. The opinionated pipeline
allows you to configure whether you want to follow this flow or not.
1.5.2 General view
The general view behind this deployment pipeline is to:
test the application in isolation
test the backwards compatibility of the application in order to roll it back if necessary
allow testing of the packaged app in a deployed environment
allow user acceptance tests / performance tests in a deployed environment
allow deployment to production
Obviously the pipeline could have been split to more steps but it seems that all of the aforementioned
actions comprise nicely in our opinionated proposal.
1.6 CI Server worker prerequisites
Spring Cloud Pipelines uses Bash scripts extensively. Below you can find the list of software
that needs to be installed on a CI server worker for the build to pass.
Tip
In the demo setup all of these libraries are already installed.
apt-get -y install \
@@ -245,7 +245,7 @@
You can click one of the icons (depending on your OS) to download fly, which is the Concourse CLI. Once you’ve downloaded that (and maybe added to your PATH) you can run:
fly --version
If fly is properly installed then it should print out the version.
4.1.5 Setup your credentials.yml
The repo comes with credentials-sample-cf.yml which is set up with sample data (most credentials) are set to be applicable for PCF Dev. Copy this file to a new file credentials.yml (the file is added to .gitignore so don’t worry that you’ll push it with your passwords) and edit it as you wish. For our demo just setup:
app-url - url pointing to your forked github-webhook repo
github-private-key - your private key to clone / tag GitHub repos
repo-with-binaries - the IP is set to the defaults for Docker Machine. You should update it to point to your setup
If you don’t have a Docker Machine just execute ./whats_my_ip.sh script to
get an external IP that you can pass to your repo-with-binaries instead of the default
-Docker Machine IP.
Below you can see what environment variables are required by the scripts. To the right hand side you can see the default values for PCF Dev that we set in the credentials-sample-cf.yml.
Property Name
Property Description
Default value
BUILD_OPTIONS
Additional options you would like to pass to the Maven / Gradle build
PAAS_TEST_API_URL
The URL to the CF Api for TEST env
api.local.pcfdev.io
PAAS_STAGE_API_URL
The URL to the CF Api for STAGE env
api.local.pcfdev.io
PAAS_PROD_API_URL
The URL to the CF Api for PROD env
api.local.pcfdev.io
PAAS_TEST_ORG
Name of the org for the test env
pcfdev-org
PAAS_TEST_SPACE_PREFIX
Prefix of the name of the CF space for the test env to which the app name will be appended
Log in (e.g. for Concourse running at 192.168.99.100 - if you don’t provide any value then localhost is assumed). If you execute this script (it assumes that either fly is on your PATH or it’s in the same folder as the script is):
./login.sh 192.168.99.100
Next run the command to create the pipeline.
./set_pipeline.sh
Then you’ll create a github-webhook pipeline under the docker alias, using the provided credentials.yml file.
+Docker Machine IP.
Below you can see what environment variables are required by the scripts. To the right hand side you can see the default values for PCF Dev that we set in the credentials-sample-cf.yml.
Property Name
Property Description
Default value
BUILD_OPTIONS
Additional options you would like to pass to the Maven / Gradle build
PAAS_TEST_API_URL
The URL to the CF Api for TEST env
api.local.pcfdev.io
PAAS_STAGE_API_URL
The URL to the CF Api for STAGE env
api.local.pcfdev.io
PAAS_PROD_API_URL
The URL to the CF Api for PROD env
api.local.pcfdev.io
PAAS_TEST_ORG
Name of the org for the test env
pcfdev-org
PAAS_TEST_SPACE_PREFIX
Prefix of the name of the CF space for the test env to which the app name will be appended
Log in (e.g. for Concourse running at 192.168.99.100 - if you don’t provide any value then localhost is assumed). If you execute this script (it assumes that either fly is on your PATH or it’s in the same folder as the script is):
./login.sh 192.168.99.100
Next run the command to create the pipeline.
./set_pipeline.sh
Then you’ll create a github-webhook pipeline under the docker alias, using the provided credentials.yml file.
You can override these values in exactly that order (e.g. ./set-pipeline.sh some-project another-target some-other-credentials.yml)
4.1.7 Run the github-webhook pipeline
Figure 4.1. Click Login
Figure 4.2. Pick main team
@@ -368,7 +368,7 @@
when you want to do some custom changes.
7.2.1 Deploying infra jars to a different location
It’s enough to set the ARTIFACTORY_URL environmental variable before
executing tools/deploy-infra.sh. Example for deploying to Artifactory at IP 192.168.99.100
git clone https://github.com/spring-cloud/spring-cloud-pipelines
cd spring-cloud-pipelines/
-ARTIFACTORY_URL="http://192.168.99.100:8081/artifactory/libs-release-local" ./tools/deploy-infra.sh
7.2.2 Setup settings.xml for Maven deployment
Tip
If you want to use the default connection to the Docker version
+ARTIFACTORY_URL="https://192.168.99.100:8081/artifactory/libs-release-local" ./tools/deploy-infra.sh
7.2.2 Setup settings.xml for Maven deployment
Tip
If you want to use the default connection to the Docker version
of Artifactory you can skip this step
So that ./mvnw deploy works with Artifactory from Docker we’re
already copying the missing settings.xml file for you. It looks more or less like this:
Figure 8.9. Open Blue Ocean UI and click on github-webhook-declarative-pipeline
Figure 8.10. Your first run will look like this. Click Run button
Figure 8.11. Enter parameters required for the build and click run
@@ -480,7 +480,7 @@
check out this issue for more information
Warning
Currently there is no way to introduce manual steps in a performant way. Jenkins is
blocking an executor when manual step is required. That means that you’ll run out of executors
pretty fast. You can check out this issue for
-and this StackOverflow question
+and this StackOverflow question
for more information.
8.3 Jenkins Cloud Foundry customization
All the steps below are not necessary to run the demo. They are needed only
when you want to do some custom changes.
8.3.1 All env vars
The env vars that are used in all of the jobs are as follows:
Property Name
Property Description
Default value
BINARY_EXTENSION
Extension of the binary uploaded to Artifactory / Nexus. Example: change this to war for WAR artifacts
PAAS_TEST_API_URL
The URL to the CF Api for TEST env
api.local.pcfdev.io
PAAS_STAGE_API_URL
The URL to the CF Api for STAGE env
api.local.pcfdev.io
PAAS_PROD_API_URL
The URL to the CF Api for PROD env
api.local.pcfdev.io
PAAS_TEST_ORG
Name of the org for the test env
pcfdev-org
PAAS_TEST_SPACE_PREFIX
Prefix of the name of the CF space for the test env to which the app name will be appended
Figure 9.9. Open Blue Ocean UI and click on github-webhook-declarative-pipeline
Figure 9.10. Your first run will look like this. Click Run button
Figure 9.11. Enter parameters required for the build and click run
@@ -540,7 +540,7 @@
check out this issue for more information
Warning
Currently there is no way to introduce manual steps in a performant way. Jenkins is
blocking an executor when manual step is required. That means that you’ll run out of executors
pretty fast. You can check out this issue for
-and this StackOverflow question
+and this StackOverflow question
for more information.
9.3 Jenkins Kubernetes customization
Important
All the steps below are not necessary to run the demo. They are needed only
when you want to do some custom changes.
9.3.1 All env vars
The env vars that are used in all of the jobs are as follows:
Property Name
Property Description
Default value
BUILD_OPTIONS
Additional options you would like to pass to the Maven / Gradle build
DOCKER_REGISTRY_ORGANIZATION
Name of the docker organization to which Docker images should be deployed
scpipelines
DOCKER_REGISTRY_CREDENTIAL_ID
Credential ID used to push Docker images
docker-registry
DOCKER_SERVER_ID
Server ID in settings.xml and Maven builds
docker-repo
DOCKER_EMAIL
Email used to connect to Docker registry` and Maven builds
You can pick the dashboard via the Grafana ID (2471). This is the
default dashboard for the Spring Cloud Pipelines demo apps.
If you have both apps (github-webhook and github-analytics) running on production
we can now trigger the messages. Download the JSON with a sample request
from the github-webhook repository.
@@ -1566,7 +1566,7 @@
--header "Content-Type: application/json"
Then if you check out Grafana you’ll see that you went above the
threshold.
14. Step-by-step Cloud Foundry migration
14.1 Preview
Click here to
check out the slides by Cora Iberkleid where she
-migrates a setup of applications to be compliant with Spring Cloud Pipelines.
14.2 Introduction
This tutorial covers refactoring applications to comply with, and take advantage of, Spring Cloud Pipelines.
We will use a simple 3-tier application as an example:
Figure 14.1. Use Case - Logical View
At the end of this tutorial, it will be possible to instantly create a Concourse pipeline for each app and run successfully through a full lifecycle, from source code commit to production deployment, following the lifecycle stages for testing and deployment recommended by Spring Cloud Pipelines. The app code bases will be improved with organized test coverage, a contract-based API, and a versioned database schema, enabling Spring Cloud Pipelines to carry out stubbed testing and to ensure backward compatibility for API and database schema changes.
14.3 Sample application - initial state
The sample application is implemented using Spring Boot apps for the UI and service tiers, and MySQL for the database.
The apps are built using Maven and pushed manually to Cloud Foundry. They leverage the three Pivotal Spring Cloud Services: Config Server, Service Discovery, and Circuit Breaker Dashboard. Rabbit is used to propagate Config Server refresh triggers.
The source code for the two Spring Boot apps is stored on GitHub, as is the backing repo for Config Server.
Figure 14.2. Use Case - Implementation
14.4 Sample application - end state
Through this tutorial, we will be adding Concourse and JFrog Bintray to manage the application lifecycle.
We will also be refactoring the application to comply with Spring Cloud Pipelines requirements and recommendations, including adding/organizing tests and introducing database versioning using Flyway and API contracts using Spring Cloud Contract.
14.5 Tutorial - toolset
GitHub - sample app source code and config repositories, a sample stubrunner app repository, and the Spring Cloud Pipelines code base
Pivotal Web Services - public hosted Cloud Foundry offering free trial accounts and including MySQL, Rabbit, and Pivotal Spring Cloud Services in the Marketplace
Client Tools - on your local machine, you will need an IDE as well as the mvn, git, cf, and fly (Concourse) CLIs
14.6 Tutorial - overview
The migration steps are broken down into three stages:
Scaffolding
Minimal refactoring to comply with basic Spring Cloud Pipelines requirements.
At the end of this stage, each app will have a corresponding pipeline on Concourse. The pipelines will successfully build the apps, store the artifacts in Bintray, tag the GitHub repositories, and deploy the apps to Test, Stage, and Prod spaces in Cloud Foundry.
Tests
Add/organize tests to comply with Spring Cloud Pipelines recommendations. Incorporate flyway for database schema versioning and initial data loading.
At the end of this stage, the pipelines will trigger unit and integration tests during the Build stage, smoke tests in the Test environment, and end-to-end tests in the Stage environment. The pipelines will also ensure backward compatibility for the database, such that you can safely roll back the backend service app, even after the database schema has been updated.
Contracts
Incorporate Spring Cloud Contract to define the API between the UI and service apps and auto-generate tests and stubs.
At the end of this stage, the pipelines will catch breaking API changes during the Build stage and ensure backward compatibility for the API, such that you can safely roll back the backend service (producer) app, even after an API change.
14.7 Tutorial - step-by-step
14.7.1 Prep: Before you begin
If you want to simply review the migration steps explained below, you can look at the various branches in the greeting-ui and fortune-service repositories - there is a branch representing the end-state of each stage:
Figure 14.3. GitHub Branches
If you want to use this tutorial as a hands-on lab, fork each of the following repositories:
Finally, create a directory called $SCP_HOME/credentials. Leave it empty for now.
14.7.2 Stage 1: Scaffolding
In this stage, we make minimal changes to satisfy basic Spring Cloud Pipelines requirements so that the apps can run through the entire pipeline without error. We make "scaffolding" changes only - no code changes.
The steps in this stage must be completed for both greeting-ui and fortune-service.
1.1 Create GitHub branches
git branch version
+migrates a setup of applications to be compliant with Spring Cloud Pipelines.
14.2 Introduction
This tutorial covers refactoring applications to comply with, and take advantage of, Spring Cloud Pipelines.
We will use a simple 3-tier application as an example:
Figure 14.1. Use Case - Logical View
At the end of this tutorial, it will be possible to instantly create a Concourse pipeline for each app and run successfully through a full lifecycle, from source code commit to production deployment, following the lifecycle stages for testing and deployment recommended by Spring Cloud Pipelines. The app code bases will be improved with organized test coverage, a contract-based API, and a versioned database schema, enabling Spring Cloud Pipelines to carry out stubbed testing and to ensure backward compatibility for API and database schema changes.
14.3 Sample application - initial state
The sample application is implemented using Spring Boot apps for the UI and service tiers, and MySQL for the database.
The apps are built using Maven and pushed manually to Cloud Foundry. They leverage the three Pivotal Spring Cloud Services: Config Server, Service Discovery, and Circuit Breaker Dashboard. Rabbit is used to propagate Config Server refresh triggers.
The source code for the two Spring Boot apps is stored on GitHub, as is the backing repo for Config Server.
Figure 14.2. Use Case - Implementation
14.4 Sample application - end state
Through this tutorial, we will be adding Concourse and JFrog Bintray to manage the application lifecycle.
We will also be refactoring the application to comply with Spring Cloud Pipelines requirements and recommendations, including adding/organizing tests and introducing database versioning using Flyway and API contracts using Spring Cloud Contract.
14.5 Tutorial - toolset
GitHub - sample app source code and config repositories, a sample stubrunner app repository, and the Spring Cloud Pipelines code base
Pivotal Web Services - public hosted Cloud Foundry offering free trial accounts and including MySQL, Rabbit, and Pivotal Spring Cloud Services in the Marketplace
Client Tools - on your local machine, you will need an IDE as well as the mvn, git, cf, and fly (Concourse) CLIs
14.6 Tutorial - overview
The migration steps are broken down into three stages:
Scaffolding
Minimal refactoring to comply with basic Spring Cloud Pipelines requirements.
At the end of this stage, each app will have a corresponding pipeline on Concourse. The pipelines will successfully build the apps, store the artifacts in Bintray, tag the GitHub repositories, and deploy the apps to Test, Stage, and Prod spaces in Cloud Foundry.
Tests
Add/organize tests to comply with Spring Cloud Pipelines recommendations. Incorporate flyway for database schema versioning and initial data loading.
At the end of this stage, the pipelines will trigger unit and integration tests during the Build stage, smoke tests in the Test environment, and end-to-end tests in the Stage environment. The pipelines will also ensure backward compatibility for the database, such that you can safely roll back the backend service app, even after the database schema has been updated.
Contracts
Incorporate Spring Cloud Contract to define the API between the UI and service apps and auto-generate tests and stubs.
At the end of this stage, the pipelines will catch breaking API changes during the Build stage and ensure backward compatibility for the API, such that you can safely roll back the backend service (producer) app, even after an API change.
14.7 Tutorial - step-by-step
14.7.1 Prep: Before you begin
If you want to simply review the migration steps explained below, you can look at the various branches in the greeting-ui and fortune-service repositories - there is a branch representing the end-state of each stage:
Figure 14.3. GitHub Branches
If you want to use this tutorial as a hands-on lab, fork each of the following repositories:
Finally, create a directory called $SCP_HOME/credentials. Leave it empty for now.
14.7.2 Stage 1: Scaffolding
In this stage, we make minimal changes to satisfy basic Spring Cloud Pipelines requirements so that the apps can run through the entire pipeline without error. We make "scaffolding" changes only - no code changes.
The steps in this stage must be completed for both greeting-ui and fortune-service.
1.1 Create GitHub branches
git branch version
git checkout -b sc-pipelines
Branch version is required to exist, though it can be created as an empty branch. It is used by Spring Coud Pipelines to generate a version number for each new pipeline execution.
Branch sc-pipelines is optional and can be named anything you wish. The intention is for you to use it as a working branch for the changes suggested in this tutorial (hence we create it and also check it out).
1.2 Add Maven wrapper
mvn -N io.takari:maven:wrapper
This commands adds 4 files to a project:
.
├── mvnw
├── mvnw.cmd
@@ -2268,7 +2268,7 @@
BDDAssertions.then(response.getBody()).doesNotContain("This fortune is no good. Try another.");
}
-}
In this case, in contrast to the integration test we created earlier for greeting-ui, we do not include @AutoConfigureStubRunner since we are using a standalone stub runner application.
3.9 Push changes to GitHub
Push contract-based changes for greeting-ui. You should be pushing the following new or modified files:
At this point, we can run through the full pipeline for greeting-ui and leverage the contract-based stub in both the build and test environments.
Stage 3 Recap
What have we accomplished?
By implementing a contract-driven approach with auto-generation of tests and stubs, we have introduced a clean, structured, and reliable way to define, communicate, document, manage and test APIs
Inter-team communication will be simpler
Consumer and producer teams can now communicate requirements through codified contracts
The inventory of contracts serves as a record and reference for the agreed upon APIs
Developer productivity will increase
Producers can quickly and easily generate contract-based stubs
Consumers no longer have to manually stub out APIs and write tests with arbitrary hard-coded responses - instead they can use the auto-generated stubs and test for contract-based responses
Both producers and consumers can validate they are compliant with the contract
Producers can verify backward compatibility of API changes
Troubleshooting will be easier
Failure and feedback will be faster
14.8 Conclusion
This concludes the tutorial on migrating apps for Spring Cloud Pipelines for Cloud Foundry.
Moving forward, the refactoring work needed here can be incorporated into your and/or your team’s standard practices. In short:
Good:
Use maven or gradle wrappers
Include a Cloud Foundry manifest file in your app repo
Include a pipeline descriptor (sc-manifest.yml) in your app repo
Create an empty version branch in your app repo
Include artifact repository configuration in the pom.xml file
Align your Cloud Foundry spaces with Spring Cloud Pipelines model (isolated test space, shared stage and prod)
Better
Include default, apicompatibility, smoke, and e2e profiles in the pom.xml file
Organize tests accordingly in your app repo
Best
Use a database migration tool like flyway
Use contract-based API programming
Implementing all the "good" practices above already positions you to instantly create pipelines for your apps usign Spring Cloud Pipelines. This is a huge win in terms of consistency and productivity, and standardization across development teams. Of course, this is an open source project, so it can be modified to meet your needs.
Implementing the "better" practices will ensure the proper tests get run at the proper time. At that point you can add as much test coverage as you need to have high confidence in your pipelines.
Implementing the "best" practices will give you additional confidence in your pipeline and encourage better programming practices for database version and API management across development teams. It will also give you higher confidence in your pipelines and enable you to avoid the cumbersome business of rolling back a database.
In this case, in contrast to the integration test we created earlier for greeting-ui, we do not include @AutoConfigureStubRunner since we are using a standalone stub runner application.
3.9 Push changes to GitHub
Push contract-based changes for greeting-ui. You should be pushing the following new or modified files:
At this point, we can run through the full pipeline for greeting-ui and leverage the contract-based stub in both the build and test environments.
Stage 3 Recap
What have we accomplished?
By implementing a contract-driven approach with auto-generation of tests and stubs, we have introduced a clean, structured, and reliable way to define, communicate, document, manage and test APIs
Inter-team communication will be simpler
Consumer and producer teams can now communicate requirements through codified contracts
The inventory of contracts serves as a record and reference for the agreed upon APIs
Developer productivity will increase
Producers can quickly and easily generate contract-based stubs
Consumers no longer have to manually stub out APIs and write tests with arbitrary hard-coded responses - instead they can use the auto-generated stubs and test for contract-based responses
Both producers and consumers can validate they are compliant with the contract
Producers can verify backward compatibility of API changes
Troubleshooting will be easier
Failure and feedback will be faster
14.8 Conclusion
This concludes the tutorial on migrating apps for Spring Cloud Pipelines for Cloud Foundry.
Moving forward, the refactoring work needed here can be incorporated into your and/or your team’s standard practices. In short:
Good:
Use maven or gradle wrappers
Include a Cloud Foundry manifest file in your app repo
Include a pipeline descriptor (sc-manifest.yml) in your app repo
Create an empty version branch in your app repo
Include artifact repository configuration in the pom.xml file
Align your Cloud Foundry spaces with Spring Cloud Pipelines model (isolated test space, shared stage and prod)
Better
Include default, apicompatibility, smoke, and e2e profiles in the pom.xml file
Organize tests accordingly in your app repo
Best
Use a database migration tool like flyway
Use contract-based API programming
Implementing all the "good" practices above already positions you to instantly create pipelines for your apps usign Spring Cloud Pipelines. This is a huge win in terms of consistency and productivity, and standardization across development teams. Of course, this is an open source project, so it can be modified to meet your needs.
Implementing the "better" practices will ensure the proper tests get run at the proper time. At that point you can add as much test coverage as you need to have high confidence in your pipelines.
Implementing the "best" practices will give you additional confidence in your pipeline and encourage better programming practices for database version and API management across development teams. It will also give you higher confidence in your pipelines and enable you to avoid the cumbersome business of rolling back a database.
Happy coding!
15. Building the project
15.1 Prerequisites
As prerequisites you need to have shellcheck,
bats, jq
and ruby installed. If you’re on a Linux
machine then bats and shellcheck will be installed for you.
To install the required software on Linux just type the following commands
$ sudo apt-get install -y ruby jq
If you’re on a Mac then just execute these commands to install the missing software