External git service
- Grabs git repo from on prem.
Metrics Agile
-
Cycle Time, time task is in progress.
-
Lead Time, time to be completed the tasks.
-
Burndown, remaining work to be completed.
-
AZDO Licenses
- VS License detected automatically
- 5 free users
- Basic + Test plans is paid only
- License for multiple organizations.
- Azure Artifacts per GB model, included with Basic license. 2GB
- 1 self hosted , and MS hosted agent (1800 min) free
- Parallel jobs to be paid.
-
App Center Distribution groups, give access to releases.
- Private groups by default.
- Public
- Anyone can access the release without signing in using the public download link.
- Private
- Require Email
- Shared
- Priv or public shared across multiple apps.
- Managing Devices.
- You must provide the user name and password for your Apple ID and your production certificate in a .p12 format.
- Dev Testing
- Device IDs (UDIDs) and add them to the provisioning profile.
- Flow
- Create distribution group
- Assign users
- Distribute new Release
-
Migration from Team Fundation Server.
- Most recent RTW?
- It can take up to 2-3 weeks after a new RTW version of Azure DevOps Server is released for import support to come online for that version. It's important to take this into consideration when choosing to upgrade shortly after a new RTW Azure DevOps Server release.
- Migration can be done:
- TFS Database Import Service
- Manually
- Public Api based service.
- Most recent RTW?
-
Code review, quality test..
- Maven and PMD. PMD. PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. Maven does qualitiy of code of java apps.
- Coverage or JaCoCo. Cobertura. How many tests are for the code. Code can be 90% covered.
- UI Testing - Selenium
- Quality code - Gradle, SonarCloud is a cloud service offered by SonarSource and based on SonarQube
- WhiteSource provides WhiteSource Bolt. Detect when common open source libraries are added to the code base. Check licensing.
- Black Duck helps organizations identify and mitigate open source security, license compliance and code-quality risks across application and container portfolios, automatically find and fix open source security vulnerabilities during the build process, so you can proactively manage risk
- Dependant Bot, create pr for you to approve.
Models.
-
Scrum. Velocity. Scrum master. No CD. No Changes
- PBI and bugs in kanban board, rest on task board
-
Kanban. Continuos deployment, cycle time lead time... No functions. CD. Changes.
-
Agile. framework for scrum, kanban
- Stories and bugs in kanban board, rest on task board
-
CMMI. With this process, you can track requirements, change requests, risks, and reviews.
-
SonarCloud Steps in AZDO
- Restore
- Prepare
- Build
- Test
- Run
- Publish
AKS
- Helm
- kubectl create tilller, helm init deploying tiller, helm install apply changes
- helm search: Search for charts
- helm fetch: Download a chart to your local directory to view
- helm install: Upload the chart to Kubernetes
- helm list: List releases of charts
- heml init: Initialize Helm on both client and server, installs the tiller. (v2)
- helm create: creates a chart.
- https://docs.microsoft.com/en-us/azure/aks/kubernetes-helm
typical steps.
- helm repo add/update
- helm search
- helm install
- helm
- kubectl create tilller, helm init deploying tiller, helm install apply changes
Docker
- Multi stage builds reduce size
- Build in one stage,
- Build another stage,
- copy package from first
- Security minize risk
Agent pools:
- https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/pools-queues?view=azure-devops&tabs=yaml%2Cbrowser#default-agent-pools check agent pools defaults.
- Azure Hosted.
- Geographia limited
- MACos agents, eu or us.
- 10 GB
- Private
- 1 parallel job, 1800 min month,
- Can run to up 607 minutes
- Public
- 10 parallels jobs, no limits per motnh
- Can run to up 6 hours
- Self Hosted.
- No limits.
- Maintenance to be added.
Integration with Jenkins
- Personal Token for access from jenkins.
- Serfvice connection to consume artifacs from azdo for releasing etc.
- TFS plugin
GIT
- Decentralized
- Githuv Enterprise locally hosted.
SUBV
- Centralized
Release gates
- Gates allow automatic collection of health signals from external services, and then promote the release when all the signals are successful at the same time or stop the deployment on timeout.
- For:
- Incident and issues management
- Approvals outside.. ....
Triggers
- Release Trigger
- Buiild trigger.
- PR Trigger.
- Stage Trigger.
Time outs.
-
Pre deployment approval timeout
-
Gate approval timeout.
-
During which phase should you use static code analysis? -> Build
- Static code analysis is a method of debugging by examining source code before a program is run.
DSC - AZDO
- State of Configuration for nodes:
- Create
- Upload
- Compile
- Onboard - Enable VM with node config ARM.
- Assing the node configuration
- Check
Nested Template vs Linked Template.
- Linked
- Templatelink and uri
- Mutliple rg.
- Nested
- Multiple rg.
Templates features
- depends on
- copy.
- inner, outter, where to get vars on nested templates.
Policy
- Append not for tags but can work. Use modify instead.
Deploymentes
- blue green
- canary
- rolling
Views Feeds are containers that allow users to group packages and control who can access them by modifying the feed permissions.
- @local, @Prerelease and @Release
- @local, published directly or upstreams (external repos) https://docs.microsoft.com/en-us/azure/devops/artifacts/concepts/views?view=azure-devops
Publish nuget package.
- Create
- Connect
- Publish
- Install
DEV env ACS to AKS https://docs.microsoft.com/en-us/samples/azure-samples/virtual-kubelet-aci-burst/bursting-from-aks-to-aci-with-the-virtual-kubelet/
User, impact, user flow, https://azure.microsoft.com/en-us/blog/enhanced-app-usage-monitoring-and-investigative-features-in-azure-application-insights/ https://docs.microsoft.com/en-us/azure/azure-monitor/app/usage-segmentation
Feature usage -> Users. https://docs.microsoft.com/en-us/azure/azure-monitor/app/usage-segmentation User action by day -> User Flows. https://docs.microsoft.com/en-us/azure/azure-monitor/app/usage-flows Funnels -> from one event to another, %
The Microsoft Test & Feedback extension
Testing in a scale set.
- can create custom images.
- az vmss create , generalize etc...
- Can update image existing scale set
- az vmss update
- Can run custom script extension, this runs before azdo extensions, if fails removes the vm.
- az vmss extension set
- Unhealthy agents can live more time to diagnose.
- Scale takes 20 minutes
- Scale idle after 30 minutes
- Scale up in a percentage of total size
Retention policies. https://docs.microsoft.com/en-us/azure/devops/pipelines/policies/retention?view=azure-devops&tabs=yaml
- A branch that has any branch policies configured is considered to be a protected branch
- default and protected branches retained
- Run once a day
- To be deleted:
- Logs
- All pipeline and build artifacts
- All symbols
- Binaries
- Test results
- Run metadata
Privileges matrix. (Feeds)
- Readers can list and install packages. https://docs.microsoft.com/en-us/azure/devops/artifacts/feeds/feed-permissions?view=azure-devops
- Collaborator (upstream packages)
- Contributor
- Owner
Credential providers: Nuget Auth.
- Look for credentials in NuGet.config files.
- Use V2 plug-in credential providers
- Use V1 plug-in credential providers
- NuGet then prompts the user for credentials on the command line.
dotnet & msbuild Auth.
- Look for credentials in NuGet.config files.
- Use V2 plug-in credential providers
- NuGet then prompts the user for credentials on the command line.
Azure Artifacts Credential Provider
- credentiales cached same place as dll are....
Agile...
- Initiative
- Epic
- Features
- Stories
- Tasks
PR strategies
- Merge or non explicit
- merge commit adds shit.
- Squaash or explicit
- One commit
- looses sight on how was developed.
- FastForward
- stick commits in order
- Don't allow more changes since branch was cut
- Rebase
- stick commits in order
- looses context
Dependant bot
- check vuln
- depenecies upgrades
- create branches and PR
Readiness vs Liveness probe.
- Readiness to be ready to receiver request
- Liveness to restart containers etc..
Views and Upstream sources.
- live with each other.
- feed views are to rule out deployment packages
- feed views are read only
- local view contains the packages and saved from upstream sources.