<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های معین شیخ هادی</title><link>https://virgool.ir/feed/@mosha.dnd</link><description>🚀🚀passionate .NET developer🚀🚀</description><language>fa</language><pubDate>2026-11-11 12:31:44</pubDate><image><url>https://files.virgool.ir/upload/users/3340998/avatar/sv1nhh.jpg</url><title>معین شیخ هادی</title><link>https://virgool.ir/@mosha.dnd</link></image><item><title>پابلیش پروژه های Blazor WebAssembly بر روی GitHub Pages</title><link>https://virgool.ir/@mosha.dnd/پابلیش-پروژه-های-blazor-webassembly-بر-روی-github-pages-dlwrqhxmqttc</link><description>سلام و درود بر همه دوستان جاندر این مقاله قصد داریم که پروژه های Blazor خودمون رو بر روی GitHub پابلیش کنیم.اگر شما هم به دنبال فضای رایگان برای هاست پروژه های Blazor برای تست یا دموی کار ها یا مواردی مثل ساخت رزومه برای خود میگردید این آموزش برای شماست  ‍‍:) 🚀🚀🚀🚀🚀🚀🚀🚀مرحله 1 : ساخت برنچ خالی در ریپازیتوری برای این کار بیش از یک روش وجود دارد ، اما ما در اینجا از گیت CLI استفاده میکنیم.حتما قبل از شروع اگر پروژه خود را بر روی گیت هاب نگذاشته اید این کار را حتما انجام دهید.ابتدا مطمعا شوید که git cli بر روی سیستم شما نصب است ، این کار را میتوانید با اجرای دستور زیر در cmd ویندوز انجام دهید.سپس وارد پوشه ریپازیتوری مدنظر شوید.حتما ، حتما ، حتما ، مطمعا شوید ویژوال استدیو یا هر نرم افزاری که از فایل های این دایرکتوری استفاده میکنند بسته باشند ، در غیر این صورت  عملیات با شکست مواجه میشود.حالا در نوار بالا عبارت cmd را بنویسید و enter را بزنید تا cmd باز شود.مجدد تاکید میشود :حتما ، حتما ، حتما ، مطمعا شوید ویژوال استدیو یا هر نرم افزاری که از فایل های این دایرکتوری استفاده میکنند  بسته باشند ، در غیر این صورت عملیات با شکست مواجه میشود.حال دستور های زیر را در cmd وارد نمایید :ساخت برنچ جدید از روی برنچ مستر :git checkout --orphan gh-pageخالی کردن برنچ :git rm -rf .کامیت و نهایی کردن ساخت برنچ :git commit --allow-empty -m &#34;root commit&#34;پوش کردن برنچ در GitHub :git push origin gh-pageبازگشت به برنچ مستر :git checkout masterمرحله 2 : اصلاح تنظیمات گیت هابابتدا وارد بخش تنظیمات ( Settings ) شوید و سپس از منوی سمت چپ وارد بخش پیج  (pages) شده و برنچ  (Branch) بر روی gh-page قرار دهید .همچنین دقت کنید که Source با مقدار  &#39;Deploy from a branch &#39; پر شده باشد.سپس از همان منوی سمت چپ وارد بخش اکشن ها (Actions) زیر منوی جنرال (General) شده .سپس به پایین صفحه آمده و تیک Read and write permissions را بزنید ، سپس آن را ‌ ذخیره (Save) کنید.مرحله 3 : ایجاد GitHub Actionsابتدا مانند عکس زیر مجددا به برنچ مستر بازگردید.سپس به قسمت Actions رفته و گزینه New Workflows را بزنید.حال گزینه set up a workflow yourself  را انتخاب کنید.حال در صفحه باز شده کد های زیر را اضافه کنید :انتخاب نام برای عملیاتname: Deploy to GitHub Pagesمشخص کردن ایونتی که باعث شروع عملیات میشودon:&#xA;  push:&#xA;    branches: [ master ]مشخص کردن ایمیجی که وظیفه بیلد و پابلیش کد را دارد jobs:&#xA;  deploy-to-github-pages:&#xA; # use ubuntu-latest image to run steps on&#xA;    runs-on: ubuntu-latest&#xA;    steps:نصب git برای کامیت کردن پابلیش بر روی برنچ gh-page    # uses GitHub&#39;s checkout action to checkout code form the master branch&#xA;    - uses: actions/checkout@v4.1.7نصب .net sdk 8 برای پابلیش کد ها :نکته : ورژن را متناسب با دات نت خود تقییر دهید    # sets up .NET Core SDK 8.0&#xA;    - name: Setup .NET Core SDK&#xA;      uses: actions/setup-dotnet@v4.0.0&#xA;      with:&#xA;        dotnet-version: 8.0پابلیش پروژه بجای Project-Name نام پروژه خود را بگذارید    # publishes Blazor project to the release-folder&#xA;    - name: Publish .NET Core Project&#xA;      run: dotnet publish Project-Name/Project-Name.csproj -c Release -o release --nologoاصلاح روتینگ بلیزر برای کارکردن در GitHub Pageبجای Project-Name نام پروژه خود را بگذارید    # changes the base-tag in index.html from &#39;/&#39; to &#39;BlazorGitHubPagesDemo&#39; to match GitHub Pages repository subdirectory&#xA;    - name: Change base-tag in index.html from / to BlazorGitHubPagesDemo&#xA;      run: sed -i &#39;s/&lt;base href=&#34;\/&#34; \/&gt;/&lt;base href=&#34;\/Project-Name\/&#34; \/&gt;/g&#39; release/wwwroot/index.htmlایجاد صفحه 404 با محتویات صفحه index.htm    # copy index.html to 404.html to serve the same file when a file is not found&#xA;    - name: copy index.html to 404.html&#xA;      run: cp release/wwwroot/index.html release/wwwroot/404.htmlایجاد فایل .nojekyll  برای اینکه jekyll در فرایند مسیر یابی اختلال ایجاد نکند    # add .nojekyll file to tell GitHub pages to not treat this as a Jekyll project. (Allow files and folders starting with an underscore)&#xA;    - name: Add .nojekyll file&#xA;      run: touch release/wwwroot/.nojekyll      و در نهایت پوش کردن فایل های پابلیش شده به برنچ gh-page    - name: Commit wwwroot to GitHub Pages&#xA;      uses: JamesIves/github-pages-deploy-action@3.7.1&#xA;      with:&#xA;        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}&#xA;        BRANCH: gh-page&#xA;        FOLDER: release/wwwrootدر نهایت فایل main.yml شما باید اینگونه باشد: &#xA;name: Deploy to GitHub Pages&#xA;# Run workflow on every push to the master branch&#xA;on:&#xA;  push:&#xA;    branches: [ master ]&#xA;&#xA;jobs:&#xA;  deploy-to-github-pages:&#xA;    # use ubuntu-latest image to run steps on&#xA;    runs-on: ubuntu-latest&#xA;    steps:&#xA;    # uses GitHub&#39;s checkout action to checkout code form the master branch&#xA;    - uses: actions/checkout@v4.1.7&#xA;    &#xA;    # sets up .NET Core SDK 3.1&#xA;    - name: Setup .NET Core SDK&#xA;      uses: actions/setup-dotnet@v4.0.0&#xA;      with:&#xA;        dotnet-version: 8.0&#xA;&#xA;    # publishes Blazor project to the release-folder&#xA;    - name: Publish .NET Core Project&#xA;      run: dotnet publish Project-Name/Project-Name.csproj -c Release -o release --nologo&#xA;    &#xA;    # changes the base-tag in index.html from &#39;/&#39; to &#39;BlazorGitHubPagesDemo&#39; to match GitHub Pages repository subdirectory&#xA;    - name: Change base-tag in index.html from / to BlazorGitHubPagesDemo&#xA;      run: sed -i &#39;s/&lt;base href=&#34;\/&#34; \/&gt;/&lt;base href=&#34;\/Project-Name\/&#34; \/&gt;/g&#39; release/wwwroot/index.html&#xA;&#xA;    # copy index.html to 404.html to serve the same file when a file is not found&#xA;    - name: copy index.html to 404.html&#xA;      run: cp release/wwwroot/index.html release/wwwroot/404.html&#xA;&#xA;    # add .nojekyll file to tell GitHub pages to not treat this as a Jekyll project. (Allow files and folders starting with an underscore)&#xA;    - name: Add .nojekyll file&#xA;      run: touch release/wwwroot/.nojekyll&#xA;      &#xA;    - name: Commit wwwroot to GitHub Pages&#xA;      uses: JamesIves/github-pages-deploy-action@3.7.1&#xA;      with:&#xA;        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}&#xA;        BRANCH: gh-page&#xA;        FOLDER: release/wwwrootدر نهایت فایل را کامیت کنید مرحله 4 : برسی فرایندبعد از مراحل قبل این گزینه در تب Actions شما مشخص میشود ، در صورت سبز شدن یعنی فرایند به درستی انجام شده است.پس از سبز شده گزینه بالا گزینه دیگری نمایش داده میشود که برای برنچ gh-page است ، وارد آن شوید.تبریک  فرایند شما به درستی انجام شده و از Url نمایش داده شده قابل مشاهده است.همچنین فایل های پابلیش شده در برنچ gh-page قابل مشاهده هستند.نکته : هر بار شما کد های خود را تغییر داده و در برنچ مستر  مثل همیشه کامیت کنید ، فایل ها مجددا پابلیش شده و GitHub Pages شما به طور خود کار بروز میشود.مرحله آخر : ❤️حمایت❤️اگر این مقاله به شما کمک کرد و از آن لذت بردید لطفا با کامت ها و لایک های خود بنده را دلگرم کنید.❤️❤️❤️و در صورت امکان به این پروژه بنده توی گیت هاب ستاره بدینhttps://github.com/mosha99/DeployToGitHubTest</description><category>معین شیخ هادی</category><author>معین شیخ هادی</author><pubDate>Sat, 22 Jun 2024 01:40:49 +0330</pubDate></item></channel></rss>