Новый виды условных шагов (#6)
Tests / test (push) Successful in 4m19s

Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/6
This commit was merged in pull request #6.
This commit is contained in:
2026-07-31 12:15:15 +00:00
parent 3e91ecdd96
commit 13db1388a3
60 changed files with 2151 additions and 406 deletions
+81
View File
@@ -0,0 +1,81 @@
name: Deploy to IIS
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
env:
LOCAL_PUBLISH: ${{ github.workspace }}/publish
MOUNT_POINT: /mnt/iis-deploy
SHARE: //10.0.0.148/wwwroot
TARGET_SUBDIR: approval_route
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'
- name: Restore
run: dotnet restore backend/Tnsu.ApprovalRoute.sln
- name: Publish (local)
run: dotnet publish backend/src/Tnsu.ApprovalRoute.Api/Tnsu.ApprovalRoute.Api.csproj -c Release -o "$LOCAL_PUBLISH"
- name: Install cifs-utils
run: |
if command -v mount.cifs >/dev/null 2>&1 && command -v rsync >/dev/null 2>&1; then
echo "cifs-utils and rsync already installed, skipping apt-get"
else
sudo apt-get update && sudo apt-get install -y cifs-utils rsync
fi
- name: Mount IIS share
env:
DEPLOY_CREDS_B64: ${{ secrets.DEPLOY_CREDS_B64 }}
run: |
echo "$DEPLOY_CREDS_B64" | base64 -d > /tmp/creds
chmod 600 /tmp/creds
echo "Credentials file created"
sudo mkdir -p "$MOUNT_POINT"
sudo mount -t cifs "$SHARE" "$MOUNT_POINT" \
-o credentials=/tmp/creds,vers=3.0,sec=ntlmssp,uid=$(id -u),gid=$(id -g),file_mode=0777,dir_mode=0777
- name: Take site offline
run: |
sudo mkdir -p "$MOUNT_POINT/$TARGET_SUBDIR"
echo "<h1>Deploying, please wait...</h1>" > "$MOUNT_POINT/$TARGET_SUBDIR/app_offline.htm"
sleep 20
- name: Sync files to IIS
run: |
rsync -a --delete \
--exclude 'app_offline.htm' \
--exclude 'logs/' \
--exclude 'inventory/' \
"$LOCAL_PUBLISH/" "$MOUNT_POINT/$TARGET_SUBDIR/"
- name: Bring site online
if: always()
run: |
rm -f "$MOUNT_POINT/$TARGET_SUBDIR/app_offline.htm" || true
- name: Unmount share
if: always()
run: |
sudo umount "$MOUNT_POINT" || true
- name: Final check
if: always()
run: |
echo "=== FINAL ==="
exit 0