Skip to content

Commit a554143

Browse files
chore: remove Azure Pipelines deployment configuration and add GitHub Actions deployment workflow
1 parent b6a9ce3 commit a554143

File tree

4 files changed

+40
-48
lines changed

4 files changed

+40
-48
lines changed

.azure-pipelines/release-to-production.yml

Lines changed: 0 additions & 48 deletions
This file was deleted.

.github/copilot-instructions.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@ This project provides PowerShell automation to obtain and rotate Let's Encrypt S
2121
2. For each HTTPS binding, issues or renews certs using `New-PACertificate` and `Submit-Renewal` with the Cloudflare DNS plugin.
2222
3. Binds the latest certificate to each HTTPS binding, optionally removing old certs.
2323

24+
## Deployment
25+
26+
- **CI/CD**: GitHub Actions workflows in `.github/workflows/`.
27+
- `deploy-prd.yml` — Deploys to the self-hosted Windows runner (`NS570403`). Triggers on push to `main`, weekly schedule (Thursday 03:00 UTC), and manual dispatch. Uses the `Production` GitHub environment with `CLOUDFLARE_API_KEY` secret (managed by `platform-workloads` Terraform).
28+
- `build-and-test.yml` / `pr-verify.yml` — CI validation workflows.
29+
- `codequality.yml` — Code quality scanning.
30+
2431
## Requirements
2532

2633
- Windows Server with IIS and PowerShell 5.1+.

.github/workflows/deploy-prd.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Deploy Prd
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
schedule:
9+
- cron: "0 3 * * 4"
10+
11+
permissions: {}
12+
13+
concurrency:
14+
group: ${{ github.workflow }}
15+
16+
jobs:
17+
deploy-to-vm:
18+
runs-on: [self-hosted, windows]
19+
20+
environment: Production
21+
22+
permissions:
23+
contents: read
24+
25+
steps:
26+
- uses: actions/checkout@v4
27+
28+
- name: Run certificate rotation
29+
shell: pwsh
30+
run: |
31+
Write-Host "Running on $($env:COMPUTERNAME)"
32+
.\rotate-iis-certificates.ps1 -cloudflareApiKey "${{ secrets.CLOUDFLARE_API_KEY }}"

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
[![Build and Test](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/build-and-test.yml)
44
[![Code Quality](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/codequality.yml/badge.svg)](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/codequality.yml)
5+
[![Deploy Prd](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/deploy-prd.yml/badge.svg)](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/deploy-prd.yml)
56
[![Copilot Setup Steps](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/copilot-setup-steps.yml/badge.svg)](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/copilot-setup-steps.yml)
67
[![Dependabot Auto-Merge](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/dependabot-automerge.yml/badge.svg)](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/dependabot-automerge.yml)
78
[![PR Verify](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/pr-verify.yml/badge.svg)](https://github.com/frasermolyneux/platform-letsencrypt-iis/actions/workflows/pr-verify.yml)

0 commit comments

Comments
 (0)