개발 운영 CI / ASP.NET 코어에 CD 파이프 라인 구축 VSTS를 사용하여

디렉토리

소개

다루는 주제

우리가 기본적인 개념을 이해하자

단일 칩 아키텍처와 마이크로 아키텍처 서비스

민첩하고 개발 운영

개발 운영 팀에 원동력

지속적인 통합

연속 배달

연속 배포

VSTS 코어 ASP.NET 응용 프로그램을 사용하여 CI 자동화

전제 조건

VSTS를 사용하여 팀 프로젝트를 만듭니다

ASP.NET 핵심 애플리케이션을위한 새로운 빌드 정의를 작성

새 버전 정의를 작성


소개

기반 응용 프로그램은 우리의 작업을 용이하게한다. 우리가 필요로하는 화면 사이의 상호 작용, 우리는 단일 페이지 응용 프로그램 (고려할 수 있습니다 특히 SPA를 ). 들어 SPA , 우리가해야 할 수도 있습니다 웹 팩 또는 불평 소리 꿀꺽 병합 및 우리의 클라이언트 스크립트를 번들처럼. 기본을 보려면 여기를 클릭하십시오 . 우리가 사용하는 가정하자 ASP.NET 코어 , 우리는 사용해야 할 수도 NPM 또는 이물 또는 원사 우리는 패키지를 복구하고 우리의 응용 프로그램을 컴파일 할 수 있도록 패키지를 관리하는 등. 그러나 자동이 아닌 경우 CI / CD . 그런 다음 단일 페이지 응용 프로그램의 첫 번째 배치는 매우 어렵습니다. 이 기사에서는 내 주요 초점은 어떻게 사용하는 방법을 보여주는 것입니다 VSTS을 당신을 위해 ASP.NET 빌드를 만들고 핵심 응용 프로그램을 놓습니다.

다루는 주제

  • 단일 칩 아키텍처와 마이크로 아키텍처 서비스
  • 민첩하고 개발 운영
  • 지속적인 통합
  • 연속 배달
  • 연속 배포
  • 사용 VSTS를 프로젝트를 생성
  • 새 빌드 정의를 작성
  • 웹팩 번들 스크립트
  • 새 버전 정의를 작성

우리가 기본적인 개념을 이해하자

단일 칩 아키텍처와 마이크로 아키텍처 서비스

한 번에, 단일 칩 아키텍처는 일반적인 관행, 폭포 모델은 매우 인기가있다. 이 방법에서는 모든 것이 주요 프로젝트, 즉 구조와 순차적 인 과정으로 간주됩니다. 지금, 그것은이 작은 조각으로 분해하고 반복적이다. 예, 마이크로 서비스 아키텍처와 민첩한 방법론을 의미한다.

민첩하고 개발 운영

우리는이 애자일 개발 방법론 알고있다. 개발 운영 팀 단어가 빠르게 확산되고, 그것은 생산 지원에 개발에 초점을 맞추고 있습니다. 우리는이 소프트웨어 개발 및 운영의 조합이라고 말할 수 있습니다.

개발 운영 의 뒤에 힘을 운전

우리가 이야기 할 때 개발 운영 할 때 용어가 자주 발생 :

  • 지속적인 통합 ( CI )
  • 연속 배달 ( CD )
  • 연속 배포 ( CD )

지속적인 통합

하루에 몇 번, 개발자들은 체크인 / 공유 저장소 (로 제출 및 코드 힘내 , 팀 파운데이션 버전 제어 등),이 코드를 합병 한 후, 자동으로 자동화 된 테스트를 빌드하고 실행합니다.

연속 배달

코드를 통합 한 후, 구축 및 테스트 코드. 지금은 준비 환경 (비 제품 시험) 또는 생산에 코드를 밀어 준비가되어 있습니다,하지만 당신은 수동으로 승인자에게 밀어해야합니다.

연속 배포

코드를 통합 한 후, 구축 및 테스트 코드. 이제 자동으로 임시 환경 (비 생산 테스트) 또는 생산에 푸시됩니다, 어떤 승인도 없다.

사용 VSTS를 ASP.NET의 핵심 자동화 애플리케이션 CI

전제 조건

당신은 필요 비주얼 스튜디오 팀 서비스 계정힘내 계정을 . 그렇지? 당신은 선택할 수 있습니다 https://www.visualstudio.comhttps://github.com을 새로운 무료 계정을 만들 수 있습니다.

사용 VSTS하는 팀 프로젝트를 만들

1, 선택 프로젝트 > 새 프로젝트를 .

2, 프로젝트 이름을 제공하고 프로젝트에 대한 올바른 버전 제어 선택 힘내 또는 TFVC을 . 작업 항목 워크 플로우를 선택합니다. 클릭 " 생성 " 프로젝트를 생성하는 버튼을 누릅니다.

3, 클릭 비주얼 스튜디오 클론을 .

4 VS IDE는 창이 나타납니다. 클릭 " 복제 " 버튼을 클릭합니다.

5. 팀 탐색기 , 다음을 클릭합니다 " 새 프로젝트 또는 솔루션을 만듭니다 " .

创建项目后,您需要提交所有更改。单击团队资源管理器>更改。填写更改注释,然后单击全部提交

6、单击同步以同步代码。

7、最后,单击PublishOutgoing Commits> Publish)。

ASP.NET核心应用程序创建新的构建定义

1、选择BuildRelease选项卡和Builds

2、选择新建以创建新定义。

3、选择Projectrepositorybranch,然后单击继续

4、根据项目类型选择构建模板。我正在选择ASP.NET Core.NET Framework)并单击Apply按钮以获取构建定义。

5、选择Process任务并填写构建定义的名称(例如HelloWorld-Dev,我们将在发行版中使用此名称)。选择Hosted VS2017作为要运行构建的默认代理。

如果您的团队使用Visual Studio 2017,则选择Hosted VS2017,然后它具有.NET Core框架并需要其他组件来构建项目。如果您的团队在Ubuntu上使用开发工具,请选择Hosted Linux。如果您的团队使用Visual Studio 2013Visual Studio 2015,请选择Hosted

解决方案的路径或packages.config选择项目解决方案文件,并填写工件名称

6、选择获取源任务并检查正确的项目,存储库和分支。选择cleantrueclean选项:sources。标记来源:Nerver。报告:构建状态。

7、从阶段1中选择构建解决方案任务。选择Visual Studio版本:最新。MSBuild架构:选择适合您的X64X86

应用程序构建和捆绑Webpack

8、我们需要添加npm以安装我们项目中使用的所有包。要添加npm task,请单击阶段1右侧的(+)添加任务,然后选择包。查找并添加npm任务。现在拖放npm任务以在Build解决方案之前放置它。如果您使用Bower而不是npm,那么您需要添加Bower

现在选择npm任务并选择Command : install现在,对于使用package.json工作文件夹 ”,选择包含package.json文件的主项目的根文件夹。选择自定义注册表和身份验证注册表>要使用的注册表:我的.npmrc中的注册表; 高级>详细日志记录:已选中控制选项>已启用:已选中。

9、接下来,我们将需要PowerShell脚本任务来编译我们的客户端脚本。在这里,我们将使用web-pack安装webpack并编译JavaScripts。选择(+)添加任务,然后从Build部分查找PowerShell。将其添加到npm install构建解决方案任务中间的构建定义。

填写以下信息:

  • 显示名称:PowerShellScript
  • 类型:内联脚本
  • 内联脚本:
(Get-Item -Path ".\" -Verbose).FullName
$env:Path=[System.Environment]::GetEnvironmentVariable("Path","Machine")+";"+
[System.Environment]::GetEnvironmentVariable("Path","User")
Get-Command -CommandType Application -ErrorAction SilentlyContinue 
-Name webpack | Select-Object -ExpandProperty Definition | echo
npm install -g webpack --no-optional
node_modules\.bin\webpack -p

 

  • 高级>工作文件夹:web-app的根文件夹,其中包含webpack.config.js文件。
  • 标准错误失败:已选中
  • 控制选项:选中已启用&Continue on error
  • 运行此任务:仅当所有先前任务都成功时。

10、选择触发器选项卡,然后选择以下信息。

  • 启用持续集成
  • 构建正在进行时批量更改
  • 分支过滤器>类型:include & 分支规范:即devqamaster

11、选择选项选项卡,然后选择以下信息。

  • 新构建请求处理:已启用。
  • 自动链接此版本中的新工作:已启用。
  • 仅链接到添加到规范分支的工作>类型:包含分支规范:即开发。
  • 您还可以更改Build作业的默认值。

12、最后单击Savequeue> Save以保存构建定义。

现在我们有自动CI构建,如果您将代码更改提交到所选分支,那么您将看到以下输出....

创建新版本定义

1、转到构建和发布选项卡>“版本 >“新定义

注意:如果您已有现有版本,请选择加号(+)和创建版本定义

2、选择模板:IIS网站和SQL数据库部署

3、您将获得一个环境窗口。现在从属性更改环境名称

4、在Artifacts面板中,选择+ Add并选择ProjectSourceBuild Definition),Default versionSource别名。单击添加按钮。

5、单击闪电以触发持续部署,然后在右侧启用它。如果您希望在新版本的源工件可用时创建新版本,则需要它。单击添加按钮,然后选择类型和构建分支。

6、单击环境的闪电,然后:

  • 选择触发器:释放后
  • 工件过滤器:已启用
  • 选择+添加>工件名称(即HelloWorld-Artifact-Dev
  • 类型:包括构建分支:即开发构建标签:留空。

7、在浏览器的左侧,选择任务或从环境面板中选择任务(2个阶段,2个任务)。这些任务将执行您的部署过程。

8、现在选择任务>任务环境(例如HelloWorld-Dev-Env)并填写以下信息:

  • 配置类型:IIS网站
  • 操作:创建或更新
  • 网站名称: HelloWorldApp-Dev
  • 应用程序池>名称: HelloWorldApp-Dev
  • 单击添加绑定> ...按钮。将弹出添加绑定窗口并填充信息:
  • 协议:httphttps,端口:您的IIS分配端口(即543)和HostName:即helloWorldApp-dev.yourDomain.com

9、单击左侧的IIS Deployment,然后选择部署组。

10、选择IIS Web App管理并填写以下信息:

  • 物理路径:%SystemDrive%\inetpub\wwwroot\Dev\HelloWorldApp-Dev\
  • 物理路径验证:应用程序用户(传递)
  • .NET版本:v4.0
  • 托管管道模式:集成
  • 身份:选择您喜欢的identity

11、选择IIS Web App Deploy并选中Take App Offline

12、我没有使用SQL部署任务。因此,如果您不需要,可以禁用或删除任务。选择SQL部署并右键单击它以禁用所选任务删除所选任务

13、最后单击保存按钮以保存发布定义。

注意:不要忘记设置IIS配置。

 

原文地址:https://www.codeproject.com/Articles/1247166/Building-a-DevOps-CI-CD-Pipeline-for-ASP-NET-Core

추천

출처blog.csdn.net/mzl87/article/details/91966235