Làm cách nào để thiết lập CI trên tiện ích mở rộng Magento 2 bằng Bitbucket Pipeline?


9

Làm cách nào tôi có thể chuẩn bị tập lệnh CI để kiểm tra cú pháp và chất lượng mã của mã mở rộng?

Không cần thiết phải chạy Kiểm tra đơn vị hoặc Kiểm tra tích hợp, tôi đang sử dụng Bitbucket và tôi muốn sử dụng Đường ống Bitbucket .


3
Nếu bạn cũng muốn thử nghiệm chạy trên Bitbucket Đường ống, điều này có thể hữu ích: integer-net.com/magento-api-tests-and-continuous-integration
Fabian Schmengler

Câu trả lời:


10

Thêm biến AUTH vào cài đặt Biến Pipelines.

Đường ống Magento 2 Bitbucket

Sử dụng Bitbucket, bạn có thể sử dụng tệp này bên dưới được gọi là bitbucket-pipelines.yml

    image: rafaelcgstz/magento2
    pipelines:
      branches:
        master:
          - step:
              name: Composer install
              caches:
                - composer
              artifacts:
                - vendor/**
              script:
                - echo "$AUTH" > auth.json
                - composer install --prefer-dist --optimize-autoloader
          - parallel:
            - step:
                name: PHP CodeSniffer
                caches:
                  - composer
                artifacts:
                  - vendor/**
                script:
                  - php vendor/bin/phpcs --standard=PSR2 Api/ Helper/ Model/ Plugin/ Setup/
            - step:
                name: PHP Mess Detector
                caches:
                  - composer
                artifacts:
                  - vendor/**
                script:
                  - php vendor/bin/phpmd Api/,Helper/,Model/,Plugin/,Setup/ text cleancode,codesize,controversial,design,naming,unusedcode
            - step:
                name: PHP Copy/Paste Detector
                caches:
                  - composer
                artifacts:
                  - vendor/**
                script:
                  - php vendor/bin/phpcpd Api/ Helper/ Model/ Plugin/ Setup/    

Composer.json của bạn cần phải như thế này dưới đây:

{
    "name": "mycompany/modulename",
    "description": "",
    "type": "magento2-module",
    "version": "1.0.0",
    "license": [
        "proprietary"
    ],
    "authors":[
        {
            "name":"Rafael Correa Gomes",
            "email":"rgomes@magento.com"
        }
    ],
    "repositories": [
        {
            "type": "composer",
            "url": "https://repo.magento.com/"
        }
    ],
    "require": {
        "php": "~5.6.0|~7.0.0",
        "magento/module-backend": "100.0.*",
        "magento/module-catalog": "100.0.*",
        "magento/module-eav": "100.0.*",
        "magento/module-layered-navigation": "100.0.*",
        "magento/framework": "100.0.*"
    },
    "require-dev": {
        "phpunit/phpunit": "^4.8",
        "phpmd/phpmd": "^2.3",
        "squizlabs/php_codesniffer": "^2.5",
        "sebastian/phpcpd": "^2.0",
        "satooshi/php-coveralls": "^1.0"
    },
    "autoload": {
        "files": [
            "registration.php"
        ],
        "psr-4": {
            "MyCompany\\ModuleName\\": ""
        }
    }
}

Tham khảo: Bắt đầu với Bitbucket Pipelines


Chính xác những gì tôi đã tìm kiếm. Cảm ơn! Có lẽ bạn có thể thêm một ví dụ về cách thiết lập kiểm tra đơn vị / tích hợp?
sv3n

Nếu đó là hình ảnh của bạn, bạn có thể thêm phpstan(v0.8.5) không?
sv3n

@ sv3n bạn đã tìm ra cách chạy thử nghiệm đơn vị / tích hợp chưa?
Haim

@rafael 1. Tại sao bạn cần bước đầu tiên? nó dường như không làm gì cả, trừ khi tôi thiếu một cái gì đó rõ ràng? 2. Bạn chỉ chuyển tên người dùng và mật khẩu magento của mình ở bước đầu tiên, đường ống của chúng tôi không thành công trừ khi chúng tôi chuyển thông tin đăng nhập trong mỗi bước
Haim

@ Yêu cầu Không cần phải vượt qua thông tin đăng nhập trên mỗi bước vì thông tin đăng nhập được yêu cầu được lặp lại cho auth.json.
Ad Nam
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.