Cum incarc o pagina din react in public_html?

Am nevoie de ajutor pentru o cauza nobila. Incerc sa pun pe picioare un site. Am access la cpanel si am pus in root o tema de react care are un entry point in index.html. Ideea e ca site-ul imi afiseza doar ce e in public_html. Am cautat cateva ore cum sa import in index.php din public_html entrypointul pentru tema de react.

Am incercat:

  • cu <?php include './build/index.html';?> dar nu mai functioneaza linkurile catre fisierele statice plus ca index.html trebuie sa fie deja in public_html.

  • am incercat cu iframe, dar merge doar daca index.html s-ar afla in public_html

  • tema de react este syncronizata automat cu ce e in github, de aceea este in alta parte fata de public_html. as pune-o direct in public_html daca se poate face automat asta. am vazut ca exista ceva cpanel.yml ca pipeline, dar nu m-am descurcat sa pipeline-ul sa ruleze.

any hints?

faci un build si il incarci in public_html
ex: Deploy / Host your React App with cPanel in Under 5 Minutes - DEV Community

da, e ok solutia. dar cum o faci sa fie automatizata, sa nu mai dau copy paste? pt ca si in momentul de fata daca dau copy paste la folderul build totul e ok.

Pune fisierele pe gitlab/github intr-un repo unde poti sa ai pipeline-uri (CI/CD).
Cand modifici fisierele de cod (faci push) poti sa iti faci un pipeline pe branch, pe un job rulezi setup (npm install), dupa ce se termina setup, faci un job in care rulezi npm build si dupa ce se termina build-ul rulezi un job de release (sau publish) in care pui o comanda sftp cu user/parola sau cheie ssh ca sa iti copieze fisierele din folderul build/dist in public_html pe contul de cpanel (la job-ul de build salvezi folderul de build ca si un artefact la care ai acces in job-ul de publish/release).

How to Use SFTP Command to Transfer Files | Linuxize

Poti folosi ChatGPT ca sa iti generezi codul pentru CI/CD.

Aditional la ce a spus @isti37 . Da, sustin si eu ca poti folosi GitHub cu GitHub Actions, care sunt free si ft usor de configurat.

2 Likes

Daca nu vrei sa folosesti GithubCI atunci sunt si solutii self-hosted precum woodpecker CI cu o sintaxa destul de simpla (intro). In functie de cat dureaza build-ul si daca ai si teste de rulat. Pentru proiecte private esti limitat la 2000(?) de minute pe luna cu GithubCI. Per/account daca nu ma insel, nu pe proiect/repo. Deci daca ai multe proiecte private atunci trebuie sa incepi sa platesti pentru timp extra pe Github Actions.

Poti adauga un runner privat, dar nu cred ca e cazul aici.