Ana içeriğe geç

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.