IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【Azure - App Service】如何使用Local Git(本地库)简易的部署代码到微软Azure云的App Services上 -> 正文阅读

[开发工具]【Azure - App Service】如何使用Local Git(本地库)简易的部署代码到微软Azure云的App Services上

前言

微软的Azure提供了多种持续集成和持续部署的方案。之前从客户手里接手了一个半吊子的项目,之前的团队不知道什么原因与客户终止了合作关系。客户的Web App 部署在微软的App Service上的,但是因为之前的项目是前端代码和后端代码放在一个代码库里的。不是很方便使用微软提供的CI/CD工具。所以之前的项目几乎都是手动部署,但是一直这么搞下去也不是办法,我们应该尽量帮客户节省开支以提现我们的重要性啊^_^。

如何理解Local Git(本地库)

在App Service 的Deploy Center中提供了多种部署方式,如下图所示:

而客户的代码是放在GitHub上的,但是给我们的权限有限无法直接在GitHub上配置相关的Action。所以我们推荐给客户使用Local Git的方式来部署以减少不必要的重复劳动。

那么什么是Local Git呢??其实这个local相对的是Azure App Service 本身来说的。也就是说这个Local相对于App Service 本身来说,并不是我们自己电脑上,这对初学者来说容易混淆。我一开始的时候也被他搞的一脸懵逼。

来看看下面这个图就容易理解了。下面的图显示了各种方式下我们代码的提交路径。

其中第一种就是Local Git方式部署,也就是App Service可以提供一个Git Server端。当我们想进行部署的时候,需要先将我们的代码提交到这个叫“Local Git” Git Server上,然后会触发App Service的build/deploy。

一般情况下,我们提完代码,pia~~ 部署就算完事了,因为Azure会负责后续的打包和部署,甚至是重启服务。但是这种方便的背后是要满足一定条件的,也就是要按照Azure的规则来。这就是如一开始所说的,客户之前的团队没有把前后端的工程分开不方便部署的原因。

至于要满足什么样的条件才能使用这种方式部署,可以参考下面的表格或者MSDN文章

?当然我们也可以使用.deployment文件来定制化部署。这个比较复杂而且要花大量时间去调试,我们暂时没有采用,感兴趣的童鞋可以参考下面的链接:

1. Customizing deployments

2.?Custom Deployment Script

好了废话不多说,我们来看看如何使用Local Git这种方式来部署。 由于客户使用的是.net core来开发的应用程序,所以下面的示范都是基于.net core的。

使用Local Git的步骤

1. 连接到Azure的本地库

打开Azure的页面 https://portal.azure.com/ 找到对应的App Service

?单击该App Service, 然后点击左侧导航条上的Deploy Center, Settings Tab上选中Local Git

?然后点击Save,保存设置。

?然后如下图所示,点击下面的Copy按钮把“Git Clone Url"保存起来,以供后面使用。

2. 在工作目录里添加Azure的库

在你的工作电脑上打开cmd/powershell/git bash,然后CD到工作目录。执行下面的代码来把Local Git的服务器地址添加到本地代码库中。点击此处获取更多信息。

git remote add azuredev <Git Clone Uri>

Git Clone Uri: 在上一步中生成的Url

azuredev: 在本地代码库中的名字,比如Dev可以叫azuredev, Prod可以叫azureprod

默认情况下App Service会拉取Local Git中的master分支进行打包和部署。如果想修改这一默认值可以参考下面的链接:
https://docs.microsoft.com/en-us/azure/app-service/deploy-local-git?tabs=cli

3. 推送代码

在提交代码到Azure之前先要在自己开发机本地提交。然后执行下面的命令推送代码到Azure上(如果你恰好是工作在master分支上的话)。

git push azuredev master



# azuredev 是在第2步中设置的
# 如果正好在master分支上开发,使用上面的命令就可以了
# 如果在其它分支上开发,比如dev 那么可以使用下面的命令来推送到azure上


# git push azuredev dev:master



# 可以使用 --force 参数来强制覆盖Azure上的代码


# git push azuredev master --force

# 或者

# git push azuredev dev:master --force

如果是第一次推送,会弹出让你输入用户名密码的窗口。我们可以使用App Scope和User Scope的用户名密码。

我们可以去如下的位置获取对于的用户名密码:

?Application Scope的用户密码是系统生成的无法手动修改,但是可以点击Reset来重置。

User Scope的用户名密码可以用户自己设置,如果不希望你的密码在使用过程中被人修改,可以使用User Scope的用户名密码。

然后我们就可以从CMD窗口里看到服务端的build&deploy过程:

总结

本文简单的总结了Azure App Service 上的各种部署方式,以及如何使用Local Git方式推送代码的三个步骤。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:17:48  更:2022-04-01 00:18:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:45:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码