DevOps 是人员、流程和产品的集合体现,它可让我们向最终用户持续交付价值。 ———— Donovan Brown
Azure DevOps
Azure DevOps 是 Microsoft 提供的一种软件即服务 (SaaS) 平台,它能提供用于开发和部署软件的端到端 DevOps 工具链。 组成
Azure Repos 源代码管理
Azure Pipelines CI/CD服务
Azure Boards 类似TP的kanban工具以及Agile tools等
Azure Test Plans 测试工具,包括manual/exploratory testing 和 continuous testing
Azure Artifacts 大致上就是构建自己的库(allows teams to share packages such as Maven, npm, NuGet and more from public and private sources and integrate package sharing into your CI/CD pipelines)
A long-lived branch is a Git branch that is never deleted. Some teams prefer to avoid them altogether in favor of short-lived feature and bug fix branches. For those teams, the goal of any effort is to produce a pull request that merges their work back into master. 对于web应用,往往不会支持或回退到起初的版本,适用于上述工作方式,但也有其他场景需要长期保留分支,如用于同时支持市场上的多个版本,release V1, release V2将持续维护
SQL Server Data Tools (SSDT) 通过引入跨 Visual Studio 内所有数据库开发阶段的无所不在的声明性模型,为数据库开发带来变革。创建一个数据库项目进行脱机的数据库开发(不直接对数据库服务进行在线修改),像编辑声明定义一样创建、编辑、重命名和删除表、存储过程、类型和函数。
DECLARE @CSDid uniqueidentifier SELECT @CSDid=NEWID() INSERT INTO [ent].[ScannerGroup] ([ID] ,[Name] ,[ParentID] ,[Type] ,[BrandID] ,[GroupLevel]) SELECT @CSDid ,'CSD' ,null ,10 ,null ,HierarchyID::GetRoot() WHERE NOT EXISTS (SELECT 1 FROM [ent].[ScannerGroup])
INSERT INTO [ent].[PartnerAdmin] ([ID] ,[Email] ,[GroupID] ,[Name]) SELECT NEWID() ,'qqqqq@qqqq.qqq' ,@CSDid ,'QQs' WHERE NOT EXISTS (SELECT 1 FROM [ent].[PartnerAdmin]) GO
Predeployment Scripts & Postdeployment Scripts
Predeployment Scripts和Postdeployment Scripts分别在数据库项目生成的主要部署脚本之前和之后执行,在 Visual Studio 中,从架构比较结果更新目标时(Compare之后的Update),将不执行Predeployment Scripts。 一个项目只能有一个Predeployment Scripts和一个Postdeployment Scripts。
Cannot import the following key file: RightCheckDB.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_E7D8A7C85598CE59
/** The id_token returned from the OIDC provider */ id_token: string; /** The session state value returned from the OIDC provider (opaque) */ session_state?: string; /** The access token returned from the OIDC provider. */ access_token: string; /** Refresh token returned from the OIDC provider (if requested) */ refresh_token?: string; /** The token_type returned from the OIDC provider */ token_type: string; /** The scope returned from the OIDC provider */ scope: string; /** The claims represented by a combination of the id_token and the user info endpoint */ profile: Profile; /** The expires at returned from the OIDC provider */ expires_at: number; /** The custom state transferred in the last signin */ state: any;
/** Calculated number of seconds the access token has remaining */ readonly expires_in: number; /** Calculated value indicating if the access token is expired */ readonly expired: boolean; /** Array representing the parsed values from the scope */ readonly scopes: string[]; }
Microsoft Authentication Library(微软身份认证库MSAL),在ASP和SPA一文中有引用。
The Microsoft Authentication Library for JavaScript enables client-side JavaScript web applications, running in a web browser, to authenticate users using Azure AD. MSAL.js用以浏览器中运行的js web 使用Azure AD认证
The MSAL library for .NET is part of the Microsoft identity platform for developers (formerly named Azure AD) v2.0. It enables you to acquire security tokens to call protected APIs. It uses industry standard OAuth2 and OpenID Connect. The library also supports Azure AD B2C.
authorizationUri Uri URI computed by MSAL.NET that will let the UI extension navigate to the STS authorization endpoint in order to sign-in the user and have them consent
redirectUri Uri The redirect URI that was configured. The auth code will be appended to this redirect URI and the browser will redirect to it.