2

Я использую gitlab-ci для репозитория, размещенного на gitlab.com, и я не могу сделать сборку загрузки пакета из репозитория VCS.Gitlab-CI не может сделать сборку загрузки пакета из репозитория VCS

Я использую default gitlab-ci-multi-runner 1.1.3.

Мой .gitlab-ci.yml:

image: php:5.6 

services: 
    - mysql:latest 

variables: 
    MYSQL_DATABASE: test 
    MYSQL_ROOT_PASSWORD: test 

before_script: 
    - mkdir ~/.ssh 
    - ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts 
    - bash gitlab-ci.sh > /dev/null 
    - curl -sS https://getcomposer.org/installer | php 
    - php composer.phar install 
    - cp database/database.sqlite.example database/database.sqlite 
    - cp .env.test .env 
    - php artisan key:generate 
    - php artisan migrate:refresh --seed 

test: 
    script: 
    - vendor/bin/phpunit 

Мой composer.json:

{ 
    "name": "foo", 
    "description": "Foo", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "[email protected]:maneko/maravel-pages.git" 
     } 
    ], 
    "require": { 
     "php": ">=5.5.9", 
     "laravel/framework": "5.2.*", 
     "barryvdh/laravel-debugbar": "^2.1", 
     "squizlabs/php_codesniffer": "*", 
     "proengsoft/laravel-jsvalidation": "1.3.1", 
     "yajra/laravel-datatables-oracle": "~6.0", 
     "dimsav/laravel-translatable": "^5.5", 
     "laravelcollective/html": "5.2.*", 
     "maravel/pages": "dev-master" 
    }, 
    "require-dev": { 
     "fzaninotto/faker": "~1.4", 
     "mockery/mockery": "0.9.*", 
     "phpunit/phpunit": "~4.0", 
     "symfony/css-selector": "2.8.*|3.0.*", 
     "symfony/dom-crawler": "2.8.*|3.0.*" 
    }, 
    "autoload": { 
     "classmap": [ 
      "database" 
     ], 
     "psr-4": { 
      "App\\": "app/" 
     }, 
     "files": [ 
      "app/helpers.php" 
     ] 
    }, 
    "autoload-dev": { 
     "classmap": [ 
      "tests/TestCase.php" 
     ] 
    }, 
    "scripts": { 
     "post-root-package-install": [ 
      "php -r \"copy('.env.example', '.env');\"" 
     ], 
     "post-create-project-cmd": [ 
      "php artisan key:generate" 
     ], 
     "post-install-cmd": [ 
      "php artisan clear-compiled", 
      "php artisan optimize" 
     ], 
     "pre-update-cmd": [ 
      "php artisan clear-compiled" 
     ], 
     "post-update-cmd": [ 
      "php artisan optimize", 
      "php artisan vendor:publish --provider=\"Proengsoft\\JsValidation\\JsValidationServiceProvider\" --tag=public --force" 
     ] 
    }, 
    "config": { 
     "preferred-install": "dist" 
    } 
} 

Я получаю эту ошибку, связанную с правами доступа, и я, что еще не знаю делать. Я читал, чтобы добавить это в .gitlab-ci.yml файл, но он не работает:

ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts` 

enter image description here

Любая помощь, пожалуйста ??

Спасибо !!!

ответ

0

сценарий gitlab-ci работает как другой пользователь. Если вы создали ключ локально и хотите использовать его внутри своего gitlab-ci, вы должны сделать ключ доступным для gitlab-ci.

Один из способов, чтобы скопировать файл - cp ~/.ssh/gitlab.com ~/.ssh/id_rsa

Это должно скопировать локальный ключ в gitlab бегуна. Имейте в виду, что HostKeyChecking по SSH может быть проблема иногда:

Решение

echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config предотвратит это.

 Смежные вопросы

  • Нет связанных вопросов^_^