這兩天在搗鼓 Gitlab
的 .gitlab-ci.yml
檔案的編寫,做個簡單的使用記錄
- 專案安裝程式碼規範檢查包:
squizlabs/php_codesniffer
composer.json
檔案內 scripts
塊增加便捷命令
"lint": "phpcs --standard=PSR1,PSR2,./ruleset.xml --ignore=config/us-zipcode.php app/ routes/ config/ ",
"lint-fix": "phpcbf --standard=PSR1,PSR2 --ignore=config/us-zipcode.php app/ routes/ config/ "
使用命令:composer run lint
即可執行程式碼檢查 ,檢出的錯誤:安裝提示修復即可
專案根目錄 編寫 .gitlab-ci.yml
檔案
image: php:7.2
services:
- mysql:latest
variables:
MYSQL_DATABASE: "newshop_testing"
MYSQL_ROOT_PASSWORD: "root"
VERSION: $CI_COMMIT_SHORT_SHA
GIT_DEPTH: 1
cache:
paths:
- vendor/
- node_modules/
before_script:
# Update packages 更新包
- apt-get update -yqq
# # Upgrade to Node 7 更新node 7
# - curl -sL https://deb.nodesource.com/setup_7.x | bash -
#
# # Install dependencies 安裝依賴
- apt-get install git libcurl4-gnutls-dev libicu-dev libmcrypt-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libpq-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev -yqq
# # Install php extensions 安裝php擴充套件
# - pecl install mcrypt-1.0.1
# - docker-php-ext-enable mcrypt
- docker-php-ext-install mbstring pdo_mysql curl json intl gd xml zip bz2 opcache
# Install Composer and project dependencies 安裝composer和專案依賴
- cd platform
- curl -sS https://getcomposer.org/installer | php
- php -r "readfile('https://getcomposer.org/installer');" | php
- php composer.phar install
# Copy over testing configuration 複製測試配置。
# Don't forget to set the database config in .env.testing correctly 不要忘記在.env中設定資料庫配置。測試正確
# DB_HOST=mysql
# DB_DATABASE=project_name
# DB_USERNAME=root
# DB_PASSWORD=secret
- cp .env.testing.example .env.testing
- cp .env.example .env
- php artisan key:generate
- php artisan config:cache
- php artisan migrate
- php artisan db:seed
- php artisan admin:publish --force --assets
store-codestyle:
stage: test
script:
- php vendor/bin/composer run lint
phpunit:
stage: test
script:
- php vendor/bin/phpunit --coverage-text --colors=never
推送程式碼即可在gitlab CI/CD模組的流水線內看到事件在執行了
檢查程式碼格式 和phpunit
執行中有任何一個錯誤,將會顯示 ×
通過則為綠色的 √
點選可看見詳情
自動化部署專案,docker
映象等此篇文章不介紹,.gitlab-ci.yml
檔案內含義不介紹,需要有一定的 docker
基礎,可前往 docker
官網檢視文件
本作品採用《CC 協議》,轉載必須註明作者和本文連結