In our project we used GitHub actions to run make targets for CI pipeline. We had dedicated runners used in Github actions to run make targets
Now, we migrated from GitHub actions to Azure DevOps pipeline
Does Azure DevOps pipeline allow/support running make targets?
Related
we are using Azure Pipelines to build and deploy various projects. We are using Enterprise Github service connection as our git repository source which we are using as part of the build pipelines that are running on on-prem AzureDevops build agent. We are then using on-prem hosted DevOps agents to deploy the service on our on-prem servers.
If we trigger a build we then receive an email notification about all the new commits which are included in the build. Is the same information (what commits are part of the build) included somewhere in the Azure DevOps UI? I was not able to find it and it's really difficult to then determine what I'm actually deploying our various environments as I'm not always the one who triggers each build.
Thanks
I have a GitHub workflow that creates Artifact(s). I also have a last step within that workflow that triggers an Azure DevOps Release Pipeline. I modified an existing release pipeline to change the artifacts from an ADO Build Pipeline to GitHub (and made the service connection in ADO).
- uses: Azure/pipelines#v1
with:
azure-devops-project-url: 'https://dev.azure.com/some_org/some_project'
azure-pipeline-name: 'Name_Of_Release_Pipeline'
azure-devops-token: '${{ secrets.ADOPAT }}'
So the issue is that the Release Pipeline will not retrieve nor download the associated build artifact from GitHub. I can see that the GitHub workflow build information is stored in various Environment Variables, so the Release Pipeline is retrieving various metadata from the GitHub build, but why won't it download?
FYI - There is a ADO task that does download GitHub "release" artifacts but the GitHub repo I am building has not yet created a "release" and thus there are no artifacts to download. So that doesn't help.
You can try to install the Azure DevOps extension "GitHub Actions" to your Azure DevOps organization where the release pipeline is in.
This extension contains two build/release tasks:
Run a GitHub Workflow
Download GitHub Workflow Artifacts
For your case, you can try to use the Download GitHub Workflow Artifacts task in your release pipeline to download the artifacts from the latest run of the specified GitHub workflow.
I have a scenario that i want to create a dependency in Release pipelines that once one pipeline completes its task then the next release pipeline should be triggered.
How can I achieve it.
How to add dependency between two release pipeline Azure DevOps
You could use the extension Trigger Azure DevOps Pipeline:
Trigger Azure DevOps Pipeline is an extension for triggering a Azure
DevOps Build or Release Pipeline.
Depending on your choice in the task, it will trigger a build or a
release pipeline.
To use the extension, an Azure DevOps API endpoint needs to be
created. The token used in the endpoint should be Personal Access
Token.
I am having all my codes in Azure Databricks notebook. I want to automate execution of my notebook using azure devops.
I have linked my Databricks Repos with Azure Repos. Created a build pipeline to create artifact of my code. In release pipeline.
I was able to deploy my code to lower environment(Here same Databricks workspace where I have my code).
But I was not able to execute/Run notebook directly from Azure Devops.
How do I deploy code from my lower environment to higher environment(Prod Server) Databricks workspace.
To deploy code to higher environment Is it same as deploying to lower environment. Just changing details of workspace.
Like Databricks Token, Workspace URL, etc.
You need to create release pipeline and push your code to GIT repo. Follow this Microsoft documentation for details -
https://learn.microsoft.com/en-us/azure/databricks/dev-tools/ci-cd/ci-cd-azure-devops#:~:text=The%20release%20pipeline%20deploys%20the,Pipelines%20menu%20and%20click%20Releases.
This demo shows how to do that. The steps include:
Testing
Update checkout at Databricks workspace - for example, you may have a separate checkout for testing. You can do that via Repos REST API, or via databricks-cli (databricks repos update command)
Triggering execution of tests by using the Nutter library
Reporting testing results to DevOps
Release
If tests are successful, you can push updates to staging/production environment - this could be done via DevOps Release pipelines
You can use the same Repos REST API or databricks-cli to update checkout in staging/production
Whether ansible can be used to create release and build pipelines in azure is there any existing or custom modules for creating pipelines?
The answer is yes. Ansible can be used in azure devops pipelines.
You can click here to install Ansible extension in your azure devops organization. After it is installed, you can use Ansible task in the pipeline to run playbook.
To get started with azure devops pipeline. You can check out this document.
You can check below detailed tutorial about using ansible in azure devops pipeline.
Automating Infrastructure Deployments in the Cloud with Ansible and Azure Pipelines