我是Gitlab上CI / CD的新手,希望为填补包含多个.NET Core项目的Visual Studio解决方案建立管道方面的空白提供帮助。
我希望这样的过程:
到目前为止,这是我为.gitlab-ci.yml文件整理的内容,但是我不确定这是正确的还是下一步要做什么?
stages:
- build
- publish
build:
stage: build
image: mcr.microsoft.com/dotnet/core/sdk:3.1-buster
only:
- master
script:
- cd $PROJECT_NAME
- dotnet restore
- dotnet build -c Release
- dotnet publish -c Release
artifacts:
paths:
- ./bin/Release/netcoreapp3.1/publish/*
expire_in: 1 week
tags:
- docker
publish:
stage: publish
image: docker:stable
services:
- docker:dind
only:
- master
before_script:
- docker login registry.gitlab.com -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
script:
- docker build -t $CI_REGISTRY/$PROJECT_NAME .
- docker push $CI_REGISTRY/$PROJECT_NAME
after_script:
- docker logout $CI_REGISTRY
- curl -H "Authorization: Bearer $WEBHOOK_ACCESS_TOKEN" $WEBHOOK_URL
tags:
- docker
任何指针将不胜感激。
谢谢。