因为爱情 下载,招商手册文案,幻灵游侠论坛
前一篇,介绍了asp.net core部署到k8s上,下面介绍我们在发布新一版本中怎么通过gitlab ci自动给镜像打版本并部署到k8s上.
不废话,先上代码:
stages: - build - test - package - deploy - release build: stage: build script: - cd deploy.api - dotnet build test: stage: test script: - dotnet restore - dotnet build - cd minicover - dotnet restore - dotnet minicover instrument --workdir ../ --assemblies deploy.api.unittests/bin/**/*.dll --sources deploy.api/**/*.cs - dotnet minicover reset - cd .. - dotnet test --no-build deploy.api.unittests/deploy.api.unittests.csproj - cd minicover - dotnet minicover report --workdir ../ --threshold 10 - dotnet minicover uninstrument --workdir ../ package: stage: package script: - cd deploy.api - docker build -t deploy:test . #- docker login --username $aliyun_name --password $aliyun_token registry.cn-hangzhou.aliyuncs.com #阿里云仓库 #- docker tag deploy:test registry.cn-hangzhou.aliyuncs.com/windows_evan/deploy:test #- docker push registry.cn-hangzhou.aliyuncs.com/windows_evan/deploy:test - docker login --username=evan --password pwd123456 192.168.0.203 #私有仓库harbor - docker tag deploy:test 192.168.0.203/myproject/deploy:test - docker push 192.168.0.203/myproject/deploy:test deploy: stage: deploy script: - if [ $(docker ps -aq --filter name=userapi) ]; then docker rm -f userapi;fi #- docker run -d -p 8003:80 --link db-mysql --network net_db --name userapi registry.cn-hangzhou.aliyuncs.com/windows_evan/deploy:test - docker run -d -p 8003:80 --link db-mysql --network net_db --name userapi 192.168.0.203/myproject/deploy:test release: stage: release script: - cd deploy.api - sed -i 's/deploy:test/deploy:'$ci_commit_tag'/g' deploy.yaml - cat deploy.yaml - kubectl apply -f deploy.yaml only: - tags package-release: stage: package script: - cd deploy.api - docker build -t deploy:$ci_commit_tag . - docker login --username=evan --password pwd123456 192.168.0.203 - docker tag deploy:$ci_commit_tag 192.168.0.203/myproject/deploy:$ci_commit_tag - docker push 192.168.0.203/myproject/deploy:$ci_commit_tag only: - tags
上面的.gitlab-ci.yml 可以看到平常开发人员提交代码先 build , test , package (tag:test) , deploy (docker) ,只有给项目创建tags才会执行package-release , release , 我们通过 sed 命令修改deploy.yaml文件里的test版本.
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论