首页服务器云服务器上如何通过配置vsts提高效率?(不会就问群英客服,很快给我解决了)

云服务器上如何通过配置vsts提高效率?(不会就问群英客服,很快给我解决了)

时间2024-03-21 20:08:03发布访客分类服务器浏览613
导读:在这篇文章中我们将学习“云服务器上如何通过配置vsts提高效率?(不会就问客服,很快给我解决了)”的相关知识,下文有详细的介绍及实例,步骤过程清晰,简单易懂,小编觉得挺不错的,有需要的朋友可以借鉴参考,希望大家阅读完这篇能有所获。...
在这篇文章中我们将学习“云服务器上如何通过配置vsts提高效率?(不会就问客服,很快给我解决了)”的相关知识,下文有详细的介绍及实例,步骤过程清晰,简单易懂,小编觉得挺不错的,有需要的朋友可以借鉴参考,希望大家阅读完这篇能有所获。

持续集成交付部署是什么意思,它给我们带来什么好处? 先贴一张图 持续集成(Continuous Integration)
  • 持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试(这个要看情况了是否需要)
持续交付(Continuous Delivery)
  • 持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。
持续部署(Continuous Deployment)
  • 持续部署则是在持续交付的基础上,把部署到生产环境的过程自动化。
更多概念请参考 https://link.zhihu.com/?target=http%3A//www.mindtheproduct.com/2016/02/what-the-hell-are-ci-cd-and-devops-a-cheatsheet-for-the-rest-of-us/ 减少重复劳动 提高效率 jenkins大家都知道吧,但今天我们用微软的vsts来定制个性化定制持续集成交付(个人或者小团队我建议用vsts 也不用自己安装jenkins环境了 直接用vsts在线系统很方便) 用到的资源有:
  1. 腾讯云服务器ubuntu一台(自己先安装好docker哈)
  2. vsts创建一个git(有微软账号就能免费创建,=5人团队是免费使用的,对于敏捷团队绰绰有余啦) https://www.visualstudio.com/zh-hans/team-services/
   一步步看图 第一步 在vsts创建一个工程 创建git用户 然后用git工具clone到本地 我习惯用Sourcetree 大家可以用自己习惯的方式 如果提示输入密码就输入上面创建的用户名和密码 第二步创建一个实验工程 这里我们创建一个非常简单的console webapplication 安装nuget包 这里注意一点:我这里写死了 用 5001端口 注意我用的是 *:5001 没有用 localhost:5001 如果用这个方式的话 部署docker上会访问不了 确认可以跑起来 然后git提交代码到master分支 第三步我们来配置vsts 先配置第一部分 一有代码提交到master分支 就自动编译 打包 【CI部分】 选择 ASP.NET Core 会默认有以下Task 一定要注意选择linux环境编译 Test我们暂时不需要就Remove掉 由于我们不是web project 配置触发器 (意思就是一有代码提交打master分支[可以指定特定分支]就会触发CI) 尝试跑一下 CI正常完成 到此CI配置工作已完成 接下来我想要完成自动 发布到我的腾讯云服务器 在服务器上把发布的文件打包并生成一个image 然后用这个image生成一个Container 并启动 第四部我们配置Release Sourece alias 这个大家可以修改成名字短一点 执行Release发布的时候会把之前CI public的东西download然后放在命名为 Source alisa文件夹内 我改成 _test_netcore-docker 接下来来配置环境 大家可以根据实际情况配置多个环境 比如 集成测试环境 和 prod环境 我这里就只配置一个prod环境 由于我们是发布到腾讯云服务器 所以在这里选择 Empt process 且命名为prod 接下来要配置 Release 操作的 Task 我们添加SSH 目的是用SSH 链接到 腾讯云服务器 然后 把发布的文件通过SSH传输到我的服务器 得先配置SSH无密码登录 按照提示进行配置 配置好后 Source folder 输入我们之前配置的别名 _test_netcore-docker 最终如下 然后再添加SSH执行命令工具 unzip -q site/drop/ TestDotnetcore.zip -d site/drop/ 发布的文件是zip的 通过这个命令解压zip TestDotnetcore.zip是我查看发布的日志找到的这个名字目前我还没有找到变量可以代替> sudo rm -rf site/drop/*.zip 解压完成后删除掉 touch site/drop/Dockerfile 生成一个dockerfile echo "FROM microsoft/aspnetcore:2.0" > > site/drop/Dockerfile echo命令是往创建的dockerfile里面写入内容 echo "COPY . /publish" > > site/drop/Dockerfile echo "WORKDIR /publish" > > site/drop/Dockerfile echo "EXPOSE 5001" > > site/drop/Dockerfile echo "CMD [\"dotnet\", \"TestDotnetcore.dll\"]" > > site/drop/Dockerfile sudo docker build --rm -t test_image -f site/drop/Dockerfile site/drop/ 创建一个image 名字叫 test_image sudo docker ps -q --filter "name=test_netcore" | grep -q . & & sudo docker rm -f test_netcore || true 查看是否有没有叫 test_netcore的容器有没有在runing 如果有就干掉它 sudo docker run --name test_netcore -d -p 5001:5001 test_image:latest 根据test_image启动一个名字叫test_netcore的容器 if sudo docker images -f "dangling=true" | grep ago --quiet; then sudo docker rmi -f $(sudo docker images -f "dangling=true" -q); fi 查看是否有none> 的image 把它删掉 因为我们创建image的时候每次都会覆盖所以会产生一些没有的image sudo docker images -f "dangling=true" | grep -q . & & sudo docker rmi -f $(sudo docker images -f "dangling=true" -q) sudo rm -rf site/drop 都ok了就删掉drop目录 以上一切准备好 提交一个commit到master试试 会自动触发CI 进行 编译 发布 接下来Release发布 发布打包的成果物在这里查看 发布成功 查看下docker image 已经成功创建了test_image这个镜像 容器是也跑成功了 验证一下 完美!!!不管你用的是腾讯云还是阿里云还是其他云都是可以的! 遗留问题: TestDotnetcore.zip是我查看发布的日志找到的这个名字目前我还没有找到变量可以代替 有谁知道帮忙教育下!
以上就是关于“云服务器上如何通过配置vsts提高效率?(不会就问客服,很快给我解决了)”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注网络,小编每天都会为大家更新不同的知识。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

云服务器

若转载请注明出处: 云服务器上如何通过配置vsts提高效率?(不会就问群英客服,很快给我解决了)
本文地址: https://pptw.com/jishu/649521.html
SSH如何通过公钥连接云服务器? 我为什么选择云服务器而不选择关系型数据库服务?

游客 回复需填写必要信息