Blogi

Projektin siirtäminen Codexista Hermesiin palvelimella

Markdown

Repositorion siirtäminen palvelimelle Hermesillä työskentelyä varten: tallennetut muutokset, riippuvuudet, salaisuudet, työkansio ja tarkistukset ennen kehityksen jatkamista.

Lue koko artikkeli

Jos tarvitset apua palvelun käyttöön, katso Ailootin dokumentaatiota.

Tärkein asia

Jos haluat jatkaa Hermesissä Codexilla luodun projektin parissa, siirrä itse repositorio ja palauta sen ympäristö. Tällä tavalla et tarvitse erillistä ”tuo projekti agentilta” -vaihetta. Tarkista ensin tallennetut tiedostot ja riippuvuudet ja avaa sitten oikea kansio Hermesissä. Tässä oppaassa oletetaan, että palvelin ja Hermes on jo otettu käyttöön ja että sinulla on pääsy repositorioon.

Mitä siirtoa varten pitää valmistella

Repositorio on projektikansio, jossa on Git-muutoshistoria. Työkopio sisältää muokkaamasi tiedostot. Tarkoituksena on siirtää tämä kopio palvelimelle ja jatkaa kehitystyötä. Sovellusta ei vielä tarvitse julkaista kävijöille.

Jos agenttia ei ole vielä asennettu palvelimelle, aloita oppaasta Hermes Agentin asentaminen VPS-palvelimelle. Tässä tarvitset toimivan Hermes-asennuksen, palvelimen päätteen ja Gitin. Tarvitset palvelimelta käytettävissä olevan etärepositorion. Jos sinulla ei vielä ole sellaista, luo se ensin ja tallenna projekti sinne ilman salaisuuksia. Jos repositorio on yksityinen, määritä omalle tilillesi lukuoikeus etukäteen. Älä lisää tokenia repositorion URL-osoitteeseen tai agentille lähetettävään viestiin.

Keskeytä projektin rinnakkainen muokkaaminen siirron ajaksi. Avaa lähdetietokoneella pääte itse projektikansioon ja suorita:

git status --short --branch
git status --short --ignored

Ensimmäinen komento näyttää haaran ja tiedostojen tilan. M tarkoittaa muokkausta ja ?? tiedostoa, jota Git ei vielä seuraa. Toisessa komennossa ohitetut tiedostot on merkitty tunnuksella !!. Tavallinen puhdas tila ei todista, ettei Gitin ulkopuolella ole tarvittavia tiedostoja.

Tallenna tarvittavat muutokset erilliseen commitiin ja pushaa oikea haara etärepositorioon tavalliseen tapaasi. Tarkista ennen puskemista, mitä commit sisältää: avaimia, salasanoja tai oikeita käyttäjätietoja ei saa olla mukana. Jos et tiedä, mitkä muutokset pitäisi tallentaa, pyydä ensin Codexia luettelemaan ne ja selittämään niiden tarkoitus. Älä poista tiedostoja tai pushaa niitä repositorioon.

Projektin osaTarkistettavaa ennen siirtoa
Lähdetiedostot ja Git-historiaTarvittavat muutokset on tallennettu, ja ne ovat käytettävissä etärepositorion valitussa haarassa
README ja agentin ohjeetKäynnistysvaiheet, tarkistukset ja rajoitukset on dokumentoitu; ohjeet ovat ajan tasalla
RiippuvuustiedostotRiippuvuuksien määritykset ja projektissa käytettävä lukitustiedosto, joka lukitsee versiot, on tallennettu
SalaisuudetNiiden asettamiseen palvelimella on erillinen turvallinen tapa; niiden arvot eivät ole Gitissä eivätkä niitä lähetetä chatissa
Tietokanta ja ladatut tiedostotTiedät, mistä sallitut testitiedot saa ja miten ne palautetaan projektin ohjeiden mukaisesti

Älä oleta, että repositorion kloonaus siirtää myös ulkoisen tietokannan, ohitetun kansion sisältöä tai Codex-keskustelujasi. Keskusteluhistoria, tilaukset, profiilit ja agenttien omat asetukset eivät kuulu tähän siirtotapaan.

Kopioi oikea haara palvelimelle

Tallenna ensin lähdetietokoneella tämän komennon tuloste:

git status --porcelain=v2 --branch

Rivi # branch.oid näyttää nykyisen commitin ja # branch.head haaran. Commit on projektin tallennettu versio. Tyypillisessä projektissa, jossa on jo committeja, tämä mahdollistaa lähdekopion ja uuden kopion vertailun. Vertailu ei tarkista commitoimattomia muutoksia.

Siirry palvelimella kansioon, johon tallennat projektisi. Kloonaa repositorio uuteen kansioon. Korvaa alla olevassa mallissa REPOSITORY_URL repositoriosi URL-osoitteella, BRANCH_NAME tallentamasi ja pushaamasi haaran nimellä sekä my-project uuden kansion haluamallasi nimellä:

git clone --branch BRANCH_NAME REPOSITORY_URL my-project
cd my-project
git status --porcelain=v2 --branch

Tämä on malli, ei kopioitavissa oleva valmis URL-osoite. git clone luo kansion ja valitun haaran työkopion. Jos kohdekansio on jo olemassa, sen on oltava tyhjä. Älä poista sen sisältöä komennon suorittamiseksi uudelleen, vaan valitse uusi nimi.

Vertaa molempien kopioiden # branch.oid-arvoja. Jos arvot ovat erilaiset, älä ala korjata koodia palvelimella. Tarkista valittu haara, pushaamasi commitit ja mahdolliset rinnakkaiset muutokset. Jos tilatulosteessa näkyy muokattuja tiedostoja, selvitä ne erikseen. Älä yritä saada kopioita vastaamaan toisiaan siivoamalla tai tekemällä pakotettua nollausta.

Git-alimoduuleja eli sisäkkäisiä repositorioita sisältävien repositorioiden sisältö täytyy myös noutaa. git clone -komennossa on tätä varten valitsin --recurse-submodules. Käytä sitä, jos projekti todella sisältää alimoduuleja ja niiden URL-osoitteet on tarkistettu. Muut ulkoiset resurssit saattavat vaatia READMEssä kuvatun lisämenettelyn.

Palauta riippuvuudet projektin ohjeiden mukaisesti

Lue ensin README ja projektin määritystiedostot. Selvitä tarvittava runtime-versio ja riippuvuuksien asennukseen käytettävä pakettienhallinta. Älä vaihda projektin tavanomaista työkalua npm:ään vain siksi, että se esiintyy alla olevassa esimerkissä.

Hypoteettinen esimerkki Node.js:stä ja npm:stä: repositoriossa on keskenään yhdenmukaiset package.json- ja package-lock.json-tiedostot, ja palvelimelle on asennettu projektiin sopiva Node.js-versio. Suorita silloin tämä komento projektikansiossa:

npm ci

npm ci -komennon dokumentaation mukaan komento asentaa koko projektin riippuvuudet lukitustiedostosta muuttamatta package.json- tai package-lock.json-tiedostoa. Jos niiden sisältö ei vastaa toisiaan, asennus epäonnistuu. Mahdollinen node_modules-kansio poistetaan ennen asennusta.

Jos lukitustiedosto luotiin valitsimilla, jotka vaikuttavat riippuvuuspuuhun, kuten --legacy-peer-deps, npm ci tarvitsee samat valitsimet. Tarkista lähdeprojektin ohjeet ja asetukset. Älä poista lukitustiedostoa tai päivitä kaikkia riippuvuuksia peittääksesi ensimmäisen siirtovirheen.

Tarkista oman projektisi asennus- ja käynnistyskomennot ennen asentamista. Suorita ne erillisessä työkopiossa, jolla ei ole pääsyä tuotantotietoihin. Aseta tarvittavat ympäristöarvot chatin ja Gitin ulkopuolella. Käytä mahdollisuuksien mukaan testitunnuksia, joilla on rajalliset käyttöoikeudet. Jos projekti riippuu tietokannasta tai tiedostoista, palauta ensin ohjeiden mukaisesti sallittu testiaineisto. Samat lähdetiedostot eivät korvaa kyseisiä tietoja.

Suorita asennuksen jälkeen READMEssä mainitut tarkistukset: testit ja koontiversion luominen, jos ne on määritelty. Komentojen nimet riippuvat projektista. Riippuvuuksien onnistunut asennus ei vielä tarkoita, että sovellus toimii.

Avaa työkopio Hermesissä

Siirry palvelimen päätteessä uuden kopion juureen ja käynnistä jo asennettu agentti:

cd /absolute/path/to/my-project
hermes

/absolute/path/to/my-project on tässä paikkamerkki projektisi täydelle polulle. Tarkista Hermeksen käynnistysnäkymästä työhakemisto ja ympäristö, jossa päätekomennot suoritetaan. Tämä käynnistystapa on tarkoitettu Hermeksen paikalliselle pääteympäristölle palvelimella. Jos SSH tai Docker on määritetty käyttöön, agentti saattaa suorittaa komentoja toisessa ympäristössä. Varmista ensin, mikä projektipolku on siellä käytettävissä.

Pyydä agenttia vahvistamaan todellinen työkansionsa päätetyökalulla ja lue sitten README sekä projektin ohjeet. Pelkkä viestissä mainittu kansion nimi ei riitä vahvistukseksi.

Alla kuvattu järjestys on peräisin dokumentaation tietystä versiosta, ja se voi poiketa asentamastasi Hermes-versiosta. Tarkista istuntosi ajantasaiset ohjeet. Hermes tukee AGENTS.md-tiedostoa, mutta sen lukeminen riippuu kontekstitiedostojen prioriteeteista. Hermeksen virallisen dokumentaation mukaan käyttöön valitaan yhdenlainen ohjetiedosto seuraavassa järjestyksessä: .hermes.md, sitten AGENTS.override.md, AGENTS.md, CLAUDE.md ja .cursorrules. Tarkista ennen työn aloittamista, löytyykö vanha .hermes.md-tiedosto tai henkilökohtainen AGENTS.override.md. Älä oleta, että agentti välttämättä noudattaa sen rinnalla olevaa AGENTS.md-tiedostoa.

Säilytä valituissa ohjeissa projektin tarkoitus, tarkistuskomennot ja muutosten rajoitukset. Älä muuta niitä keskustelujen arkistoksi. Jos haluat siirtää myös agenttien asetukset, kyseessä on eri prosessi. Sen laajuus kuvataan oppaassa siirtymisestä Claude Codesta Codexiin.

Anna agentille yksi tehtävä ja tarkista tulos

Aloita lukemalla projekti tekemättä muutoksia. Esimerkiksi:

We are working with an existing project in the folder I specified.
Confirm the actual working directory using the terminal tool.
Read the README and the current project instructions.
Do not open files containing secrets or print environment values.
List the check commands and the prerequisites for running them.
For now, do not change or install anything, or push to the repository.

Sopikaa sitten yhdestä pienestä tehtävästä, kuten käyttöliittymän tekstin korjaamisesta. Määritä muutettavat tiedostot tai alue ja kiellä sivuvaikutuksena tapahtuvat riippuvuuspäivitykset. Jos haluat pitää kokeilun erillään pääkopiosta, tutustu ensin erilliseen Git worktree -työkopioon.

Hyväksy tulos tiedostomuutosten ja toistettujen projektitarkistusten perusteella. Tallenna lähdekopio ja palautuspiste ennen koetta, joka voi epäonnistua. Älä pyydä agenttia nollaamaan kaikkia muutoksia kerralla. Jos tarkistus epäonnistuu, vertaa virhettä lähdekopioon. Näin voit erottaa siirto-ongelman viasta, joka oli olemassa jo ennestään.

Siirron voi katsoa valmistuneen, kun tarvittava versio lähdetiedostoista on paikallaan, ympäristö on palautettu, tarvittavat tiedot ovat käytettävissä turvallisessa testiympäristössä, tarkistukset menevät läpi ja Hermes työskentelee juuri tässä kansiossa. Sovelluksen julkaiseminen kävijöille on erillinen seuraava vaihe, eikä se kuulu tähän tarkistukseen.

Tutustu Ailootiin.

Lisätietoja

Kysymyksiä tästä oppaasta: Projektin siirtäminen Codexista Hermesiin palvelimella

Siirtääkö repositorion kloonaaminen koko työympäristön?

Ei. Git-kloonaus ei tuo ohitettuja tiedostoja, ulkoisia tietokantoja, ladattua dataa, salaisuuksia tai agentin keskusteluhistoriaa. Palauta tarvittavat riippuvuudet ja sallittu testidata erikseen projektiohjeiden mukaan.

Mitä vertaan ennen palvelinkopion muokkaamista?

Vertaa tallennettua haaraa ja committunnusta lähdekopioon, tarkista commitoimattomat muutokset ja pyydä Hermesiä varmistamaan todellinen työhakemistonsa. Suorita sitten projektin olemassa olevat tarkistukset juuri siinä kopiossa.

Kaikki artikkelit