ディレクトリ
シングルチップ・アーキテクチャとマイクロアーキテクチャのサービス
VSTSのコアASP.NETアプリケーションを使用してCIの自動化
ASP.NETのコアアプリケーションのための新しいビルド定義を作成します。
入門
ベースのウェブアプリケーションでは、私たちの仕事を容易にします。特に、ときに我々が必要とする画面間の相互作用は、我々は、単一ページのアプリケーション(検討することができSPA )。SPA 、我々はする必要があるかもしれませんウェブパックや作男や飲み込むマージと私たちのクライアントスクリプトを束ねるように。基本を見るにはここをクリックしてください。我々が使用するものとASP.NETコアを、そして私たちが使用する必要がありますNPM か亭や糸、我々はパッケージを回復し、我々のアプリケーションをコンパイルすることができるように、パッケージを管理することなどを、。しかし、あなたが自動的にされていない場合、CI / CD 。そして、単一ページのアプリケーションの最初の展開も非常に困難です。この記事では、私の主な焦点は、どのように使用するかを示すことですVSTSをあなたのためのASP.NET ビルドを作成し、コアアプリケーションをリリースします。
トピックカバー
- シングルチップ・アーキテクチャとマイクロアーキテクチャのサービス
- アジャイルやDevOpsチーム
- 継続的インテグレーション
- 連続配信
- 継続的デプロイ
- 使用VSTSのプロジェクトを作成します
- 新しいビルド定義を作成します。
- WebPACKのバンドルされたスクリプト
- 新しいバージョン定義を作成します。
私たちは、基本的な概念を理解してみましょう
シングルチップ・アーキテクチャとマイクロアーキテクチャのサービス
1時、シングルチップ・アーキテクチャが一般的である、ウォーターフォールモデルは非常に人気があります。この方法では、すべてのものは、主要なプロジェクト、すなわち、構造およびシーケンシャルプロセスと考えられています。さて、それは小さな断片に分解され、反復的です。はい、私はマイクロサービスアーキテクチャとアジャイル方法論を意味します。
アジャイルやDevOpsチーム
私たちは、それがアジャイル開発手法である知っています。DevOpsチーム言葉が急速に広がっている、それは生産支援に開発に焦点を当てています。これは、ソフトウェア開発と操作の組み合わせであると言うことができます。
DevOpsチームの背後にある駆動力
我々はについて話すときDevOpsチーム用語が多いときに発生します:
- 継続的インテグレーション(CI )
- 連続配信(CD )
- 継続的デプロイ(CD )
継続的インテグレーション
日に数回は、開発者がチェックイン/ 共有リポジトリ(に提出し、コードのGit 、チーム基礎バージョン管理、など)、および合併後、このコードは、自動的に自動テストをビルドして実行します。
連続配信
コードの統合後、ビルドとテストコード。今では、ステージング環境(非製品試験)や生産にコードをプッシュする準備ができているが、あなたは手動で承認者にプッシュする必要があります。
継続的デプロイ
コードの統合後、ビルドとテストコード。今、何の承認がない、それは自動的に一時的な環境(非生産試験)や生産にプッシュされます。
使用VSTSをASP.NETのコアオートメーションアプリケーションCI
前提
あなたは必要なのVisual Studio Team ServicesのアカウントとGitのアカウントを。それは違うのですか?あなたは、から選択することができますhttps://www.visualstudio.comとhttps://github.com新しい無料のアカウントを作成します。
使用VSTSは、チームプロジェクトを作成します
1、選択したプロジェクト> 新規プロジェクトを。
2、プロジェクト名を提供し、プロジェクトのための正しいバージョン管理を選択GitのかTFVCを。作業項目のワークフローを選択します。クリックして「作成」プロジェクトを作成するには、ボタンを。
3、クリックのVisual Studio クローンを。
4、VS IDEには、ウィンドウをポップアップ表示されます。クリックして、「クローン」ボタンを。
5. [ チームエクスプローラーは、[OK]をクリックします「新規プロジェクトまたはソリューションを作成します」。
创建项目后,您需要提交所有更改。单击团队资源管理器>更改。填写更改注释,然后单击“全部提交”。
6、单击“同步”以同步代码。
7、最后,单击Publish(Outgoing Commits> Publish)。
为ASP.NET核心应用程序创建新的构建定义
1、选择Build&Release选项卡和Builds。
2、选择“新建”以创建新定义。
3、选择Project,repository,branch,然后单击继续。
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 2013或Visual Studio 2015,请选择Hosted。
为 “解决方案的路径或packages.config”选择项目解决方案文件,并填写工件名称。
6、选择获取源任务并检查正确的项目,存储库和分支。选择clean:true和clean选项:sources。标记来源:Nerver。报告:构建状态。
7、从阶段1中选择构建解决方案任务。选择Visual Studio版本:最新。MSBuild架构:选择适合您的X64或X86。
应用程序构建和捆绑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 & 分支规范:即dev或qa或master
11、选择选项选项卡,然后选择以下信息。
- 新构建请求处理:已启用。
- 自动链接此版本中的新工作:已启用。
- 仅链接到添加到规范分支的工作>类型:包含; 分支规范:即开发。
- 您还可以更改Build作业的默认值。
12、最后单击Save&queue> Save以保存构建定义。
现在我们有自动CI构建,如果您将代码更改提交到所选分支,那么您将看到以下输出....
创建新版本定义
1、转到“构建和发布”选项卡>“版本” >“新定义”。
注意:如果您已有现有版本,请选择加号(+)和创建版本定义。
2、选择模板:IIS网站和SQL数据库部署。
3、您将获得一个环境窗口。现在从属性更改环境名称。
4、在Artifacts面板中,选择+ Add并选择Project,Source(Build Definition),Default version和Source别名。单击“添加”按钮。
5、单击闪电以触发持续部署,然后在右侧启用它。如果您希望在新版本的源工件可用时创建新版本,则需要它。单击“添加”按钮,然后选择“类型和构建”分支。
6、单击环境的闪电,然后:
- 选择触发器:释放后
- 工件过滤器:已启用
- 选择+添加>工件名称(即HelloWorld-Artifact-Dev)
- 类型:包括; 构建分支:即开发; 构建标签:留空。
7、在浏览器的左侧,选择任务或从“环境”面板中选择任务(2个阶段,2个任务)。这些任务将执行您的部署过程。
8、现在选择任务>任务环境(例如HelloWorld-Dev-Env)并填写以下信息:
- 配置类型:IIS网站
- 操作:创建或更新
- 网站名称: HelloWorldApp-Dev
- 应用程序池>名称: HelloWorldApp-Dev
- 单击添加绑定> ...按钮。将弹出添加绑定窗口并填充信息:
- 协议:http或https,端口:您的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