Difference between revisions of "Azure/Azure Devops + az extension"
Line 61: | Line 61: | ||
drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 TestResults | drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 TestResults | ||
drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 a # pipeline artifact dir | drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 a # pipeline artifact dir | ||
drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 b # | drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 b # binaries directory | ||
drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 s # source directory often $PWD, where the repo code gets checked out | drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 s # source directory often $PWD, where the repo code gets checked out | ||
drwxr-xr-x 6 vsts docker 4096 Sep 1 22:11 name-of-artifact | drwxr-xr-x 6 vsts docker 4096 Sep 1 22:11 name-of-artifact | ||
# Layout env variables, executed from a pipeline on the agent | |||
$ grep -e "DIRECTORY\|^AGENT" /tmp/1 | sort | |||
AGENT_ACCEPTTEEEULA=True | |||
AGENT_BUILDDIRECTORY=/home/vsts/work/1 | |||
AGENT_DISABLELOGPLUGIN_TESTFILEPUBLISHERPLUGIN=true | |||
AGENT_DISABLELOGPLUGIN_TESTRESULTLOGPLUGIN=true | |||
AGENT_HOMEDIRECTORY=/home/vsts/agents/2.174.1 | |||
AGENT_ID=9 | |||
AGENT_JOBNAME=terraform plan | |||
AGENT_JOBSTATUS=Succeeded | |||
AGENT_MACHINENAME=fv-az605 | |||
AGENT_NAME=Hosted Agent | |||
AGENT_OSARCHITECTURE=X64 | |||
AGENT_OS=Linux | |||
AGENT_READONLYVARIABLES=true | |||
AGENT_RETAINDEFAULTENCODING=false | |||
AGENT_ROOTDIRECTORY=/home/vsts/work | |||
AGENT_TEMPDIRECTORY=/home/vsts/work/_temp | |||
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache | |||
AGENT_VERSION=2.174.1 | |||
AGENT_WORKFOLDER=/home/vsts/work | |||
BUILD_ARTIFACTSTAGINGDIRECTORY=/home/vsts/work/1/a | |||
BUILD_BINARIESDIRECTORY=/home/vsts/work/1/b | |||
BUILD_SOURCESDIRECTORY=/home/vsts/work/1/s | |||
BUILD_STAGINGDIRECTORY=/home/vsts/work/1/a | |||
COMMON_TESTRESULTSDIRECTORY=/home/vsts/work/1/TestResults | |||
RUNNER_TOOLSDIRECTORY=/opt/hostedtoolcache | |||
SYSTEM_ARTIFACTSDIRECTORY=/home/vsts/work/1/a | |||
SYSTEM_DEFAULTWORKINGDIRECTORY=/home/vsts/work/1/s | |||
</source> | </source> | ||
Revision as of 00:34, 2 September 2020
What is Azure DevOps:
- Azure Repos - SCM/VCS system hosted in Azure
- Azure Pipelines - Build, test, release automations
- Azure Boards - Kanban board; JIRA like to track work, code defects, issues using Kanban or Scrum
- Azure Test Plans
- Azure Artifacts - share Maven, npm, NuGet from private and public sources
dotnet commands reference
dotnet restore **/*.csproj # Restores the dependencies and tools of a project dotnet build # Builds a project and all of its dependencies dotnet test **/*[Tt]ests/*.csproj # .NET test driver used to execute unit tests dotnet publish # Publishes the application and its dependencies to a folder for deployment to a hosting system
az-cli with azure-devops extension
<syntaxhighlightjs lang="bash"> az extension list az extension show --name azure-devops az extension add --name azure-devops [
{ "experimental": false, "extensionType": "whl", "name": "azure-devops", "path": "/home/piotr/.azure/cliextensions/azure-devops", "preview": false, "version": "0.18.0" }
] az login # login to get subscription level authentication az devops login # login to Azure DevOps Token: **** # <- generate a token in AzureDevops > UserSerrings > Personal tokens
- Optional set default organization and project, or add them per each command
az devops configure --defaults organization=https://dev.azure.com/contoso project=ContosoWebApp
- List all repos
- Linux
az repos list --organization=https://dev.azure.com/contoso/ --project=ContosoWebApp --query '[].{Name:name, Url:remoteUrl}' -o json | jq -r .[].Name
- PowerShell
(az repos list --query '[].{Name:name, Url:remoteUrl}' -o json | ConvertFrom-Json) | %{ git clone $_.Url } </syntaxhighlightjs>
Azure pipeline agents
Software included:
Environment:
# Default working directory, also where repos get cloned $(Build.SourcesDirectory): /home/vsts/work/1/s # Published artifacts cd ../name-of-artifact/ # Layout $pwd; cd .. # level up from pwd drwxr-xr-x 7 vsts docker 4096 Sep 1 22:11 . drwxr-xr-x 7 vsts root 4096 Sep 1 22:11 .. drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 TestResults drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 a # pipeline artifact dir drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 b # binaries directory drwxr-xr-x 2 vsts docker 4096 Sep 1 22:11 s # source directory often $PWD, where the repo code gets checked out drwxr-xr-x 6 vsts docker 4096 Sep 1 22:11 name-of-artifact # Layout env variables, executed from a pipeline on the agent $ grep -e "DIRECTORY\|^AGENT" /tmp/1 | sort AGENT_ACCEPTTEEEULA=True AGENT_BUILDDIRECTORY=/home/vsts/work/1 AGENT_DISABLELOGPLUGIN_TESTFILEPUBLISHERPLUGIN=true AGENT_DISABLELOGPLUGIN_TESTRESULTLOGPLUGIN=true AGENT_HOMEDIRECTORY=/home/vsts/agents/2.174.1 AGENT_ID=9 AGENT_JOBNAME=terraform plan AGENT_JOBSTATUS=Succeeded AGENT_MACHINENAME=fv-az605 AGENT_NAME=Hosted Agent AGENT_OSARCHITECTURE=X64 AGENT_OS=Linux AGENT_READONLYVARIABLES=true AGENT_RETAINDEFAULTENCODING=false AGENT_ROOTDIRECTORY=/home/vsts/work AGENT_TEMPDIRECTORY=/home/vsts/work/_temp AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache AGENT_VERSION=2.174.1 AGENT_WORKFOLDER=/home/vsts/work BUILD_ARTIFACTSTAGINGDIRECTORY=/home/vsts/work/1/a BUILD_BINARIESDIRECTORY=/home/vsts/work/1/b BUILD_SOURCESDIRECTORY=/home/vsts/work/1/s BUILD_STAGINGDIRECTORY=/home/vsts/work/1/a COMMON_TESTRESULTSDIRECTORY=/home/vsts/work/1/TestResults RUNNER_TOOLSDIRECTORY=/opt/hostedtoolcache SYSTEM_ARTIFACTSDIRECTORY=/home/vsts/work/1/a SYSTEM_DEFAULTWORKINGDIRECTORY=/home/vsts/work/1/s
Pipeline variables
Variables are available in expressions as well as scripts; see variables to learn more about how to use them. There are some predefined build and release variables you can also rely on. Syntax
regionName : "${{ variables.aws_region }}" regionName : $(aws_region)
Resources
- Code Assessment Tools
- Security Tools
- SonarCloud
- SonarAnalyzer
- FxCop - check your code for security, performance, and design issues by Microsoft