On this page

Skip to content

DevOps & Infrastructure

📌 Pinned articles are saved in this browser only

Installing and Upgrading PowerShell 7 on Windows

Explains the differences between Windows PowerShell and PowerShell 7, steps for installation via WinGet, and the Get-Help documentation mechanism.

2026-03-250 views

Solving WSL 2 Docker File Permission Issues

Sharing my journey from Windows Docker to WSL 2, the brute-force solution for file permission issues, and the final elegant approach using Dev Containers.

2026-01-19 2026-02-040 views

Setting up and Configuring Nginx with Docker Compose

A record of the configuration process for quickly deploying Nginx using Docker Compose. Includes a brief introduction to the Nginx architecture (Main, Events, HTTP Context) and focuses on implementation examples using Docker Compose V2 syntax.

2025-11-270 views

Installing Elasticsearch and Kibana with Docker Compose

An introduction to quickly deploying a single-node Elasticsearch and Kibana environment using Docker Compose. Includes complete `docker-compose.yml` and `.env` configuration examples, along with important notes on Volume permission settings.

2025-09-24 2025-11-040 views

Solution for SQL Server Permission Issues with Docker Compose

Resolves the 'Permission Denied' issue encountered when setting up SQL Server using Docker Compose. Explains how to adjust the ownership permissions (chown) of the volume mount directory to meet the requirements of the mssql user inside the container.

2025-08-24 2026-02-050 views

GitLab CI Syntax and Variables Guide

A guide to common GitLab CI/CD (`.gitlab-ci.yml`) syntax and keywords. Covers Stages, Jobs, Rules, Only/Except definitions, and a reference for Predefined Variables.

2025-04-070 views

Setting up GitLab as a NuGet Package Source in Visual Studio

A tutorial on how to configure a private GitLab Package Registry as a NuGet source for Visual Studio, including how to automate the packaging (.nupkg) and publishing process using GitLab CI/CD pipelines.

2025-03-300 views

Automating .NET Library Versioning with MinVer

An introduction to using MinVer as a replacement for GitVersion for .NET package versioning. This article explains MinVer's Git tag-based version inference mechanism and how to automatically generate AssemblyVersion and PackageVersion to simplify CI/CD workflows.

2025-03-290 views

How to Automatically Apply Shadow Copying Settings When Publishing an ASP.NET Core Website

Solve the issue of DLL locking during ASP.NET Core deployment. It is recommended to pre-configure `web.config` in the project root to enable Shadow Copying, which is superior to the traditional method of manually modifying server settings.

2025-03-18 2026-01-220 views

Kibana Installation Guide for Windows

A record of the steps to install Kibana on Windows. Covers directory structure, `kibana.yml` configuration (including Network Host and the `kibana_system` Elasticsearch connection account), and experiences in resolving SSL connection issues.

2025-03-180 views

Accessing Gmail via IMAP Using App Passwords

A guide to resolving issues with reading emails via IMAP after Gmail disabled access for less secure apps. Learn how to enable 2-Step Verification for your Google account and generate an 'App Password' for third-party application connections.

2025-03-050 views

Single-Node Elasticsearch Installation Guide for Windows

A tutorial on how to install a single-node Elasticsearch on Windows. Includes JDK environment setup, basic `elasticsearch.yml` configuration (Cluster/Node Name, Data/Log Path, Network Host), CORS configuration, and JVM memory parameter tuning.

2025-01-23 2025-03-180 views

Reasons Why ASPNETCORE_ENVIRONMENT Fails to Take Effect

An in-depth troubleshooting guide on why the `ASPNETCORE_ENVIRONMENT` environment variable settings fail. It was discovered that even after successfully setting global environment variables in Windows, IIS may still read old values, requiring an `iisreset` to restart the IIS service to ensure the changes take effect.

2024-09-190 views

A Brief Discussion on the Differences Between Git Merge and Rebase

Comparing the operating principles and use cases of `git merge` and `git rebase`. Visualizing the impact of both on commit history linearity using Mermaid branch diagrams.

2024-08-230 views

Solving the Missing Font Files Issue in .NET Docker Containers

Provides solutions for installing fonts in .NET 6 (Debian 11) and .NET 8 (Debian 12) environments to address display issues caused by missing font files in Linux containers generated by Visual Studio.

2024-08-090 views

A Brief Introduction to Git Data Structures

An in-depth analysis of the `.git` directory structure. This article introduces the purposes of folders like hooks, info, logs, and refs, and explains how Git objects (Blob, Tree, Commit) store file content and version history using SHA-1 hashes.

2024-07-31 2024-09-200 views

A Brief Introduction to Git Commit Conventions

An introduction to Git Commit Message writing conventions, using the Angular Commit Format as an example. It explains the structure of the Header (Type, Scope, Summary), Body, and Footer, as well as common Commit Types (feat, fix, docs, etc.).

2024-07-23 2024-09-200 views

A Brief Discussion on Environment Name Configuration and Application in ASP.NET Core

An analysis of the operational mechanism of `EnvironmentName` (Development, Staging, Production) in ASP.NET Core. It compares the differences between Web.config Transform and appsettings.json override logic, and explains the application of `IHostEnvironment`.

2024-07-120 views

Developing with Local NuGet in Visual Studio in Offline Environments

A guide for closed development environments without internet access on how to configure a local folder as a NuGet source and pre-download common packages to resolve restore failures or DLL version mismatches.

2023-12-050 views

Applications of Web.config (App.config) in .NET Framework

Explains how to automatically transform or generate environment-specific Web.config/App.config files in .NET Framework projects based on Debug/Release or custom Build Configurations, preventing errors caused by manual modifications during deployment.

2022-11-100 views