Google Cloude의 GitLab에서 내 컴퓨팅 엔진으로의 지속적인 전송을 가능하게하려고합니다. 거기에 우분투 16.04 TSL이 실행됩니다. 나는 Swift, vapor, nginx와 같이 프로젝트를 실행하는 데 필요한 모든 구성 요소를 설치했다. 나는 Gitlab 러너를 설치할 수 있으며 내 gitlab repo에서 액세스 할 수있는 러너를 만들었습니다. 매 주자를 강타 할 때마다 주자가 발동합니다. 내가 chmod -R 777
에 대한 사용 권한을 변경하는 경우Gitlab - Google 컴퓨팅 엔진 Continuous delivery
could not create leading directories of '/home/gitlab-runner/builds/2bbbbbd/0/Server/Packages/vapor.git': Permission denied
그것은 gitlab 파이프 라인에 표시 build
스테이지 running
에 hange합니다 : 어떤 일이 것은 인해 실패입니다.
내가 좋아하는 뭔가 않았다 sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/builds
sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/cache
하지만 문제가 해결되지 않은 오류가 내 .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
그러나이 아래 다음에 Permission denied
통과하지 않은 동일 단계 예. 배포하십시오. 나는 14h 이상을 기다렸지 만 결과는 나오지 않았다. 그리고 ... 내가 가지고있는 몇 가지 더 질문 :
- Gitlab 러너가 생성하는 모든 새로운 일이 자신의 폴더가이 위치에 위치
/home/gitlab-runner/builds/
에서 구축합니다. 예를 들면. 내 프로젝트는/home/gitlab-runner/builds/2bbbbbd/
이며 명령이 실행됩니다. 첫 번째 버전이 실행되고 새 버전을 배포하면 어떻게됩니까? 첫 번째 인스턴스에 의해 포트가 차단되는 등의 문제가 있습니까? supervisor
을 사용하려면 폴더를 배포 할 때마다이 작업을 어떻게 수행해야합니까?- 누구나 나를 설명하거나 보여 주거나 튜토리얼을 가르쳐 줄 수 있습니까? 긴 깊은 검색
어떻게 권한 문제를 해결 했습니까? 나 자신과 같은 문제에 직면 해있다. –
나는 chmod -R 777을 사용했다. 완벽한 솔루션은 아니지만 테스트 목적으로는 괜찮습니다. 어떻게 그것이 완료되지 않은 과정 때문에'build'에 걸려 있었습니까? CD의 경우 지금 dpl을 목표로합니다 – Shial
몇 가지 작업을 한 후에 저는 gce에서 작동하도록'build'를 얻었습니다. CD를 위해 dpl을 살펴 보자. –