Travis CI


Từ thư mục gốc của gói mở rộng đang viết, tạo tập tin .travis.yml với nội dung sau:

Chép
sudo: required

language: php

matrix:
  include:
    - php: 5.4
      env: DB=mysqli
    - php: 5.4
      env: DB=mysqli #myisam
    - php: 5.4
      env: DB=mysql
    - php: 5.4
      env: DB=mariadb
    - php: 5.4
      env: DB=postgres
    - php: 5.4
      env: DB=sqlite3
    - php: 5.5
      env: DB=mysqli
    - php: 5.6
      env: DB=mysqli
    - php: 7.0
      env: DB=mysqli
    - php: hhvm
      env: DB=mysqli
  allow_failures:
    - php: hhvm
  fast_finish: true

env:
  global:
    - EXTNAME="vinabb/demo" # CHANGE name of the extension HERE
    - SNIFF="1"        # Should we run code sniffer on your code?
    - IMAGE_ICC="1"    # Should we run icc profile sniffer on your images?
    - EPV="1"          # Should we run EPV (Extension Pre Validator) on your code?
    - PHPBB_BRANCH="3.2.x"

branches:
  only:
    - master

install:
  - travis/prepare-phpbb.sh $EXTNAME $PHPBB_BRANCH
  - cd ../../phpBB3
  - travis/prepare-extension.sh $EXTNAME $PHPBB_BRANCH
  - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
  - ../vinabb/demo/travis/prepare-epv.sh $EPV $NOTESTS

before_script:
  - travis/setup-database.sh $DB $TRAVIS_PHP_VERSION $NOTESTS

script:
  - sh -c "if [ '$SNIFF' != '0' ]; then travis/ext-sniff.sh $DB $TRAVIS_PHP_VERSION $EXTNAME $NOTESTS; fi"
  - sh -c "if [ '$IMAGE_ICC' != '0' ]; then travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION $NOTESTS; fi"
  - sh -c "if [ '$EPV' != '0' ] && [ '$NOTESTS' = '1' ]; then phpBB/vendor/bin/EPV.php run --dir='phpBB/ext/$EXTNAME/'; fi"
  - sh -c "if [ '$NOTESTS' != '1' ]; then phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/travis/phpunit-$DB-travis.xml --bootstrap ./tests/bootstrap.php; fi"
Ta cần thay đổi 3 dòng sau:
Chép
    - EXTNAME="vinabb/demo" # CHANGE name of the extension HERE
Thay vinabb/demo bằng tên định danh gói mở rộng của bạn. Nếu bạn đặt nhiều gói mở rộng nằm cùng một dự án (repository) trên GitHub, thì chỉ cần nhập phần tên bạn thôi, trong ví dụ trên sẽ là EXTNAME="vinabb".
Chép
branches:
  only:
    - master
Nếu bạn đặt tên nhánh khác mặc định là master, thì hãy sửa lại cho đúng.
Chép
  - ../vinabb/demo/travis/prepare-epv.sh $EPV $NOTESTS
Trong đó, vinabb là tên tài khoản GitHub và demo là tên dự án.

Cũng từ thư mục gốc gói mở rộng, ta tạo thêm thư mục travis. Trong thư mục này, ta sẽ tạo 2 tập tin thực thi cho môi trường máy ảo khi chạy trên Travis CI.
  • Tạo tập tin travis/prepare-phpbb.sh với nội dung sau:
    Chép
    #!/bin/bash
    set -e
    set -x
    
    EXTNAME=$1
    BRANCH=$2
    EXTPATH_TEMP=$3
    
    # Copy extension to a temp folder
    mkdir ../../tmp
    cp -R . ../../tmp
    cd ../../
    
    # Clone phpBB
    git clone --depth=1 "git://github.com/phpbb/phpbb.git" "phpBB3" --branch=$BRANCH
    Tập tin này sẽ cài đặt gói mở rộng của bạn vào một bản cài đặt phpBB.
  • Tạo tập tin travis/prepare-epv.sh với nội dung sau:
    Chép
    #!/bin/bash
    set -e
    set -x
    
    EPV=$1
    NOTESTS=$2
    
    if [ "$EPV" == "1" -a "$NOTESTS" == "1" ]
    then
    	cd phpBB
    	composer require phpbb/epv:dev-master --dev --no-interaction
    	cd ../
    fi
    Tập tin này tải về phpBB EPV và kiểm tra gói mở rộng của bạn.
  • Cuối cùng, điều quan trọng, bạn phải cấp quyền thực thi cho 2 tập tin .sh này trước khi cập nhật lên GitHub. Trên Windows, chúng ta phải dùng lệnh sau:
    Chép
    git update-index --chmod=+x travis/prepare-phpbb.sh
    Chép
    git update-index --chmod=+x travis/prepare-epv.sh
    Chép
    git commit -m 'Set executable permissions for .sh files'
    Chép
    git push
Vào https://travis-ci.org/, liên kết tài khoản GitHub của bạn và thêm vào các dự án muốn kiểm thử trước khi chạy. Giờ đây, mỗi lần bạn cập nhật thay đổi mã trên GitHub, các thao tác kiểm thử sẽ chạy đồng bộ trên Travis CI.


Quan điểm

  • Không đề cập chính trị, tôn giáo, nội dung đồi trụy.
  • Giữ gìn sự trong sáng của Tiếng Việt.
  • Không chia sẻ phần mềm vi phạm bản quyền.
  • Không rao vặt và không nhận đặt quảng cáo.
  • Dù trong túi hết tiền thì diễn đàn phpBB của anh cũng phải ngay ngắn.

Chuyện tình VinaBB

17/07/2004: Yêu phpBB từ phiên bản 2.0.10.
22/10/2006: Cất tiếng cười chào đời.
11/06/2007: Chính thức định cư trên Olympus, Sao Hỏa.
11/06/2009: Mất liên lạc với Trái Đất. [ Phiên bản 2007 ]
28/07/2016: Trôi dạt đến mặt trăng Rhea, Sao Thổ.
12/12/2016: Cuộc hành trình mới lại bắt đầu…

Code in Viet Nam

Cống hiến hết mình vì Tổ Quốc Việt Nam Xã Hội Chủ Nghĩa

Quản trị viên

nedka

VinaBB

NEDKA Solutions

Đơn vị chủ quản

Chúng tôi chịu trách nhiệm toàn bộ nội dung có trên VinaBB.vn trước pháp luật.