Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
277 changes: 135 additions & 142 deletions cloud-developer-roadmap/Cloud Developer Roadmap.canvas

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions cloud-developer-roadmap/External/CICD/CICD.md
Original file line number Diff line number Diff line change
@@ -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.
25 changes: 25 additions & 0 deletions cloud-developer-roadmap/External/CICD/Concourse.md
Original file line number Diff line number Diff line change
@@ -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/)
22 changes: 22 additions & 0 deletions cloud-developer-roadmap/External/CICD/GitHub Actions.md
Original file line number Diff line number Diff line change
@@ -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)
21 changes: 21 additions & 0 deletions cloud-developer-roadmap/External/CICD/GitLab Workflows.md
Original file line number Diff line number Diff line change
@@ -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/)
23 changes: 23 additions & 0 deletions cloud-developer-roadmap/External/CICD/Jenkins.md
Original file line number Diff line number Diff line change
@@ -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/)
Original file line number Diff line number Diff line change
@@ -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)
25 changes: 25 additions & 0 deletions cloud-developer-roadmap/External/CICD/SAP Piper.md
Original file line number Diff line number Diff line change
@@ -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)
1 change: 1 addition & 0 deletions cloud-developer-roadmap/External/Version Control/Git.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,4 @@ git revert <commit> # 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/)
21 changes: 21 additions & 0 deletions cloud-developer-roadmap/Tools/fly CLI.md
Original file line number Diff line number Diff line change
@@ -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/)
5 changes: 3 additions & 2 deletions cloud-developer-roadmap/_templates/Roadmap Topic.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
---
tags:
- sap-cloud-developer-roadmap
links:
source:
links:
source:
aliases:
AI generated:
---
*Content*

Expand Down