diff --git a/cloud-developer-roadmap/Cloud Developer Roadmap.canvas b/cloud-developer-roadmap/Cloud Developer Roadmap.canvas index 11ebb94..fe515aa 100755 --- a/cloud-developer-roadmap/Cloud Developer Roadmap.canvas +++ b/cloud-developer-roadmap/Cloud Developer Roadmap.canvas @@ -1,201 +1,195 @@ { "nodes":[ - {"id":"c8844836c466ed21","type":"group","x":-2380,"y":-540,"width":740,"height":440,"label":"DevOps"}, {"id":"f8cefa0fbfa72e35","type":"group","x":-80,"y":-300,"width":290,"height":510,"label":"Introduction/Getting started"}, - {"id":"65a091cf52003d72","type":"group","x":120,"y":3840,"width":280,"height":500,"label":"SAP BTP"}, + {"id":"65a091cf52003d72","type":"group","x":95,"y":4340,"width":280,"height":500,"label":"SAP BTP"}, {"id":"e71360203ebc097c","type":"group","x":-970,"y":635,"width":300,"height":460,"label":"Domain Modelling"}, + {"id":"fc6a133275ed3351","type":"group","x":-820,"y":3420,"width":290,"height":420,"label":"CI/CD Environments"}, {"id":"aa4b458b931f6f2a","type":"group","x":-500,"y":635,"width":290,"height":402,"label":"(Shared) Domain Modelling"}, {"id":"fde703708a057065","type":"group","x":-80,"y":637,"width":290,"height":400,"label":"Service Definition"}, {"id":"4289ceb5b424e817","type":"group","x":-40,"y":2280,"width":286,"height":346,"label":"Roles & Role-Collections"}, {"id":"1cabd14b879bf8de","type":"group","x":-1120,"y":1600,"width":320,"height":262,"label":"Managed Systems"}, {"id":"7e1032d1093c443e","type":"group","x":40,"y":1600,"width":280,"height":275,"label":"NodeJS"}, - {"id":"0972fdc2a3ac2b58","type":"group","x":-2840,"y":502,"width":290,"height":265,"label":"Code Quality"}, - {"id":"b63d3c1f3aa9180b","type":"group","x":700,"y":3560,"width":290,"height":260,"label":"UX"}, - {"id":"317cbfc1a2b16327","type":"group","x":-2840,"y":142,"width":290,"height":258,"label":"CI/CD Automation"}, + {"id":"b63d3c1f3aa9180b","type":"group","x":640,"y":3980,"width":290,"height":260,"label":"UX"}, {"id":"e024cc15083aff90","type":"group","x":440,"y":1760,"width":280,"height":258,"label":"Custom implementation"}, - {"id":"1fe29f0af9523325","type":"group","x":120,"y":2940,"width":290,"height":243,"label":"Prequersities"}, + {"id":"1fe29f0af9523325","type":"group","x":103,"y":2800,"width":290,"height":243,"label":"Prequersities"}, {"id":"67b4bbcb1239d69b","type":"group","x":-580,"y":2280,"width":290,"height":191,"label":"Auth Services"}, - {"id":"d0dce8704067e7d0","type":"group","x":700,"y":3300,"width":290,"height":190,"label":"Localization"}, + {"id":"d0dce8704067e7d0","type":"group","x":640,"y":3720,"width":290,"height":190,"label":"Localization"}, {"id":"2c5e8557c06dd916","type":"group","x":660,"y":-320,"width":290,"height":177,"label":"Programming Languages"}, {"id":"86f696e60640317e","type":"group","x":620,"y":680,"width":290,"height":172,"color":"3","label":"Link to UX Roadmap??"}, - {"id":"e87d1076894dcf8a","type":"group","x":-700,"y":3740,"width":290,"height":170,"label":"Schema Evolution"}, + {"id":"e87d1076894dcf8a","type":"group","x":-725,"y":4240,"width":290,"height":170,"label":"Schema Evolution"}, {"id":"4339ad646b3221ce","type":"group","x":440,"y":1600,"width":280,"height":100,"label":"Java"}, - {"id":"f0d90a23d6658c2e","type":"text","text":"ESLint","x":-2820,"y":687,"width":250,"height":60}, - {"id":"77d558008428fb47","type":"text","text":"Prettier","x":-2820,"y":607,"width":250,"height":60}, - {"id":"1124deb431d0cfe3","type":"text","text":"Husky","x":-2820,"y":532,"width":250,"height":60}, - {"id":"f27d5d954fca5366","type":"text","text":"# CI/CD","x":-2520,"y":409,"width":250,"height":60}, - {"id":"8a7b680f60ea4cce","type":"text","text":"GitLab Workflows","x":-2820,"y":320,"width":250,"height":60}, - {"id":"81bc3315e5aae469","type":"text","text":"SAP CI/CD Service","x":-2820,"y":240,"width":250,"height":60}, - {"id":"e4dd5bd05ea2f59e","type":"text","text":"GitHub Actions","x":-2820,"y":162,"width":250,"height":60}, - {"id":"92e2d02b6901ab09","type":"text","text":"[[Monitoring]]\n- Metriken sammeln","x":-2360,"y":-400,"width":250,"height":80}, - {"id":"00e2b61d208845ef","type":"text","text":"[[Logging in CAP]]\n- cds.log -> [[winston]]","x":-2360,"y":-520,"width":250,"height":92}, - {"id":"d3968f870641cb11","type":"link","url":"https://cap.cloud.sap/docs/","x":-2980,"y":-1681,"width":1082,"height":793}, + {"id":"8160e653d594b205","type":"file","file":"SAP/Cloud Development Roadmap/Getting started.md","x":-465,"y":-1869,"width":545,"height":240,"color":"1"}, + {"id":"4dd12c60b88f8399","type":"text","text":"**Neue Themen, welche in Arbeit seind**","x":-1132,"y":-2149,"width":250,"height":60,"color":"6"}, + {"id":"416830fbf3b5219c","type":"text","text":"**Ankündigungen**","x":-1132,"y":-2309,"width":250,"height":60,"color":"1"}, + {"id":"9f98cc16375948fd","type":"text","text":"**Themen, ohne eigene Erfahrung**","x":-1132,"y":-2229,"width":250,"height":60,"color":"3"}, + {"id":"78c5d3148616b6c0","type":"text","text":"# Disclaimer\n\nDieser Obsidian Vault verwendet das Plugin [Dataview](https://blacksmithgu.github.io/obsidian-dataview/) um spezifische Queries zu bauen aussagekräftige DatDaten auszuwerten.","x":-382,"y":-2486,"width":379,"height":150,"color":"1"}, + {"id":"47ecb4ca235c0670","type":"text","text":"# Legende","x":-932,"y":-2411,"width":250,"height":60}, + {"id":"0412e59b03121e1f","type":"text","text":"[[Business Accelerator Hub]]","x":600,"y":-1536,"width":250,"height":60}, + {"id":"f053415e29e5e6dc","type":"text","text":"# Resources","x":260,"y":-1536,"width":250,"height":60}, + {"id":"9bf22e841d0ff3ef","type":"text","text":"[SAP Customer Influence for CAP](https://influence.sap.com/sap/ino/#/campaign/2280)","x":600,"y":-1456,"width":250,"height":60}, + {"id":"274242a9a978afc9","type":"text","text":"Lint-Staged?","x":-760,"y":-3108,"width":250,"height":60}, + {"id":"21e3c5fe1e9ee942","type":"text","text":"DevOps","x":-1257,"y":-2862,"width":250,"height":60}, + {"id":"f78b28fba19dd65f","type":"text","text":"Prettier/ESLint/Tests","x":-1057,"y":-3020,"width":250,"height":60}, + {"id":"6f945de3f3de49f7","type":"text","text":"Monitoring","x":-1057,"y":-2758,"width":250,"height":60}, + {"id":"153e76545881bd05","type":"text","text":"Alerting","x":-1057,"y":-2677,"width":250,"height":60}, + {"id":"05f4c818904adb66","type":"text","text":"Logging","x":-1057,"y":-2601,"width":250,"height":60}, + {"id":"ba1104d6e8a73e6f","type":"text","text":"GitHooks (Husky?)","x":-1057,"y":-3108,"width":250,"height":60}, {"id":"b6fb8d5d7d3811f1","type":"link","url":"https://tobiashofmann.github.io/sap-dev-tech-radar/","x":-3520,"y":-3020,"width":1480,"height":1000}, - {"id":"747f08ad9ce9b1bd","type":"text","text":"# [[Deployment]]","x":-266,"y":3800,"width":250,"height":60}, - {"id":"e4eb9b6009620995","type":"text","text":"[[cds-test|@cap-js/cds-test]]","x":140,"y":2960,"width":250,"height":60}, - {"id":"3960b53d7af5253c","type":"text","text":"[[Add local test data]]","x":140,"y":3034,"width":250,"height":60}, - {"id":"b000faae27296b7c","type":"text","text":"# Finalize UI","x":-286,"y":3360,"width":296,"height":60}, - {"id":"470c29b7bcd75295","type":"text","text":"# Enhance Apps","x":-314,"y":3590,"width":298,"height":60}, - {"id":"497900bb988f5781","type":"text","text":"[[Validity Periods]]","x":50,"y":3590,"width":250,"height":60}, - {"id":"aa39bb92b93c7795","type":"text","text":"[[Mock local users]]","x":140,"y":3103,"width":250,"height":60}, - {"id":"ec8b2bb338ecd5eb","type":"text","text":"# [[Testing]]","x":-314,"y":3130,"width":250,"height":60}, - {"id":"0fe9af8ac132cc10","type":"text","text":"[[Localize UI labels & texts]]","x":720,"y":3330,"width":250,"height":60}, - {"id":"5cb2c46f160d5fab","type":"text","text":" [[MTA Build for Node.js]]","x":-710,"y":2740,"width":250,"height":60}, - {"id":"a03dbd0cf66a2a0b","type":"text","text":"# Build","x":-340,"y":2760,"width":250,"height":60}, + {"id":"14e293fadbce80bf","type":"text","text":"# Todo\n```dataview \nLIST \nFROM #todo\n```","x":-483,"y":-3170,"width":421,"height":421,"color":"1"}, + {"id":"2c463d2dca40df79","type":"text","text":"# Rework\n```dataview \nLIST \nFROM #rework\n```","x":-24,"y":-3170,"width":421,"height":421,"color":"1"}, + {"id":"e758d2757e49772e","type":"text","text":"# Revisit\n```dataview \nLIST \nFROM #revisit\n```","x":427,"y":-3170,"width":421,"height":421,"color":"1"}, + {"id":"a2c470b046c60727","type":"text","text":"# Cloud Developer Roadmap\n\n---\n## Beschreibung\nBased on our new skillmatrix we want to establish a comprehensive **SAP** **Cloud Development Roadmap** to enhance the skills and expertise of SAP developers, ensuring sustained growth and capability within the team.\n\n### Scope of SAP Cloud evelopment\n> Competencies include proficiency in Cloud Application Programming and REST/OData for Back-End, Fiori Elements for Front-End, understanding database concepts, proficiency in using IDEs (such as SAP Business Application Studio) and Git for version control.\n\n### Acceptance criteria\n\n- Relevant content for SAP Cloud Development (based on high level skill matrix) is identified\n- The SAP Cloud Development Roadmap is documented in [roadmap.sh](https://roadmap.sh/ \"Verknüpfung folgen\") and accessible to all team members\n- Training and tutorial content (both from SAP and Tchibo) is included and feedback from team members is collected\n- Knowledge sharing sessions are scheduled for continuous improvement\n- An assessment is completed, and the results are used to adjust training content and focus.","x":187,"y":-2529,"width":960,"height":598}, + {"id":"ec0d2bad13436c1d","type":"text","text":"Code Quality","x":-1257,"y":-3206,"width":250,"height":60}, + {"id":"55e57af6e653f6fb","type":"text","text":"(Automated) Deployment","x":-1057,"y":-3293,"width":250,"height":60}, + {"id":"dc3d4c91382605bc","type":"text","text":"[SAP Discovery Center - Develop a Full-Stack CAP Application Following the SAP BTP Developer's Guide](https://discovery-center.cloud.sap/missiondetail/4327/4608/?tab=projectboard)","x":-668,"y":-3666,"width":250,"height":149}, + {"id":"a2b647552d2687db","type":"text","text":"# Neue Themen","x":-1452,"y":-3483,"width":250,"height":60}, + {"id":"51164e4d700e239a","type":"text","text":"CI/CD","x":-1257,"y":-3393,"width":250,"height":60}, + {"id":"9b840d71791330f0","type":"text","text":"# Guides","x":-853,"y":-3749,"width":250,"height":60}, + {"id":"622f562db762a251","type":"text","text":"Building","x":-1635,"y":-3393,"width":250,"height":60}, + {"id":"5abb9f37332bad94","type":"text","text":"Customize Build-Script","x":-1835,"y":-3293,"width":250,"height":60}, + {"id":"1d6a910b01904b61","type":"text","text":"Customize `cds deploy`\n(schema migration)","x":-1835,"y":-3213,"width":250,"height":60}, + {"id":"b000faae27296b7c","type":"text","text":"# Finalize UI","x":-346,"y":3780,"width":296,"height":60}, + {"id":"f70986ee4ebdb8b1","type":"text","text":"# [[CICD]]","x":-339,"y":3440,"width":250,"height":60}, + {"id":"ae5ac5c5c87f2db5","type":"text","text":"[[SAP Continuous Integration and Delivery]]","x":-800,"y":3440,"width":250,"height":60}, + {"id":"ebea474501dec908","type":"text","text":"[[GitLab Workflows]]","x":-800,"y":3520,"width":250,"height":60}, + {"id":"40af13dd961764a8","type":"text","text":"[[GitHub Actions]]","x":-800,"y":3600,"width":250,"height":60}, + {"id":"6091f0fff70ff422","type":"text","text":"[[Concourse]]","x":-800,"y":3680,"width":250,"height":60}, + {"id":"f8c1d5ff5e048bc5","type":"text","text":"[[Jenkins]]","x":-800,"y":3760,"width":250,"height":60,"color":"3"}, + {"id":"470c29b7bcd75295","type":"text","text":"# Enhance Apps","x":-339,"y":4090,"width":298,"height":60}, + {"id":"40842d2cc9d80a47","type":"text","text":"[[SAP Piper]]","x":-800,"y":3860,"width":250,"height":60,"color":"3"}, + {"id":"98a210227bff1484","type":"text","text":"[[E2E Tests]]","x":-727,"y":3120,"width":250,"height":60,"color":"3"}, + {"id":"b5c163f662414e2a","type":"text","text":"[@cap-js-community/cds-cucumber](https://github.com/cap-js-community/cds-cucumber)","x":-727,"y":3220,"width":250,"height":60,"color":"3"}, + {"id":"dcafab72bf66f2b0","type":"text","text":"[[Hybrid Testing]]","x":-977,"y":3034,"width":250,"height":60}, + {"id":"3b4ee394dcd71518","type":"text","text":"- [[Add external services]]\n- [[SAP XSUAA]]\n- [[Service Bindings]]\n- [[AppRouter]]","x":-1207,"y":3107,"width":250,"height":133}, + {"id":"2bfe42407f97cb4c","type":"text","text":"[[fly CLI]]","x":-1102,"y":3680,"width":250,"height":60}, + {"id":"98c681ff72b3b6ed","type":"text","text":"[[Automatic Schema Evolution]]","x":-705,"y":4260,"width":250,"height":60}, + {"id":"747f08ad9ce9b1bd","type":"text","text":"# [[Deployment]]","x":-291,"y":4300,"width":250,"height":60}, + {"id":"6f5d96bf7811b647","type":"text","text":"[[Deploy local data]]","x":-705,"y":4330,"width":250,"height":60}, + {"id":"ec8b2bb338ecd5eb","type":"text","text":"# [[Testing]]","x":-331,"y":2990,"width":250,"height":60}, + {"id":"26710b1bec715c7a","type":"text","text":"> [!important]\n> Wird nichts mehr zu geschrieben da dieser Service nicht mehr zur Verfügung steht.","x":-1345,"y":4423,"width":410,"height":154,"color":"1"}, + {"id":"b679d92ef1306d5f","type":"file","file":"cloud-developer-roadmap/SAP Capire/Serving UIs/fiori-elements-feature-showcase.md","subpath":"#^b6e0ad","x":-9,"y":3660,"width":400,"height":229,"color":"1"}, + {"id":"2c35f3228f046c4a","type":"text","text":"[[Unit Tests]]","x":-727,"y":2960,"width":250,"height":60}, + {"id":"02a5a78595ff78ad","type":"text","text":"[[cds-test|@cap-js/cds-test]]","x":-1082,"y":2960,"width":250,"height":60}, + {"id":"34efc997d436c41b","type":"text","text":"Automated deployments using the [[SAP Continuous Integration and Delivery]]","x":-705,"y":4432,"width":250,"height":88,"color":"6"}, + {"id":"497900bb988f5781","type":"text","text":"[[Validity Periods]]","x":25,"y":4090,"width":250,"height":60}, + {"id":"5b5188c8b3ac72e2","type":"text","text":"==[[Custom Fragments]]==","x":26,"y":4180,"width":250,"height":60}, + {"id":"9f670eff583e0cac","type":"text","text":"[[Jest]]","x":-1082,"y":2886,"width":250,"height":60}, {"id":"928c85d4eb50df8f","type":"text","text":"[[mbt CLI]]","x":-710,"y":2840,"width":250,"height":60}, + {"id":"021b1db1dae757ce","type":"text","text":"*deprecated* [[SAP Application Logging Service]]","x":-985,"y":4592,"width":250,"height":85}, + {"id":"b726f979dd976f50","type":"text","text":"[[SAP Cloud Portal]]","x":115,"y":4360,"width":250,"height":60}, + {"id":"bce03ca6742c1ebb","type":"text","text":"[[SAP Build Work Zone]]","x":115,"y":4440,"width":250,"height":60,"color":"3"}, + {"id":"43a95f8688935b2c","type":"text","text":"[[Roles]]","x":115,"y":4520,"width":250,"height":60}, + {"id":"efefc148df9753ce","type":"text","text":"[[Role-Collections]]","x":115,"y":4600,"width":250,"height":60}, + {"id":"fb183b6431aa46a1","type":"text","text":"[[Mocha]]","x":-1082,"y":2806,"width":250,"height":60,"color":"3"}, + {"id":"d4c3c868ee0163e8","type":"text","text":"[[Chai]]","x":-1412,"y":2806,"width":250,"height":60,"color":"3"}, + {"id":"3960b53d7af5253c","type":"text","text":"[[Add local test data]]","x":123,"y":2894,"width":250,"height":60}, + {"id":"aa39bb92b93c7795","type":"text","text":"[[Mock local users]]","x":123,"y":2963,"width":250,"height":60}, + {"id":"e4eb9b6009620995","type":"text","text":"[[cds-test|@cap-js/cds-test]]","x":123,"y":2820,"width":250,"height":60}, + {"id":"a03dbd0cf66a2a0b","type":"text","text":"# Build","x":-340,"y":2760,"width":250,"height":60}, + {"id":"5cb2c46f160d5fab","type":"text","text":" [[MTA Build for Node.js]]","x":-710,"y":2740,"width":250,"height":60}, + {"id":"fd75b06edf97a836","type":"text","text":"[[Service Bindings]]","x":115,"y":4679,"width":250,"height":60}, + {"id":"c86a56857562d86f","type":"text","text":"[[Custom Logger]]","x":-985,"y":4700,"width":250,"height":60}, + {"id":"af15564d5f78693a","type":"text","text":"[[Logging in CAP]]","x":-625,"y":4700,"width":250,"height":60}, + {"id":"8a1c1c21302c1741","type":"text","text":"# Logging & Monitoring","x":-311,"y":4700,"width":301,"height":60}, + {"id":"c6ae0b897828c928","type":"text","text":"[[Kyma]] Runtime","x":115,"y":4760,"width":250,"height":60,"color":"3"}, + {"id":"eaf61b814e2d805d","type":"text","text":"[[gRPC]]","x":-1665,"y":4790,"width":250,"height":60,"color":"6"}, + {"id":"e9d709974af451c2","type":"text","text":"[[OpenTelemetry]]","x":-1345,"y":4790,"width":250,"height":60,"color":"6"}, + {"id":"e0393350af8da97b","type":"text","text":"[[SAP Cloud Logging]]","x":-985,"y":4790,"width":250,"height":60}, {"id":"d78502a378a4d41a","type":"text","text":"[[Mock local users]]","x":-20,"y":2546,"width":250,"height":60}, - {"id":"fb183b6431aa46a1","type":"text","text":"[[Mocha]]","x":-1065,"y":2946,"width":250,"height":60,"color":"3"}, - {"id":"9f670eff583e0cac","type":"text","text":"[[Jest]]","x":-1065,"y":3026,"width":250,"height":60}, - {"id":"3b4ee394dcd71518","type":"text","text":"- [[Add external services]]\n- [[SAP XSUAA]]\n- [[Service Bindings]]\n- [[AppRouter]]","x":-1190,"y":3247,"width":250,"height":133}, - {"id":"20c23395922cf62d","type":"text","text":"[[Replace standard UI texts]]","x":720,"y":3409,"width":250,"height":60,"color":"3"}, - {"id":"3ec013ef3896e428","type":"text","text":"[[Value-Helps]]","x":720,"y":3580,"width":250,"height":60}, - {"id":"21276c66023074d9","type":"text","text":"[[Side-Effects]]","x":720,"y":3660,"width":250,"height":60}, - {"id":"297e15b665be9b5e","type":"text","text":"[[Currencies & Units]]","x":720,"y":3740,"width":250,"height":60}, - {"id":"98a210227bff1484","type":"text","text":"[[E2E Tests]]","x":-710,"y":3260,"width":250,"height":60,"color":"3"}, - {"id":"b5c163f662414e2a","type":"text","text":"[@cap-js-community/cds-cucumber](https://github.com/cap-js-community/cds-cucumber)","x":-710,"y":3360,"width":250,"height":60,"color":"3"}, - {"id":"2c35f3228f046c4a","type":"text","text":"[[Unit Tests]]","x":-710,"y":3100,"width":250,"height":60}, - {"id":"dcafab72bf66f2b0","type":"text","text":"[[Hybrid Testing]]","x":-960,"y":3174,"width":250,"height":60}, - {"id":"02a5a78595ff78ad","type":"text","text":"[[cds-test|@cap-js/cds-test]]","x":-1065,"y":3100,"width":250,"height":60}, - {"id":"d4c3c868ee0163e8","type":"text","text":"[[Chai]]","x":-1395,"y":2946,"width":250,"height":60,"color":"3"}, - {"id":"98c681ff72b3b6ed","type":"text","text":"[[Automatic Schema Evolution]]","x":-680,"y":3760,"width":250,"height":60}, - {"id":"6f5d96bf7811b647","type":"text","text":"[[Deploy local data]]","x":-680,"y":3830,"width":250,"height":60}, - {"id":"34efc997d436c41b","type":"text","text":"Automated deployments using the [[SAP Continuous Integration and Delivery]]","x":-680,"y":3932,"width":250,"height":88,"color":"6"}, - {"id":"efefc148df9753ce","type":"text","text":"[[Role-Collections]]","x":140,"y":4100,"width":250,"height":60}, - {"id":"fd75b06edf97a836","type":"text","text":"[[Service Bindings]]","x":140,"y":4179,"width":250,"height":60}, - {"id":"3f7b030a638d8c67","type":"text","text":"[[Access Tokens]]","x":440,"y":4179,"width":250,"height":60}, - {"id":"8a1c1c21302c1741","type":"text","text":"# DevOps","x":-289,"y":4200,"width":250,"height":60}, - {"id":"af15564d5f78693a","type":"text","text":"[[Logging in CAP]]","x":-600,"y":4200,"width":250,"height":60}, - {"id":"c6ae0b897828c928","type":"text","text":"[[Kyma]] Runtime","x":140,"y":4260,"width":250,"height":60,"color":"3"}, - {"id":"b726f979dd976f50","type":"text","text":"[[SAP Cloud Portal]]","x":140,"y":3860,"width":250,"height":60}, - {"id":"bce03ca6742c1ebb","type":"text","text":"[[SAP Build Work Zone]]","x":140,"y":3940,"width":250,"height":60,"color":"3"}, - {"id":"26710b1bec715c7a","type":"text","text":"> [!important]\n> Wird nichts mehr zu geschrieben da dieser Service nicht mehr zur Verfügung steht.","x":-1320,"y":3976,"width":410,"height":154,"color":"1"}, - {"id":"43a95f8688935b2c","type":"text","text":"[[Roles]]","x":140,"y":4020,"width":250,"height":60}, - {"id":"021b1db1dae757ce","type":"text","text":"*deprecated* [[SAP Application Logging Service]]","x":-960,"y":4170,"width":250,"height":60}, - {"id":"e0393350af8da97b","type":"text","text":"[[SAP Cloud Logging]]","x":-960,"y":4253,"width":250,"height":60,"color":"3"}, - {"id":"e9d709974af451c2","type":"text","text":"[[OpenTelemetry]]","x":-1320,"y":4290,"width":250,"height":60,"color":"6"}, - {"id":"eaf61b814e2d805d","type":"text","text":"[[gRPC]]","x":-1640,"y":4290,"width":250,"height":60,"color":"6"}, - {"id":"c86a56857562d86f","type":"text","text":"[[Custom Logger]]","x":-960,"y":4340,"width":250,"height":60}, + {"id":"b67cc1de2b29fae3","type":"text","text":"[[Condition & value-based restrictions]]","x":-20,"y":2464,"width":250,"height":60}, + {"id":"f1b74f33f2522314","type":"text","text":"[[Telemetry]]","x":-625,"y":4920,"width":250,"height":60,"color":"6"}, + {"id":"3f7b030a638d8c67","type":"text","text":"[[Access Tokens]]","x":415,"y":4679,"width":250,"height":60}, {"id":"9d23d89282978dde","type":"text","text":"[[Custom auth handler]]","x":-560,"y":2391,"width":250,"height":60}, {"id":"aa0933b059802302","type":"text","text":"[[Role-Collections]]","x":-20,"y":2382,"width":250,"height":60}, - {"id":"b67cc1de2b29fae3","type":"text","text":"[[Condition & value-based restrictions]]","x":-20,"y":2464,"width":250,"height":60}, + {"id":"c4be3eaa00a14a6c","type":"text","text":"[[CDS Plugins]]","x":-675,"y":5080,"width":250,"height":60}, + {"id":"4ce519a6f5731bbf","type":"text","text":"# Advanced Topics","x":-314,"y":5080,"width":296,"height":60}, + {"id":"27ee0ff27573c3df","type":"text","text":"[[server.js]] \nor [[Custom server.js]]","x":65,"y":5080,"width":250,"height":60}, {"id":"2aa6cca9aef68803","type":"text","text":"[[SAP XSUAA]]","x":-560,"y":2300,"width":250,"height":60}, {"id":"23bbf088753200c2","type":"text","text":"[[Roles]]","x":-20,"y":2300,"width":250,"height":60}, + {"id":"20c23395922cf62d","type":"text","text":"[[Replace standard UI texts]]","x":660,"y":3829,"width":250,"height":60,"color":"3"}, + {"id":"3ec013ef3896e428","type":"text","text":"[[Value-Helps]]","x":660,"y":4000,"width":250,"height":60}, + {"id":"21276c66023074d9","type":"text","text":"[[Side-Effects]]","x":660,"y":4080,"width":250,"height":60}, + {"id":"297e15b665be9b5e","type":"text","text":"[[Currencies & Units]]","x":660,"y":4160,"width":250,"height":60}, + {"id":"0fe9af8ac132cc10","type":"text","text":"[[Localize UI labels & texts]]","x":660,"y":3750,"width":250,"height":60}, {"id":"0bafb282617fe68c","type":"text","text":"# [Security](https://cap.cloud.sap/docs/guides/security/)","x":-270,"y":2060,"width":250,"height":60}, {"id":"b2873924e8fdd337","type":"text","text":"[[external-service-mashup|@sap/external-service-mashup]]","x":-1280,"y":1974,"width":250,"height":60}, - {"id":"f174ff30701e8d9a","type":"text","text":"[[Custom Logger]]","x":460,"y":1938,"width":250,"height":65}, {"id":"8ffda7c563871b98","type":"text","text":"[[Mock external data]]","x":-1280,"y":1892,"width":250,"height":60}, + {"id":"f174ff30701e8d9a","type":"text","text":"[[Custom Logger]]","x":460,"y":1938,"width":250,"height":65}, {"id":"32165bf0e6846d05","type":"text","text":"[[Custom auth handler]]","x":460,"y":1858,"width":250,"height":65}, - {"id":"59c9791e357ee7c8","type":"text","text":"[[TypeScript]]","x":-280,"y":1786,"width":250,"height":60}, {"id":"8f06ae71d50cad1f","type":"text","text":"[[Setup TypeScript for CAP]]","x":57,"y":1800,"width":250,"height":59}, {"id":"7c7b8a28978dc697","type":"text","text":"[[Custom server.js]]","x":460,"y":1778,"width":250,"height":65}, + {"id":"59c9791e357ee7c8","type":"text","text":"[[TypeScript]]","x":-280,"y":1786,"width":250,"height":60}, {"id":"29b88011389d76a6","type":"text","text":"[[Business Accelerator Hub|SAP Business Accelerator Hub]]","x":-1100,"y":1783,"width":280,"height":60}, - {"id":"622dd145c3c3040a","type":"text","text":"[[JavaScript]]","x":-280,"y":1711,"width":250,"height":60}, - {"id":"797f3ceb2f8e4abc","type":"text","text":"[[CDS Models|#cds-models]]","x":57,"y":1711,"width":250,"height":60}, {"id":"00a089bc49862ef5","type":"text","text":"## [[Add external services]]","x":-580,"y":1678,"width":251,"height":85}, + {"id":"622dd145c3c3040a","type":"text","text":"[[JavaScript]]","x":-280,"y":1711,"width":250,"height":60}, {"id":"d49b42e53ef056f9","type":"text","text":"[[Events]]","x":-1100,"y":1700,"width":280,"height":60,"color":"3"}, - {"id":"1e3f1ce563e9976d","type":"text","text":"[[Java Custom Handler]]","x":460,"y":1620,"width":250,"height":60}, + {"id":"797f3ceb2f8e4abc","type":"text","text":"[[CDS Models|#cds-models]]","x":57,"y":1711,"width":250,"height":60}, {"id":"4a72ba7fee00da45","type":"text","text":"[[Add external services]]","x":-1100,"y":1620,"width":280,"height":60}, + {"id":"1e3f1ce563e9976d","type":"text","text":"[[Java Custom Handler]]","x":460,"y":1620,"width":250,"height":60}, {"id":"e12e9c6d10b1fab6","type":"text","text":"[[Node.js Custom Handler]]","x":57,"y":1620,"width":250,"height":60}, {"id":"97f5b7c77daab468","type":"text","text":"## [[Custom Handler]]","x":220,"y":1440,"width":250,"height":60}, {"id":"a53fa8cbbe9376ad","type":"text","text":"# [[Add Business Logic]]","x":-104,"y":1275,"width":339,"height":60}, {"id":"7eefaa9db1734008","type":"text","text":"[[cds CLI|cli]] deploy","x":-1150,"y":1215,"width":250,"height":60}, {"id":"ad6e428da882d2b2","type":"text","text":"[[Add local data]]","x":-1150,"y":1135,"width":250,"height":60}, + {"id":"eaf6a048a7795b01","type":"text","text":"[[Condition & value-based restrictions]]","x":-60,"y":957,"width":250,"height":60}, {"id":"09ac3e28b393d831","type":"text","text":"[[Views & Projections]]","x":-950,"y":1019,"width":260,"height":60}, {"id":"0c06654f55cf20b9","type":"text","text":"[[Calculated Elements]]","x":-480,"y":959,"width":250,"height":60}, - {"id":"eaf6a048a7795b01","type":"text","text":"[[Condition & value-based restrictions]]","x":-60,"y":957,"width":250,"height":60}, {"id":"9e05d2fec040ff22","type":"text","text":"**Relations**\n- [[Association]]\n- [[Composition]]\n","x":-950,"y":875,"width":260,"height":124}, - {"id":"5942ab8c8541f52f","type":"text","text":"[[Virtual Elements]]","x":-480,"y":882,"width":250,"height":60}, {"id":"ba59d8aa368456f3","type":"text","text":"[[Drafts]]","x":-60,"y":882,"width":250,"height":60}, - {"id":"bfd9a3cffdaf83e8","type":"text","text":"[[CDS Namespaces]]","x":-480,"y":804,"width":250,"height":60}, + {"id":"5942ab8c8541f52f","type":"text","text":"[[Virtual Elements]]","x":-480,"y":882,"width":250,"height":60}, {"id":"646a011d33345037","type":"text","text":"[[Expose Entities]]","x":-60,"y":807,"width":250,"height":60}, + {"id":"bfd9a3cffdaf83e8","type":"text","text":"[[CDS Namespaces]]","x":-480,"y":804,"width":250,"height":60}, {"id":"531b699082a6de94","type":"text","text":"**Re-usable types**\n- [[Aspect]]\n- [[Type]]","x":-950,"y":736,"width":260,"height":120}, - {"id":"798187adca8ebaf0","type":"text","text":"SAP has published [a guide](https://cap.cloud.sap/docs/advanced/performance-modeling) to achieve improved performance in data modeling.","x":-480,"y":657,"width":250,"height":129,"color":"1"}, + {"id":"26db9b9d97d93620","type":"text","text":"[[freestyle UI5]]","x":640,"y":772,"width":250,"height":60}, {"id":"f21b93f86c83ee42","type":"text","text":"[[Protocols & APIs]]","x":-60,"y":732,"width":250,"height":60}, + {"id":"798187adca8ebaf0","type":"text","text":"SAP has published [a guide](https://cap.cloud.sap/docs/advanced/performance-modeling) to achieve improved performance in data modeling.","x":-480,"y":657,"width":250,"height":129,"color":"1"}, {"id":"fce270617f7c8edb","type":"text","text":"[[Flexible Programming Model]]","x":640,"y":697,"width":250,"height":60,"color":"6"}, - {"id":"26db9b9d97d93620","type":"text","text":"[[freestyle UI5]]","x":640,"y":772,"width":250,"height":60}, {"id":"87af5929d87bebd5","type":"text","text":"[[cds-typer|@cap-js/cds-typer]]","x":260,"y":657,"width":250,"height":60}, {"id":"ac929a691158c5e9","type":"text","text":"[[CDS Models|#cds-models]]","x":-60,"y":657,"width":250,"height":60}, {"id":"3980d83594c5e1ea","type":"text","text":"[[Domain Entites]]","x":-950,"y":657,"width":256,"height":60}, {"id":"ccce3cd0ed7f5655","type":"text","text":"[[Vue.js UI]]","x":628,"y":565,"width":250,"height":60,"color":"3"}, + {"id":"3cf839078bf14d81","type":"file","file":"cloud-developer-roadmap/SAP Capire/Serving UIs/fiori-elements-feature-showcase.md","subpath":"#^b6e0ad","x":1020,"y":385,"width":400,"height":235,"color":"1"}, {"id":"e8818346e7d06ec7","type":"text","text":"# [[Serving UIs]]\n","x":308,"y":475,"width":250,"height":60}, {"id":"3d5dc3bfd87be0de","type":"text","text":"[[Fiori Elements]]","x":628,"y":475,"width":250,"height":60}, + {"id":"a046f36c147b8fae","type":"text","text":"## [[Service Definition]]\n","x":-77,"y":415,"width":267,"height":60}, + {"id":"2020250647033ded","type":"text","text":"## [[Domain Modelling]]","x":-652,"y":415,"width":345,"height":60}, {"id":"580044ba4e2ea45b","type":"text","text":"[[SAP HANA Native]] ==(external service)==","x":308,"y":170,"width":250,"height":58,"color":"3"}, {"id":"999abead2c978660","type":"text","text":"[[Initialize CAP project]]","x":-60,"y":130,"width":250,"height":60}, {"id":"ac66d4cdac7dc77e","type":"text","text":"[[PostgreSQL on SAP BTP]]","x":308,"y":80,"width":250,"height":60}, - {"id":"51acba24581f2000","type":"text","text":"[[CDS Profiles]]","x":-60,"y":40,"width":250,"height":60}, {"id":"6f54791a79fc3e2f","type":"text","text":"[[SAP HANA Cloud]]","x":308,"y":0,"width":250,"height":58}, + {"id":"51acba24581f2000","type":"text","text":"[[CDS Profiles]]","x":-60,"y":40,"width":250,"height":60}, {"id":"5fce9fea206ab4ff","type":"text","text":"[[Databases]]\n[DB - Decision TCH](https://wiki.tchibo-intranet.de/x/VoJtNw)","x":-60,"y":-80,"width":250,"height":80}, {"id":"5e8b79b061a6b191","type":"text","text":"[[SQLite]]","x":308,"y":-80,"width":250,"height":60}, {"id":"619645acbaa6a2c1","type":"text","text":"[[Multi Tenancy]]","x":-60,"y":-170,"width":250,"height":60}, {"id":"dc7496c30585de3c","type":"text","text":"[[CAP Java Backend]]\n[[Spring Boot]]","x":308,"y":-200,"width":250,"height":58}, - {"id":"4d2b55f62029cf00","type":"text","text":"[[Choose a backend]]","x":-60,"y":-280,"width":250,"height":60}, + {"id":"a92f59fa2488c0e7","type":"text","text":"[[TypeScript]]","x":680,"y":-223,"width":250,"height":60}, {"id":"14a98fd4b88223ed","type":"text","text":"[[CAP NodeJS Backend]]\n[[Express.js]]","x":308,"y":-280,"width":250,"height":60}, - {"id":"f1b74f33f2522314","type":"text","text":"[[Telemetry]]","x":-600,"y":4420,"width":250,"height":60,"color":"6"}, - {"id":"27ee0ff27573c3df","type":"text","text":"[[server.js]] \nor [[Custom server.js]]","x":90,"y":4580,"width":250,"height":60}, - {"id":"4ce519a6f5731bbf","type":"text","text":"# Advanced Topics","x":-289,"y":4580,"width":296,"height":60}, - {"id":"c4be3eaa00a14a6c","type":"text","text":"[[CDS Plugins]]","x":-650,"y":4580,"width":250,"height":60}, - {"id":"5b5188c8b3ac72e2","type":"text","text":"==[[Custom Fragments]]==","x":51,"y":3680,"width":250,"height":60}, - {"id":"7ab3c9f0ab7f9e3c","type":"text","text":"Aggregation von Logs & Metriken","x":-2016,"y":-503,"width":250,"height":60}, - {"id":"d6be0184cec9949d","type":"text","text":"[[SAP Application Logging Service]]\n> Deprecated","x":-2016,"y":-400,"width":306,"height":105}, - {"id":"6bd1dfb55dfe7633","type":"text","text":"[[Grafana]]","x":-2016,"y":-268,"width":250,"height":60}, - {"id":"5659424305ba7c69","type":"text","text":"[[SAP CALM]]","x":-2016,"y":-180,"width":250,"height":60}, - {"id":"622ef5f744dc8de4","type":"text","text":"Folgende Aufgaben können durch einen CI/CD Workflow automatisiert werden z.B.:\n- Ausführen der Tests\n- dsada","x":-2160,"y":409,"width":471,"height":143}, - {"id":"b679d92ef1306d5f","type":"file","file":"SAP/Cloud Development Roadmap/SAP Capire/Serving UIs/fiori-elements-feature-showcase.md","subpath":"#^b6e0ad","x":51,"y":3240,"width":400,"height":240,"color":"1"}, - {"id":"3cf839078bf14d81","type":"file","file":"SAP/Cloud Development Roadmap/SAP Capire/Serving UIs/fiori-elements-feature-showcase.md","subpath":"#^b6e0ad","x":1020,"y":385,"width":400,"height":240,"color":"1"}, + {"id":"4d2b55f62029cf00","type":"text","text":"[[Choose a backend]]","x":-60,"y":-280,"width":250,"height":60}, {"id":"fffe9bc5c8a12c71","type":"text","text":"[[JavaScript]]","x":680,"y":-300,"width":250,"height":60}, - {"id":"a92f59fa2488c0e7","type":"text","text":"[[TypeScript]]","x":680,"y":-223,"width":250,"height":60}, - {"id":"8160e653d594b205","type":"file","file":"SAP/Cloud Development Roadmap/Getting started.md","x":-465,"y":-1869,"width":545,"height":240,"color":"1"}, - {"id":"2503cbb8f66e0ab3","type":"text","text":"[[Access Tokens]]","x":-996,"y":-1171,"width":250,"height":60}, - {"id":"7c4e9505a7eb5ae7","type":"text","text":"==[[JWT]]==","x":-996,"y":-1089,"width":250,"height":60,"color":"6"}, - {"id":"f13b6bb54b3063fa","type":"text","text":"[[Microservice Architecture]]","x":-996,"y":-1009,"width":250,"height":60}, + {"id":"278fcbfb99425a7e","type":"file","file":"SAP/Cloud Development Roadmap/SAP Capire/Introduction 2 CAP.md","x":-871,"y":-643,"width":542,"height":480}, + {"id":"a4577198eef80ce2","type":"text","text":"[[btp CLI]]","x":600,"y":-806,"width":250,"height":60}, {"id":"03c2299e70b56425","type":"text","text":"[[Event Driven Architecture]]","x":-996,"y":-932,"width":250,"height":60}, - {"id":"db0324c5d1a9f13c","type":"text","text":"[[SAP BTP]]","x":-996,"y":-1259,"width":250,"height":60}, - {"id":"5292964a9fb0629c","type":"text","text":"# Prior knowledge","x":-217,"y":-1259,"width":293,"height":60}, - {"id":"d3775949396b384b","type":"text","text":"[[Git]]","x":-996,"y":-1369,"width":250,"height":60}, - {"id":"4dd12c60b88f8399","type":"text","text":"**Neue Themen, welche in Arbeit seind**","x":-1132,"y":-2149,"width":250,"height":60,"color":"6"}, - {"id":"06eee7827124e673","type":"text","text":"## [[Version Control Systems]]","x":-713,"y":-1369,"width":337,"height":60}, - {"id":"0f697c5c77467fc8","type":"text","text":"# Security","x":-626,"y":-1259,"width":250,"height":60}, + {"id":"f998c889620cef6b","type":"text","text":"[[cf CLI]]","x":600,"y":-892,"width":250,"height":60}, + {"id":"41dbf6f61fabe1b3","type":"text","text":"[[mbt CLI]]","x":600,"y":-972,"width":250,"height":60}, + {"id":"d3968f870641cb11","type":"link","url":"https://cap.cloud.sap/docs/","x":-2980,"y":-1681,"width":1082,"height":793}, + {"id":"f13b6bb54b3063fa","type":"text","text":"[[Microservice Architecture]]","x":-996,"y":-1009,"width":250,"height":60}, {"id":"69694271acd3d7c1","type":"text","text":"# Architecture","x":-626,"y":-1009,"width":250,"height":60}, - {"id":"db0998937f174757","type":"text","text":"## Tools","x":260,"y":-1136,"width":250,"height":60}, - {"id":"70b85dffec311eee","type":"text","text":"==[[NPM]]==","x":600,"y":-1136,"width":250,"height":60,"color":"6"}, {"id":"0027866029d80945","type":"text","text":"[[cds CLI]]","x":600,"y":-1059,"width":250,"height":60}, - {"id":"41dbf6f61fabe1b3","type":"text","text":"[[mbt CLI]]","x":600,"y":-972,"width":250,"height":60}, - {"id":"f998c889620cef6b","type":"text","text":"[[cf CLI]]","x":600,"y":-892,"width":250,"height":60}, + {"id":"7c4e9505a7eb5ae7","type":"text","text":"==[[JWT]]==","x":-996,"y":-1089,"width":250,"height":60,"color":"6"}, + {"id":"70b85dffec311eee","type":"text","text":"==[[NPM]]==","x":600,"y":-1136,"width":250,"height":60,"color":"6"}, + {"id":"db0998937f174757","type":"text","text":"## Tools","x":260,"y":-1136,"width":250,"height":60}, + {"id":"2503cbb8f66e0ab3","type":"text","text":"[[Access Tokens]]","x":-996,"y":-1171,"width":250,"height":60}, + {"id":"81d8e1385a44e5b4","type":"text","text":"[[Destination]]","x":-1440,"y":-1171,"width":250,"height":60}, + {"id":"db0324c5d1a9f13c","type":"text","text":"[[SAP BTP]]","x":-996,"y":-1259,"width":250,"height":60}, + {"id":"63840550bd566457","type":"text","text":"[[Service Bindings]]","x":-1440,"y":-1259,"width":250,"height":60}, + {"id":"0f697c5c77467fc8","type":"text","text":"# Security","x":-626,"y":-1259,"width":250,"height":60}, + {"id":"5292964a9fb0629c","type":"text","text":"# Prior knowledge","x":-217,"y":-1259,"width":293,"height":60}, {"id":"02260babd1bca597","type":"text","text":"[[SAP Build Code]]","x":600,"y":-1266,"width":250,"height":60}, - {"id":"a4577198eef80ce2","type":"text","text":"[[btp CLI]]","x":600,"y":-806,"width":250,"height":60}, - {"id":"f053415e29e5e6dc","type":"text","text":"# Resources","x":260,"y":-1536,"width":250,"height":60}, - {"id":"0412e59b03121e1f","type":"text","text":"[[Business Accelerator Hub]]","x":600,"y":-1536,"width":250,"height":60}, - {"id":"9bf22e841d0ff3ef","type":"text","text":"[SAP Customer Influence for CAP](https://influence.sap.com/sap/ino/#/campaign/2280)","x":600,"y":-1456,"width":250,"height":60}, {"id":"924f43dc87ea6eca","type":"text","text":"## [[IDE]]s","x":260,"y":-1356,"width":250,"height":60}, {"id":"aa78e06f5d1fdb0c","type":"text","text":"[[Visual Studio Code]]","x":600,"y":-1356,"width":250,"height":60}, - {"id":"278fcbfb99425a7e","type":"file","file":"SAP/Cloud Development Roadmap/SAP Capire/Introduction 2 CAP.md","x":-918,"y":-643,"width":542,"height":480}, - {"id":"a046f36c147b8fae","type":"text","text":"## [[Service Definition]]\n","x":-77,"y":415,"width":267,"height":60}, - {"id":"2020250647033ded","type":"text","text":"## [[Domain Modelling]]","x":-652,"y":415,"width":345,"height":60}, - {"id":"81d8e1385a44e5b4","type":"text","text":"[[Destination]]","x":-1440,"y":-1171,"width":250,"height":60}, - {"id":"63840550bd566457","type":"text","text":"[[Service Bindings]]","x":-1440,"y":-1259,"width":250,"height":60}, - {"id":"e758d2757e49772e","type":"text","text":"# Revisit\n```dataview \nLIST \nFROM #revisit\n```","x":187,"y":-3149,"width":421,"height":421,"color":"1"}, - {"id":"a2c470b046c60727","type":"text","text":"# Cloud Developer Roadmap\n\n---\n## Beschreibung\nBased on our new skillmatrix we want to establish a comprehensive **SAP** **Cloud Development Roadmap** to enhance the skills and expertise of SAP developers, ensuring sustained growth and capability within the team.\n\n### Scope of SAP Cloud evelopment\n> Competencies include proficiency in Cloud Application Programming and REST/OData for Back-End, Fiori Elements for Front-End, understanding database concepts, proficiency in using IDEs (such as SAP Business Application Studio) and Git for version control.\n\n### Acceptance criteria\n\n- Relevant content for SAP Cloud Development (based on high level skill matrix) is identified\n- The SAP Cloud Development Roadmap is documented in [roadmap.sh](https://roadmap.sh/ \"Verknüpfung folgen\") and accessible to all team members\n- Training and tutorial content (both from SAP and Tchibo) is included and feedback from team members is collected\n- Knowledge sharing sessions are scheduled for continuous improvement\n- An assessment is completed, and the results are used to adjust training content and focus.","x":187,"y":-2529,"width":960,"height":598}, - {"id":"a2b647552d2687db","type":"text","text":"# Neue Themen","x":-1452,"y":-3483,"width":250,"height":60}, - {"id":"51164e4d700e239a","type":"text","text":"CI/CD","x":-1257,"y":-3393,"width":250,"height":60}, - {"id":"622f562db762a251","type":"text","text":"Building","x":-1635,"y":-3393,"width":250,"height":60}, - {"id":"dc3d4c91382605bc","type":"text","text":"[SAP Discovery Center - Develop a Full-Stack CAP Application Following the SAP BTP Developer's Guide](https://discovery-center.cloud.sap/missiondetail/4327/4608/?tab=projectboard)","x":-668,"y":-3666,"width":250,"height":149}, - {"id":"9b840d71791330f0","type":"text","text":"# Guides","x":-853,"y":-3749,"width":250,"height":60}, - {"id":"f78b28fba19dd65f","type":"text","text":"Prettier/ESLint/Tests","x":-1057,"y":-3020,"width":250,"height":60}, - {"id":"5abb9f37332bad94","type":"text","text":"Customize Build-Script","x":-1835,"y":-3293,"width":250,"height":60}, - {"id":"1d6a910b01904b61","type":"text","text":"Customize `cds deploy`\n(schema migration)","x":-1835,"y":-3213,"width":250,"height":60}, - {"id":"78c5d3148616b6c0","type":"text","text":"# Disclaimer\n\nDieser Obsidian Vault verwendet das Plugin [Dataview](https://blacksmithgu.github.io/obsidian-dataview/) um spezifische Queries zu bauen aussagekräftige DatDaten auszuwerten.","x":-382,"y":-2486,"width":379,"height":150,"color":"1"}, - {"id":"55e57af6e653f6fb","type":"text","text":"(Automated) Deployment","x":-1057,"y":-3293,"width":250,"height":60}, - {"id":"ec0d2bad13436c1d","type":"text","text":"Code Quality","x":-1257,"y":-3206,"width":250,"height":60}, - {"id":"21e3c5fe1e9ee942","type":"text","text":"DevOps","x":-1257,"y":-2862,"width":250,"height":60}, - {"id":"6f945de3f3de49f7","type":"text","text":"Monitoring","x":-1057,"y":-2758,"width":250,"height":60}, - {"id":"153e76545881bd05","type":"text","text":"Alerting","x":-1057,"y":-2677,"width":250,"height":60}, - {"id":"05f4c818904adb66","type":"text","text":"Logging","x":-1057,"y":-2601,"width":250,"height":60}, - {"id":"2c463d2dca40df79","type":"text","text":"# Rework\n```dataview \nLIST \nFROM #rework\n```","x":-263,"y":-3149,"width":421,"height":421,"color":"1"}, - {"id":"14e293fadbce80bf","type":"text","text":"# Todo\n```dataview \nLIST \nFROM #todo\n```","x":-723,"y":-3149,"width":421,"height":421,"color":"1"}, - {"id":"47ecb4ca235c0670","type":"text","text":"# Legende","x":-932,"y":-2411,"width":250,"height":60}, - {"id":"ba1104d6e8a73e6f","type":"text","text":"GitHooks (Husky?)","x":-1057,"y":-3108,"width":250,"height":60}, - {"id":"416830fbf3b5219c","type":"text","text":"**Ankündigungen**","x":-1132,"y":-2309,"width":250,"height":60,"color":"1"}, - {"id":"9f98cc16375948fd","type":"text","text":"**Themen, ohne eigene Erfahrung**","x":-1132,"y":-2229,"width":250,"height":60,"color":"3"} + {"id":"d3775949396b384b","type":"text","text":"[[Git]]","x":-996,"y":-1369,"width":250,"height":60}, + {"id":"06eee7827124e673","type":"text","text":"## [[Version Control Systems]]","x":-713,"y":-1369,"width":337,"height":60}, + {"id":"72cead1f27f8b719","x":-1665,"y":4700,"width":250,"height":60,"color":"6","type":"text","text":"[[HTTP]]"} ], "edges":[ {"id":"cb3b747aad0227cd","fromNode":"db0998937f174757","fromSide":"right","toNode":"0027866029d80945","toSide":"left"}, @@ -212,23 +206,15 @@ {"id":"ce7113b6cdbbd07b","fromNode":"0bafb282617fe68c","fromSide":"bottom","toNode":"23bbf088753200c2","toSide":"top"}, {"id":"42f613aba913c24c","fromNode":"23bbf088753200c2","fromSide":"bottom","toNode":"aa0933b059802302","toSide":"top","label":"then"}, {"id":"e357aed546055862","fromNode":"aa0933b059802302","fromSide":"bottom","toNode":"b67cc1de2b29fae3","toSide":"top","label":"then"}, - {"id":"38c138b6b86e98bc","fromNode":"00e2b61d208845ef","fromSide":"right","toNode":"7ab3c9f0ab7f9e3c","toSide":"left"}, - {"id":"dc6154f9204de6b0","fromNode":"92e2d02b6901ab09","fromSide":"right","toNode":"7ab3c9f0ab7f9e3c","toSide":"left"}, - {"id":"483d958e81b447c7","fromNode":"7ab3c9f0ab7f9e3c","fromSide":"right","toNode":"d6be0184cec9949d","toSide":"right"}, - {"id":"fb5d6d1a57ee4767","fromNode":"7ab3c9f0ab7f9e3c","fromSide":"right","toNode":"6bd1dfb55dfe7633","toSide":"right"}, - {"id":"39e87e8e9688609b","fromNode":"ec8b2bb338ecd5eb","fromSide":"bottom","toNode":"b000faae27296b7c","toSide":"top"}, {"id":"728b3dee0cbfbe99","fromNode":"b000faae27296b7c","fromSide":"right","toNode":"d0dce8704067e7d0","toSide":"left"}, {"id":"1f386370f4f530ab","fromNode":"470c29b7bcd75295","fromSide":"bottom","toNode":"747f08ad9ce9b1bd","toSide":"top"}, {"id":"f4fbb416eab102d5","fromNode":"747f08ad9ce9b1bd","fromSide":"bottom","toNode":"8a1c1c21302c1741","toSide":"top"}, {"id":"9d5e69e896be98a5","fromNode":"4ce519a6f5731bbf","fromSide":"left","toNode":"c4be3eaa00a14a6c","toSide":"right"}, - {"id":"7f0c3c06fc1aee84","fromNode":"7ab3c9f0ab7f9e3c","fromSide":"right","toNode":"5659424305ba7c69","toSide":"right"}, {"id":"b99d5531b608334f","fromNode":"747f08ad9ce9b1bd","fromSide":"left","toNode":"e87d1076894dcf8a","toSide":"right","label":"prequersities"}, {"id":"7ed3cd7efeed09a0","fromNode":"b000faae27296b7c","fromSide":"right","toNode":"b63d3c1f3aa9180b","toSide":"left"}, {"id":"2c323cf58024777e","fromNode":"b67cc1de2b29fae3","fromSide":"bottom","toNode":"d78502a378a4d41a","toSide":"top","label":"optional"}, {"id":"8a799b8a9802b45b","fromNode":"d78502a378a4d41a","fromSide":"bottom","toNode":"a03dbd0cf66a2a0b","toSide":"top"}, {"id":"cb29b9432ea65d8b","fromNode":"4ce519a6f5731bbf","fromSide":"right","toNode":"27ee0ff27573c3df","toSide":"left"}, - {"id":"d3b035454b98def3","fromNode":"f27d5d954fca5366","fromSide":"top","toNode":"317cbfc1a2b16327","toSide":"right"}, - {"id":"f15a4a43dcd806ef","fromNode":"622ef5f744dc8de4","fromSide":"left","toNode":"f27d5d954fca5366","toSide":"right"}, {"id":"3f6e212a702df476","fromNode":"5292964a9fb0629c","fromSide":"left","toNode":"06eee7827124e673","toSide":"right"}, {"id":"8ff13447599b21c9","fromNode":"5292964a9fb0629c","fromSide":"right","toNode":"db0998937f174757","toSide":"left"}, {"id":"49f5dd77c101a0cf","fromNode":"5292964a9fb0629c","fromSide":"bottom","toNode":"278fcbfb99425a7e","toSide":"top"}, @@ -243,7 +229,6 @@ {"id":"f216fb3e147fd874","fromNode":"e71360203ebc097c","fromSide":"bottom","toNode":"ad6e428da882d2b2","toSide":"right","label":"optional"}, {"id":"d593012855256398","fromNode":"e71360203ebc097c","fromSide":"bottom","toNode":"a53fa8cbbe9376ad","toSide":"top"}, {"id":"1a64308913f1d834","fromNode":"2020250647033ded","fromSide":"left","toNode":"e71360203ebc097c","toSide":"top"}, - {"id":"e9a215c6bf3433d4","fromNode":"f27d5d954fca5366","fromSide":"bottom","toNode":"0972fdc2a3ac2b58","toSide":"right"}, {"id":"20913cacbec3492c","fromNode":"98a210227bff1484","fromSide":"bottom","toNode":"b5c163f662414e2a","toSide":"top"}, {"id":"fc10580c8b27a690","fromNode":"ec8b2bb338ecd5eb","fromSide":"left","toNode":"2c35f3228f046c4a","toSide":"right"}, {"id":"7e302abd27dd9d36","fromNode":"ec8b2bb338ecd5eb","fromSide":"left","toNode":"98a210227bff1484","toSide":"right"}, @@ -350,6 +335,14 @@ {"id":"c145369c850b54a5","fromNode":"78c5d3148616b6c0","fromSide":"top","toNode":"e758d2757e49772e","toSide":"bottom"}, {"id":"0b6589239f20620c","fromNode":"470c29b7bcd75295","fromSide":"right","toNode":"5b5188c8b3ac72e2","toSide":"left"}, {"id":"4657b4ef12fef7da","fromNode":"3d5dc3bfd87be0de","fromSide":"right","toNode":"3cf839078bf14d81","toSide":"left","label":"relates to"}, - {"id":"6bdaaa6c078f9418","fromNode":"78c5d3148616b6c0","fromSide":"bottom","toNode":"8160e653d594b205","toSide":"top"} + {"id":"6bdaaa6c078f9418","fromNode":"78c5d3148616b6c0","fromSide":"bottom","toNode":"8160e653d594b205","toSide":"top"}, + {"id":"6cf1dae1eba5605b","fromNode":"ba1104d6e8a73e6f","fromSide":"right","toNode":"274242a9a978afc9","toSide":"left"}, + {"id":"cf71bb2aba4e9eba","fromNode":"f78b28fba19dd65f","fromSide":"right","toNode":"274242a9a978afc9","toSide":"left"}, + {"id":"944416f4eb7bbaa9","fromNode":"ec8b2bb338ecd5eb","fromSide":"bottom","toNode":"f70986ee4ebdb8b1","toSide":"top"}, + {"id":"1ad053f4a2dae3b2","fromNode":"f70986ee4ebdb8b1","fromSide":"bottom","toNode":"b000faae27296b7c","toSide":"top"}, + {"id":"36b6b81bd6508b5e","fromNode":"f70986ee4ebdb8b1","fromSide":"left","toNode":"fc6a133275ed3351","toSide":"right"}, + {"id":"0fadadf1e5352cb5","fromNode":"f70986ee4ebdb8b1","fromSide":"left","toNode":"40842d2cc9d80a47","toSide":"right"}, + {"id":"6b5f5e0ecee676ca","fromNode":"6091f0fff70ff422","fromSide":"left","toNode":"2bfe42407f97cb4c","toSide":"right"}, + {"id":"b8aa331fa7fca9d3","fromNode":"e9d709974af451c2","fromSide":"left","toNode":"72cead1f27f8b719","toSide":"right"} ] } \ No newline at end of file diff --git a/cloud-developer-roadmap/External/CICD/CICD.md b/cloud-developer-roadmap/External/CICD/CICD.md new file mode 100644 index 0000000..234d5b1 --- /dev/null +++ b/cloud-developer-roadmap/External/CICD/CICD.md @@ -0,0 +1,12 @@ +--- +tags: + - sap-cloud-developer-roadmap + - ci/cd + - automation +links: +source: +aliases: + - CI/CD +AI generated: true +--- +Continuous Integration and Continuous Delivery (CI/CD), is a set of practices that enable development teams to deliver code changes more reliably and efficiently. Continuous Integration focuses on automatically building and testing code whenever changes are made, ensuring that issues are detected early. Continuous Delivery extends this by automating the deployment process, allowing updates to be released to production quickly and safely. Together, CI/CD reduces manual errors, improves collaboration, and accelerates the delivery of new features and fixes. \ No newline at end of file diff --git a/cloud-developer-roadmap/External/CICD/Concourse.md b/cloud-developer-roadmap/External/CICD/Concourse.md new file mode 100644 index 0000000..d443121 --- /dev/null +++ b/cloud-developer-roadmap/External/CICD/Concourse.md @@ -0,0 +1,25 @@ +--- +tags: + - sap-cloud-developer-roadmap + - ci/cd + - runtime +links: +source: https://concourse-ci.org/ +aliases: +AI generated: true +--- +> Concourse is an open-source continuous thing-doer. + +Concourse is an open source [[CICD|CI/CD]] system that focuses on automation, reproducibility, and scalability of software delivery pipelines. It is designed around the concept of pipelines that define how code is built, tested, and deployed. These pipelines are declarative and version controlled, which ensures that every change in the delivery process is transparent and traceable. Concourse uses resources to represent external dependencies such as [[Git]] repositories or container images, and jobs to define sequences of steps that act on these resources. This structure enables a clear separation between input, processing, and output within a pipeline. + +A central characteristic of Concourse is its strong emphasis on immutability and container based execution. Every task runs in an isolated container, which guarantees consistent execution environments and eliminates issues caused by differences between development and production systems. This makes Concourse particularly suitable for cloud native development scenarios where reproducibility and reliability are critical. + +The [[fly CLI]] is the primary command line interface used to interact with a Concourse deployment. It allows developers to log in to a Concourse instance, configure and update pipelines, trigger jobs, and monitor execution. The relationship between Concourse and [[fly CLI|fly]] is therefore essential, since Concourse provides the backend system that executes pipelines, while [[fly CLI|fly]] acts as the user interface for managing and controlling these processes. Without [[fly CLI|fly]], interacting with Concourse would be significantly more limited, as it encapsulates all operational commands required for day to day pipeline management. + +**Summary** +Concourse is a [[CICD|CI/CD]] system that enables automated and reproducible pipelines using container based execution. The [[fly CLI]] is the command line tool that developers use to configure, trigger, and monitor these pipelines, making it the main interface for interacting with Concourse. + +**Sources** +- [Concourse - Website](https://concourse-ci.org/) +- [Concourse - Documentation](https://concourse-ci.org/docs/) +- [Concourse - `fly` CLI Documentation](https://concourse-ci.org/docs/fly/) \ No newline at end of file diff --git a/cloud-developer-roadmap/External/CICD/GitHub Actions.md b/cloud-developer-roadmap/External/CICD/GitHub Actions.md new file mode 100644 index 0000000..e3a513d --- /dev/null +++ b/cloud-developer-roadmap/External/CICD/GitHub Actions.md @@ -0,0 +1,22 @@ +--- +tags: + - sap-cloud-developer-roadmap + - ci/cd + - service +links: +source: +aliases: +AI generated: true +--- +GitHub Actions is a [[CICD|CI/CD]] service that is directly integrated into the [[GitHub]] platform. It allows developers to automate workflows such as building, testing, and deploying applications based on events that occur within a repository. These workflows are defined as code using [[YAML]] files, which are stored alongside the application source code and can be version controlled, ensuring transparency and consistency across development processes. + +A central concept of GitHub Actions is the use of workflows, jobs, and steps. Workflows are triggered by events such as code pushes or pull requests, while jobs define sets of tasks that run on virtual machines or containers. Each job consists of steps that execute commands or reusable actions. This structure enables modular and reusable automation logic, making it easier to standardize development pipelines across projects. + +GitHub Actions provides a wide range of prebuilt actions and integrates seamlessly with other [[GitHub]] features such as repositories, secrets management, and access control. This tight integration simplifies the setup of [[CICD|CI/CD]] pipelines, especially for teams already using [[GitHub]] as their primary development platform. In cloud native scenarios, GitHub Actions supports scalable and event driven automation, reducing the need for managing dedicated CI infrastructure. + +**Summary** +GitHub Actions is a [[CICD|CI/CD]] service integrated into [[GitHub]] that enables developers to automate workflows using code based configurations, offering seamless integration and scalable automation for modern development processes. + +**Sources** +- [Website - GitHub Actions]() +- [Documentation - GitHub Actions](https://docs.github.com/de/actions) \ No newline at end of file diff --git a/cloud-developer-roadmap/External/CICD/GitLab Workflows.md b/cloud-developer-roadmap/External/CICD/GitLab Workflows.md new file mode 100644 index 0000000..c10487d --- /dev/null +++ b/cloud-developer-roadmap/External/CICD/GitLab Workflows.md @@ -0,0 +1,21 @@ +--- +tags: + - sap-cloud-developer-roadmap + - ci/cd + - service +links: +source: +aliases: +AI generated: true +--- +GitLab Workflows are part of the GitLab CI/CD system and provide a way to define automated processes that control how and when pipelines are executed. These workflows are configured using [[YAML]] files within the repository and allow developers to manage the execution logic of pipelines based on specific conditions such as branch changes, merge requests, or tags. This enables a more controlled and efficient handling of automation processes within the development lifecycle. + +A central aspect of GitLab Workflows is the ability to define rules that determine whether a pipeline should run or be skipped. This helps to avoid unnecessary pipeline executions and optimizes resource usage. Workflows operate as a higher level control mechanism on top of pipelines, ensuring that only relevant processes are triggered based on defined criteria. This adds an additional layer of flexibility and governance to [[CICD|CI/CD]] operations. + +GitLab Workflows are tightly integrated into the GitLab platform, allowing seamless interaction with repository management, access control, and built in [[DevOps]] features. This integration simplifies the automation of development processes and supports scalable cloud native application delivery. By embedding workflow logic directly into the repository, teams can maintain consistency and transparency across all stages of software delivery. + +**Summary** +GitLab Workflows control when and how [[CICD|CI/CD]] pipelines are executed by defining rules and conditions, enabling efficient and scalable automation directly within the [[GitLab]] platform. + +**Sources** +- [Documentation - Getting started with CI](https://docs.gitlab.com/ci/) \ No newline at end of file diff --git a/cloud-developer-roadmap/External/CICD/Jenkins.md b/cloud-developer-roadmap/External/CICD/Jenkins.md new file mode 100644 index 0000000..0353afe --- /dev/null +++ b/cloud-developer-roadmap/External/CICD/Jenkins.md @@ -0,0 +1,23 @@ +--- +tags: + - sap-cloud-developer-roadmap + - ci/cd + - service +links: +source: +aliases: +AI generated: true +--- +> The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project. + +Jenkins is an open source automation server that is widely used to implement [[CICD|CI/CD]] processes in modern software development. It enables developers to automate the building, testing, and deployment of applications through configurable pipelines. These pipelines can be defined either through a graphical interface or as code, which allows them to be version controlled and integrated into existing development workflows. + +A key strength of Jenkins lies in its extensibility. Through a large ecosystem of plugins, Jenkins can integrate with various tools and platforms such as version control systems, container technologies, and cloud environments. This flexibility makes it adaptable to a wide range of project requirements and technology stacks. Jenkins executes tasks on agents, which can be distributed across different environments to scale workloads and improve performance. + +In the context of cloud native development, Jenkins can be used to orchestrate automated delivery processes, ensuring that applications are consistently built and deployed across environments. However, compared to more modern [[CICD|CI/CD]] systems, Jenkins often requires more manual configuration and maintenance, especially when managing plugins and scaling infrastructure. + +**Summary** +Jenkins is a highly extensible automation server used for [[CICD|CI/CD]] that enables developers to build, test, and deploy applications through customizable pipelines, supported by a large plugin ecosystem. + +**Sources** +- [Website - Jenkins](https://www.jenkins.io/) \ No newline at end of file diff --git a/cloud-developer-roadmap/External/CICD/SAP Continuous Integration and Delivery.md b/cloud-developer-roadmap/External/CICD/SAP Continuous Integration and Delivery.md new file mode 100644 index 0000000..720eaaa --- /dev/null +++ b/cloud-developer-roadmap/External/CICD/SAP Continuous Integration and Delivery.md @@ -0,0 +1,25 @@ +--- +tags: + - sap-cloud-developer-roadmap + - ci/cd + - service + - runtime +links: +source: +aliases: + - SAP CI/CD +AI generated: true +--- +The SAP Continuous Integration and Delivery service is a managed service provided by SAP on the [[SAP BTP|SAP Business Technology Platform]] that enables automated continuous integration and continuous delivery pipelines for cloud based applications. Its technical foundation is based on the open source project [[SAP Piper|Project Piper]], which provides reusable pipeline logic and predefined steps tailored for SAP development scenarios. The service internally leverages container based execution and [[Kubernetes]] orchestration to ensure scalable and isolated pipeline runs. + +Pipelines are defined as code using [[YAML]] configuration files and are executed through a [[Jenkins]] based runtime that is abstracted from the user. This allows developers to focus on pipeline configuration without managing the underlying infrastructure. The service integrates with [[Git]] repositories and uses predefined stages such as build, test, and deploy, which are implemented through modular pipeline steps provided by [[SAP Piper|Project Piper]]. These steps encapsulate SAP specific best practices and standardize interactions with services such as transport management and deployment targets. + +A key advantage of the SAP CI/CD service is its deep integration into the SAP ecosystem combined with its standardized technical architecture. By combining [[Jenkins]], [[Kubernetes]], and [[SAP Piper|Project Piper]], the service provides a robust and extensible foundation for enterprise grade automation while ensuring consistency, security, and compliance with SAP development guidelines. + +**Summary** +The SAP Continuous Integration and Delivery service is built on [[SAP Piper|Project Piper]], [[Jenkins]], and [[Kubernetes]], providing container based and scalable pipeline execution with predefined SAP specific steps, while abstracting infrastructure complexity for developers. + +**Sources** +- [SAP Discovery Center - SAP CI/CD Service](https://discovery-center.cloud.sap/serviceCatalog/continuous-integration--delivery) +- [SAP Help - SAP Continuous Integration and Delivery](https://help.sap.com/docs/CONTINUOUS_DELIVERY) +- [Tchibo Confluence - Exploration of SAP CI/CD Service](https://tchibo.atlassian.net/wiki/x/IACnEQ) \ No newline at end of file diff --git a/cloud-developer-roadmap/External/CICD/SAP Piper.md b/cloud-developer-roadmap/External/CICD/SAP Piper.md new file mode 100644 index 0000000..edbdcdb --- /dev/null +++ b/cloud-developer-roadmap/External/CICD/SAP Piper.md @@ -0,0 +1,25 @@ +--- +tags: + - sap-cloud-developer-roadmap + - ci/cd + - tool +links: +source: +aliases: + - SAP Project Piper + - Project Piper +AI generated: true +--- +SAP Project Piper is an open source framework provided by SAP that delivers reusable pipeline components for implementing continuous integration and continuous delivery in SAP centric development scenarios. It serves as the technical foundation for standardized pipeline execution by offering a collection of predefined steps, stages, and best practices that can be integrated into [[CICD|CI/CD]] systems such as [[Jenkins]] or the [[SAP Continuous Integration and Delivery|SAP CI/CD]] service. + +The framework is implemented primarily in [[Groovy]] and [[YAML]] and is designed to be used within [[Jenkins]] based environments. It provides a shared library that encapsulates common pipeline logic, enabling developers to define pipelines in a simplified and consistent way. Instead of building pipelines from scratch, teams can leverage Piper steps that handle tasks such as building applications, running tests, and deploying artifacts to SAP environments. This approach reduces complexity and ensures alignment with SAP recommended development processes. + +A key aspect of SAP Project Piper is its extensibility and strong integration with SAP technologies. It supports scenarios such as [[SAP Capire|SAP Cloud Application Programming Model]] development and integrates with services like transport management and cloud deployment targets. By abstracting complex pipeline logic into reusable components, SAP Project Piper enables scalable and maintainable automation while enforcing best practices across development teams. + +**Summary** +SAP Project Piper is an open source framework that provides reusable pipeline components and standardized logic for [[CICD|CI/CD]] in SAP environments, enabling consistent and scalable automation based on SAP best practices. + +**Sources** +- [Documentation - Project Piper](https://www.project-piper.io/) +- [GitHub - Project Piper Action](https://github.com/SAP/project-piper-action) +- [GitHub - jenkins-library](https://github.com/SAP/jenkins-library) \ No newline at end of file diff --git a/cloud-developer-roadmap/External/Version Control/Git.md b/cloud-developer-roadmap/External/Version Control/Git.md index ab1d252..70c9793 100755 --- a/cloud-developer-roadmap/External/Version Control/Git.md +++ b/cloud-developer-roadmap/External/Version Control/Git.md @@ -71,3 +71,4 @@ git revert # Revert a commit (creates a new one) - [Interactive Learning](https://learngitbranching.js.org) - [GitHub Education - Cheatsheet](https://education.github.com/git-cheat-sheet-education.pdf) - [Roadmap.sh - Git GitHub](https://roadmap.sh/git-github) +- [Article - What is a Git workflow?](https://about.gitlab.com/topics/version-control/what-is-git-workflow/) \ No newline at end of file diff --git a/cloud-developer-roadmap/Tools/fly CLI.md b/cloud-developer-roadmap/Tools/fly CLI.md new file mode 100644 index 0000000..5244dc8 --- /dev/null +++ b/cloud-developer-roadmap/Tools/fly CLI.md @@ -0,0 +1,21 @@ +--- +tags: + - ci/cd + - cli + - tool + - sap-cloud-developer-roadmap +links: + - "[[Concourse]]" +source: +aliases: + - fly +AI generated: true +--- +The fly CLI is the official command line interface for interacting with a [[Concourse]] installation. It enables developers to authenticate against a [[Concourse]] instance, define and upload pipeline configurations, trigger jobs, and observe their execution in real time. Through this interface, all core lifecycle operations of [[CICD|CI/CD]] pipelines can be controlled in a consistent and scriptable manner, which makes it an essential tool for integrating Concourse into automated development workflows. + +**Summary** +The fly CLI is the command line interface of [[Concourse]] that allows developers to manage pipelines, trigger jobs, and monitor executions efficiently. + +**Sources** +- [Documentation - Installation via Concourse](https://concourse-ci.org/docs/getting-started/quick-start/#install-fly) +- [Documentation - How 2 use](https://concourse-ci.org/docs/fly/) \ No newline at end of file diff --git a/cloud-developer-roadmap/_templates/Roadmap Topic.md b/cloud-developer-roadmap/_templates/Roadmap Topic.md index ca4f283..ddcc681 100755 --- a/cloud-developer-roadmap/_templates/Roadmap Topic.md +++ b/cloud-developer-roadmap/_templates/Roadmap Topic.md @@ -1,9 +1,10 @@ --- tags: - sap-cloud-developer-roadmap -links: -source: +links: +source: aliases: +AI generated: --- *Content*