/ / Gitlab - výpočtový modul Google Kontinuálne dodávanie - swift3, gitlab, google-compute-engine, nepretržité zavádzanie, pary

Gitlab - Google compute engine Nepretržitá dodávka - swift3, gitlab, google-compute-engine, kontinuálne nasadenie, para

Č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:

  1. 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?
  2. Ak to chcem povoliť supervisor Ako to môžem urobiť, keď sa vždy nasadzujem priečinok iný?
  3. 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ď č. 1

Ako 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.