持续集成(Continuous Integration)
创建git用户
然后用git工具clone到本地 我习惯用Sourcetree 大家可以用自己习惯的方式 如果提示输入密码就输入上面创建的用户名和密码
第二步创建一个实验工程 这里我们创建一个非常简单的console webapplication
安装nuget包
确认可以跑起来
然后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提高效率?(不会就问群英客服,很快给我解决了)”的文章就介绍到这了,更多相关内容请搜索群英网络以前的文章或继续浏览下面的相关文章,希望大家以后多多支持群英网络!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理