Module Worker Ekleme¶
- İlgili modulun source klasörü altında cmd açılır ve aşağıdaki komut çalıştırlır.
dotnet new worker -o Alpata.YeniModul.Worker
- Oluşan dosyaların içine apiden NuGet.Config kopyalanır.
- Source klasörü altındaki Dockerfile yine Source klasörü altına ismi Dockerfile.Worker olucak şekilde kopyanır ve Dosya içindeki api olan kısım worker olarak değiştirilir
FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /app
COPY ./Alpha.YeniModul.Worker/bin/Release/net7.0/publish .
RUN sed -i '/^ssl_conf = ssl_sect$/s/^/#/' /etc/ssl/openssl.cnf
ENTRYPOINT ["dotnet", "Alpha.YeniModul.Api.dll"]
- .gitlab klasörür altındaki .gitlab-ci-test.yml dosyasına da docker-build-push-worker eklenir dosyanın son hali
variables:
GITHUB_URL: Alpata/Alpha.YeniModul.git
WEB_PATH: Source/Alpha.YeniModul.Web
REGISTRY_NAME: root/alpha-yenimodul
MODEL_NAME: Alpha.YeniModul.Model
VERSION_PRE: "7.0"
docker-build-push-worker:
stage: docker-build-push
before_script:
# - "docker login -u root -p FTW9rkm2oxrWsx9nxciQ $CI_REGISTRY"
- "docker login -u root -p FTW9rkm2oxrWsx9nxciQ $HARBOR_URL"
script:
- cd Source
- dotnet restore --configfile ./*Worker/NuGet.Config
- dotnet publish ./*.Worker/*.Worker.csproj -c Release --no-restore
- "docker build -t $CI_REGISTRY/$REGISTRY_NAME/worker:test . "
- "docker tag $CI_REGISTRY/$REGISTRY_NAME/worker:test $CI_REGISTRY/$REGISTRY_NAME/worker:$CI_PIPELINE_IID"
- "docker tag $CI_REGISTRY/$REGISTRY_NAME/worker:test $HARBOR_URL/$REGISTRY_NAME/worker:$CI_PIPELINE_IID"
- "docker tag $CI_REGISTRY/$REGISTRY_NAME/worker:test $HARBOR_URL/$REGISTRY_NAME/worker:test"
- "docker push $HARBOR_URL/$REGISTRY_NAME/worker:test"
# - "docker push $CI_REGISTRY/$REGISTRY_NAME/worker:test"
# - "docker push $HARBOR_URL/$REGISTRY_NAME/worker:$CI_PIPELINE_IID"
include:
- 'https://gitlab.alpatateknoloji.com/root/check/-/raw/main/.gitlab-nuget/.gitlab-ci-test.yml'
- 'https://gitlab.alpatateknoloji.com/root/check/-/raw/main/.gitlab/.gitlab-ci-test.yml'
- şeklide olur ve test e commit atılır
- build tamamlandıktan sonra oluşan image api gibi kullanılabilir.