Čo sa snažím urobiť, je umožniť kontinuálnedoručenie z GitLab do môjho výpočtového nástroja v službe Google Cloude. Mám tam spustený Ubuntu 16.04 TSL. Nainštaloval som všetky komponenty potrebné na spustenie môjho projektu, napríklad: Swift, vapor, nginx. Podarilo sa mi tiež nainštalovať bežec Gitlab a vytvoril som bežec, ktorý je prístupný z môjho repozitára gitlab. Zakaždým, keď tlačím na pána, spúšťa sa bežec. Čo sa stane, je zlyhanie spôsobené:
could not create leading directories of "/home/gitlab-runner/builds/2bbbbbd/0/Server/Packages/vapor.git": Permission denied
Ak zmením povolenia na chmod -R 777
Bude to znamenať running
pre build
etapa viditeľná na plynovode gitlab.
Urobil som niečo ako:
sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/builds
sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/cache
ale táto pomoc nemá, chyba je rovnaká Permission denied
Nižšie máte moje .gitlab-ci.yml
before_script:
- swift --version
stages:
- build
- deploy
job_build:
stage: build
before_script:
- vapor clean
script:
- vapor build --release
only:
- master
job_run_app:
stage: deploy
script:
- echo "Deploy a API"
- vapor run --name=App --env=production
environment:
name: production
job_run_frontend:
stage: deploy
script:
- echo "Deploy a Frontend"
- vapor run --name=Frontend --env=production
environment:
name: production
Ale to sa nedostane do ďalšej fázy, napr. Nasadenie. Čakal som na to viac ako 14 hodín, ale bez výsledku. A ... Mám ešte pár otázok:
- Bežec Gitlab vytvára zostavenia podľa umiestnenia
/home/gitlab-runner/builds/
v tomto umiestnení má každá nová úloha vlastný priečinok. napr./home/gitlab-runner/builds/2bbbbbd/
v ktorom je môj projekt a vykonajú sa príkazy. Čo sa stane, keď je spustený prvý a nasadím novú verziu? porty sú blokované prvou inštanciou a tak ďalej? - Ak to chcem povoliť
supervisor
Ako to môžem urobiť, keď sa vždy nasadzujem priečinok iný? - Môže mi niekto vysvetliť alebo ukázať alebo ma nasmerovať na tutoriál, ako sa dá kontinuálne nasadzovanie bez doku?
odpovede:
1 pre odpoveď č. 1Ako spustiť službu pomocou bežca GitLab
Vďaka dlhému hlbokému hľadaniu som konečne obkľúčilanswear! Celý článok je uvedený vyššie. Dokumentácia GitLab CI stručne odporúča použitie dpl na nasadenie. Mal by sa ukončiť test a proces bežeckého behu Gitlab. bežec je navrhnutý tak, aby zabil všetky vytvorené procesy po dokončení každého zostavenia. Bežec GitLab nemôže vykonávať operácie mimo katalógu.