Ana içeriğe atla

Github Actions ile .Net Core Uygulamasını FTP ile Publish Etmek



Github Actions'a Kısa Bir Bakış

Github Actions ile yazılım geliştirme iş akışlarınızı doğrudan deponuzdan otomatikleştirmeyi, özelleştirmeyi sağlayan bir yapı. CI / CD dahil olmak üzere istediğiniz herhangi bir işi gerçekleştirmek için eylemleri keşfedebilir, oluşturabilir ve paylaşabilir ve eylemleri tamamen özelleştirilmiş bir iş akışında birleştirebilirsiniz. 

Github Actions Limitler

  • Free hesaplar için 2000 dk
  • Pro hesaplar için 3000 dk
  • Enterprice hesaplar için 50.000 dk

.Net Core Uygulamasını Github Actions FTP ile Publish Etmek

DotNet Core uygulamalarını publish almak bunu eğer başka bir erişiminiz yoksa ftp ile publish etmek yorucu olabiliyor. DotNet publish sürecini Github actions ile kolaylaştırabilir. İş süreçlerinizi kısaltabilirsiniz. Gelelim bunu nasıl yapacağımıza.

dotnet.yml dosyamızı .github/workflows/dotnet.yml klasöründe repomuzda oluşturuyoruz. İstersek her pull requestte aktif olmasını sağlayabiliriz. Böylece her committe actions çalışmaz. 

name: .NET

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-18.04

    steps:
      - uses: actions/checkout@v2
      - name: Setup .NET
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: 3.1.401
      - name: Restore dependencies
        run: dotnet restore
      - name: Build
        run: dotnet build --no-restore
      - name: Publish
        run: dotnet publish -c Release ProjeAdi.sln
      - name: FTP Deploy
        uses: SamKirkland/FTP-Deploy-Action@4.0.0
        with:
          # protocol://domain.com:port/full/destination/path/
          server: ${{ secrets.server }}
          username: ${{ secrets.username }}
          password: ${{ secrets.password }}
          port: 21
          local-dir: /home/runner/work/githubrepoadiniz/githubrepoadiniz/WebApi/bin/Release/netcoreapp3.1/publish/
          state-name: dosyayolu/ftp-deploy-sync-state.json


Önemli Noktalar: 
ProjeAdi.sln Projenizin adını yazmalısınız. 
secrets.server bölümü ise github/settings/secrets bölümünden girmelisiniz. 
Ftp Upload için secreti ayarladıktan sonra normalde publish aldığınız dosya yolu neyse github repo adınızı değiştirerek güncellemeniz gerekecektir.
state-name ise sürekli aynı dosyaları silip yüklememek için var. Bu dosya yolunu da ftp de istediğiniz bir yere koyabilirsiniz.


 

Yorumlar