用于将 ASP.NET MVC 6 网站部署到 Azure 的脚本
Script for deploying ASP.NET MVC 6 website to Azure
我正在寻找一个脚本(例如 PowerShell)来将 ASP.NET 5 / MVC 6 应用程序部署到 Azure 网站。理想情况下,它将是构建项目并将其部署到 Azure 的单个脚本。
我还想 运行 Entity Framework 7 次迁移并在脚本中做一些自定义 JavaScript minification/bundling。
如果你们有任何关于如何实现这一点的想法,我将不胜感激,谢谢!
您可以同时使用 PowerShell 和 Visual Studio Team Services 在 Azure 中自动部署您的 Web 应用程序。
例如,可以创建一个工作流来执行一些 PowerShell 脚本,该脚本执行 DNU 还原、代码迁移,然后在源代码存储库上完成提交后立即发布 Web 应用程序。
我认为以下文章会对您有所帮助:https://msdn.microsoft.com/en-us/Library/vs/alm/Build/azure/deploy-aspnet5
希望这对您有所帮助,
朱利安
我们先分开话题。
要将 Web 应用程序部署到 Azure,为什么不使用 Continuous Integration?如果您 link 带有存储库的 Web 应用程序,您可以选择一个分支,每次推送到该分支时,它都会部署在 Azure 上。
您可以更进一步配置部署槽(特别是暂存槽)并配置自动交换以减少冷启动。
对于 Javascript 缩小,您可以只将 Gulp/Grunt 用于任务, 运行 在您的开发环境中(并且您将缩小的输出提交给您的存储库)或者您可以运行 任务作为 "postrestore" 操作定义在您的 project.json file 中。一个简单的:
{
"scripts": {
"postrestore": ["npm install", "bower install","gulp default"]
}
}
将通过拉取您定义的 bower 包然后 运行 设置默认的 gulp 任务来达到目的。
您的默认 gulp 任务可以是这样的:
var gulp = require('gulp');
var mainBowerFiles = require('main-bower-files');
var bower = require('gulp-bower');
var uglify = require('gulp-uglify');
var ignore = require('gulp-ignore');
var del = require('del');
var project = require('./project.json');
var lib = project.webroot + '/dist';
gulp.task('clean',function(done){
del(lib, done);
});
gulp.task('bower:install', ['clean'], function () {
return bower();
});
gulp.task('default', ['bower:install'], function () {
return gulp.src(mainBowerFiles())
.pipe(ignore.exclude([ "**/*.css","**/*.less" ]))
.pipe(uglify())
.pipe(gulp.dest(lib+'/js'));
});
我正在寻找一个脚本(例如 PowerShell)来将 ASP.NET 5 / MVC 6 应用程序部署到 Azure 网站。理想情况下,它将是构建项目并将其部署到 Azure 的单个脚本。
我还想 运行 Entity Framework 7 次迁移并在脚本中做一些自定义 JavaScript minification/bundling。
如果你们有任何关于如何实现这一点的想法,我将不胜感激,谢谢!
您可以同时使用 PowerShell 和 Visual Studio Team Services 在 Azure 中自动部署您的 Web 应用程序。
例如,可以创建一个工作流来执行一些 PowerShell 脚本,该脚本执行 DNU 还原、代码迁移,然后在源代码存储库上完成提交后立即发布 Web 应用程序。
我认为以下文章会对您有所帮助:https://msdn.microsoft.com/en-us/Library/vs/alm/Build/azure/deploy-aspnet5
希望这对您有所帮助,
朱利安
我们先分开话题。
要将 Web 应用程序部署到 Azure,为什么不使用 Continuous Integration?如果您 link 带有存储库的 Web 应用程序,您可以选择一个分支,每次推送到该分支时,它都会部署在 Azure 上。
您可以更进一步配置部署槽(特别是暂存槽)并配置自动交换以减少冷启动。
对于 Javascript 缩小,您可以只将 Gulp/Grunt 用于任务, 运行 在您的开发环境中(并且您将缩小的输出提交给您的存储库)或者您可以运行 任务作为 "postrestore" 操作定义在您的 project.json file 中。一个简单的:
{
"scripts": {
"postrestore": ["npm install", "bower install","gulp default"]
}
}
将通过拉取您定义的 bower 包然后 运行 设置默认的 gulp 任务来达到目的。
您的默认 gulp 任务可以是这样的:
var gulp = require('gulp');
var mainBowerFiles = require('main-bower-files');
var bower = require('gulp-bower');
var uglify = require('gulp-uglify');
var ignore = require('gulp-ignore');
var del = require('del');
var project = require('./project.json');
var lib = project.webroot + '/dist';
gulp.task('clean',function(done){
del(lib, done);
});
gulp.task('bower:install', ['clean'], function () {
return bower();
});
gulp.task('default', ['bower:install'], function () {
return gulp.src(mainBowerFiles())
.pipe(ignore.exclude([ "**/*.css","**/*.less" ]))
.pipe(uglify())
.pipe(gulp.dest(lib+'/js'));
});