Projektin tausta
Tavoitteena oli luoda täysin automatisoitu julkaisuputki Astro-pohjaiselle verkkosivustolle, jotta uudet päivitykset saadaan livenä tuotantopalvelimelle ilman manuaalista tiedostonsiirtoa.
Käytetyt teknologiat ja työkalut
- Astro: Moderni ja erittäin nopea staattisten sivujen generaattori.
- GitHub Actions: CI/CD-automaatio koodin kääntämiseen ja testaamiseen.
- FTPS / Plesk: Suojattu tiedostonsiirto isännöintipalvelimelle.
- Node.js (v22): Ajoympäristö kääntämistä varten.
Ratkaistut haasteet
- Ympäristövaatimukset: Varmistettiin, että GitHub Actions käyttää vähintään Node.js v22 -versiota Astron vaatimusten mukaisesti.
- Projektirakenne: Korjattiin kansion rakenne siten, että
package.jsonjapackage-lock.jsonsijaitsevat repon juuritasolla. - Yhteysongelmat: Palomuuri- ja
ECONNRESET-ongelmat ratkaistiin konfiguroimalla FTPS-yhteys (security: loose) ja ohjaamalla liikenne suoraan palvelimen IP-osoitteeseen.
Lopputulos
Aina kun koodia yhdistetään (merge) main-haaraan, GitHub Actions kääntää Astro-sivuston automaattisesti ja siirtää valmiin ./dist/-sisällön tuotantopalvelimelle noin minuutissa.