Gitlab-C: я не могу выполнить сборку, загружающую пакет из репозитория VCS

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

Я использую по умолчанию 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`

введите здесь описание изображения

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

Спасибо!!!


person aleixfabra    schedule 29.04.2016    source источник


Ответы (1)


сценарий 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 предотвратит это.

person Florian    schedule 10.05.2017