-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extend Azure pipeline template with release pipelines and release deployments #208
Extend Azure pipeline template with release pipelines and release deployments #208
Conversation
Signed-off-by: Dennis Behm <dennis.behm@de.ibm.com>
Signed-off-by: Dennis Behm <dennis.behm@de.ibm.com>
Signed-off-by: Dennis Behm <dennis.behm@de.ibm.com>
Signed-off-by: Dennis Behm <dennis.behm@de.ibm.com>
Signed-off-by: Dennis Behm <dennis.behm@de.ibm.com>
Signed-off-by: Dennis Behm <dennis.behm@de.ibm.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @dennis-behm - I've proposed some rewording, and also a minor change for consistency in the deploy template itself.
|
||
Depending on your selected deployment technology, review the definitions and (de-)/activate the appropriate steps. | ||
|
||
The pipeline uses the Azure concepts `Stage`, `Jobs` and `Tasks`, as well leverages Gitlab templates. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Leverages Gitlab templates" ? Isn't it Azure DevOps pipelines templates instead?
|
||
## Prerequisites | ||
|
||
To leverages this template, access to an Azure DevOps environment and an Azure Pipeline agent that can connect to your mainframe environment is required. Please review the setup instructions of this [techdoc](https://www.ibm.com/support/pages/node/6422813). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we rephrase to:
To leverages this template, the access to an Azure DevOps environment is required, and an Azure DevOps Pipeline agent must be configured to connect to your mainframe environment.
|
||
The template leverages the [SSH Task](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/ssh-v0?view=azure-pipelines) to invoke the [Common Backend scripts](../Common-Backend-Scripts/) via the configured ssh endpoint. Alternatively, the template can be modified to use the [CmdLine task](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/cmd-line-v2?view=azure-pipelines) to leverage an alternative communication technology such as Zowe CLI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we switch to uppercase 'ssh'?
|
||
The pipeline uses the Azure concepts `Stage`, `Jobs` and `Tasks`: | ||
The backend scripts need to be configured for the selected technologies to operate correctly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
backend scripts
-> Common Backend Scripts
Not sure I fully understand this sentence, what do you mean by 'the selected technologies'?
|
||
![](images/ado_pipelineOverview.png) | ||
The implemented tagging of important commits in the git history, leverages the Azure CLI, that needs to be available on the Azure runner. Please follow the [documentation](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) to make the Azure CLI available to all agents within the agent pool that the pipelines will use. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we rephrase to something like this?
To tag important commits in the history of the application's Git repository, the Azure CLI is used and must be available on the Azure runner. Please follow the documentation to install the Azure CLI on all the agents within the agent pool that the pipelines will use.
zosHostname | zOS - Host name (or Host IP address) for SFTP connection | ||
zosSFTPUser | zOS - Host user for SFTP connection | ||
azureArtifactFeedID | Feed ID of the Azure artifact for publishing the package (when publishing to Azure DevOps Artifacts) | ||
azureArtifactVersionOption | Azure artifact version option (when publishing to Azure DevOps Artifacts) | ||
|
||
### Supplied Azure pipeline templates | ||
|
||
The directory [templates](templates/) contains additional [Azure pipeline templates](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops&pivots=templates-includes#parameters-to-select-a-template-at-runtime) that implement actions that are leveraged by the core pipeline template to provide a central control over the tagging and release deployment process. Please review the templates with your Azure administrator and adjust the reference within the [azure-pipelines.yml](azure-pipelines.yml#L32) file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we rephrase to something like:
The directory templates contains additional Azure pipeline templates that implement actions used in the main pipeline template. These actions help to keep a central control over the tagging and release deployment process.
To download files from the build workspace on z/OS Unix System Services, it requires to use a `CmdLine` task and write a script. | ||
SSH communication from a `CmdLine` task does not use the Service Connection. | ||
To make the agent installation independent of any configurations outside of Azure, a private SSH key is installed as part of the pipeline to connect to the z/OS system through a `CmdLine` task. | ||
To download files from the build workspace on z/OS Unix System Services, it requires to use a `CmdLine` task and leverage a script to pull the log files from the mainframe to the Azure agent. The used SSH communication from a `CmdLine` task does not use the Service Connection. To make the agent installation independent of any configurations outside of Azure, a private SSH key is installed as part of the pipeline to connect to the z/OS system through a `CmdLine` task. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor rephrasing:
To download files from the build workspace on z/OS Unix System Services, the pipeline uses a CmdLine
task and leverages a script to pull the log files from the mainframe to the Azure agent.
@@ -0,0 +1,13 @@ | |||
# README | |||
|
|||
This folder contains [Azure DevOps Templates](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops&pivots=templates-includes) yaml configurations, that are referenced by the core Azure pipeline. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
small suggestions:
'yaml' -> 'YAML'
'core Azure pipeline' -> 'main Azure pipeline'
|
||
This folder contains [Azure DevOps Templates](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops&pivots=templates-includes) yaml configurations, that are referenced by the core Azure pipeline. | ||
|
||
Please work with your Azure DevOps administrators where to maintain these scripts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'Please work with your Azure DevOps administrators where to maintain these scripts.'
'Please work with your Azure DevOps administrators to agree on how and where to maintain these scripts.'
- deployment: DEPLOY_${{ parameters.environmentName }} | ||
dependsOn: RetrievePackage | ||
displayName: "Deploy-${{ parameters.environmentName }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have a consistent naming convention if possible?
deployment: Deploy to ${{ parameters.environmentName }}
displayname: Deploy to ${{ parameters.environmentName }}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now I need to create new screenshots ;)
Signed-off-by: Dennis Behm <dennis.behm@de.ibm.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thank you @dennis-behm !
This PR is adding additional capabilities for the Azure template: