Jenkins သည်လူကြိုက်များသောစဉ်ဆက်မပြတ်ပေါင်းစည်းခြင်းနှင့်ဆက်တိုက်ပေးပို့ခြင်း (CI / CD) ကိရိယာများသည်ဆော့ဖ်ဝဲဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်၏အမျိုးမျိုးသောရှုထောင့်အမျိုးမျိုးကိုအလိုအလျောက်အလိုအလျောက်ပြုလုပ်နိုင်သည်။ Jenkins များကို PHP စီမံကိန်းများနှင့်ပေါင်းစပ်ခြင်းသည်ဖွံ့ဖြိုးမှုစွမ်းရည်နှင့်ကုဒ်အရည်အသွေးကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။
ခေတ်သစ် PHP ဖွံ့ဖြိုးတိုးတက်မှု, အလိုအလျောက်ပေါင်းစည်းခြင်းနှင့်အလိုအလျောက်ဖြန့်ကျက်ခြင်းနှင့်အလိုအလျောက်ဖြန့်ကျက်မှုသည်အရည်အသွေးမြင့်စီမံကိန်းများအတွက်သော့များဖြစ်လာသည်။ Jenkins မှတစ်ဆင့် developer များသည်ဤအလုပ်များကိုတူညီသောပလက်ဖောင်းပေါ်တွင်ပေါင်းစပ်နိုင်ပြီး,
Jenkins များသည် developer များ PHP ကုဒ်အရည်အသွေးတိုးတက်စေရန်အတွက်လုပ်ဆောင်ရန်အမျိုးမျိုးသောအင်္ဂါရပ်အမျိုးမျိုးကိုပေးသည်။
// PHPUnit test case
require_once "vendor/autoload.php";
use PHPUnit\Framework\TestCase;
class MyTest extends TestCase
{
public function testAdd()
{
$a = 1;
$b = 2;
$result = add($a, $b);
$this->assertEquals(3, $result);
}
}
အထက်ပါဥပမာသည် Phpunit စမ်းသပ်မှုများကိုမည်သို့ရေးသားရမည်ကိုပြသသည်။ ဤလုပ်ငန်းစဉ်ကို Jenkins များနှင့်ပေါင်းစပ်လိုက်သောအခါ code ကိုစနစ်တည်ငြိမ်မှုကိုသေချာစေရန်ဤစစ်ဆေးမှုများကိုအလိုအလျောက်ကွပ်မျက်ခံရလိမ့်မည်။
Code အရည်အသွေးစီမံခန့်ခွဲမှုအပြင် Jenkins သည်အဖွဲပူးပေါင်းဆောင်ရွက်မှုကိုတိုးတက်စေရန်အတွက်စည်းစိမ်ဥစ်စာများနှင့်ဖွံ့ဖြိုးရေးစွမ်းရည်တိုးတက်စေရန်အတွက်စည်းစိမ်ဥစ်စာများလည်းပေးသည်။
// Capistrano deployment script
require "capistrano/lib/capistrano/tasks"
set :application, "my_app"
set :deploy_to, "/var/www/my_app"
set :scm, :git
set :repo_url, "git@GitHub.com:user/my_app.git"
namespace :deploy do
task :update_code do
on roles(:app), in: :sequence, wait: 5 do
execute :git, "clone #{repo_url} #{current_path}"
end
end
task :install do
on roles(:app), in: :parallel do
within current_path do
execute :composer, "install --no-dev"
end
end
end
task :deploy do
update_code
install
restart
end
end
ဤဥပမာသည် PHP စီမံကိန်းများ၏ဖြန့်ကျက်မှုလုပ်ငန်းစဉ်ကိုအလိုအလျောက်အလိုအလျောက်အလိုအလျောက်အလိုအလျောက်အသုံးပြုရန်ဤဥပမာကိုပြသသည်။ Jenkins နှင့်အတူဖြန့်ကျက်ခြင်းလုပ်ငန်းများကိုကျူးလွန်ခြင်းသို့မဟုတ်ပေါင်းစည်းခြင်း,
Jenkins များကို PHP စီမံကိန်းများနှင့်ပေါင်းစပ်ခြင်းက Code အရည်အသွေးနှင့်ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာစွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေသည်သာမကအသင်းအားစဉ်ဆက်မပြတ်ပေးပို့ခြင်းနှင့်ပူးပေါင်းဆောင်ရွက်မှုကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ စမ်းသပ်ခြင်း, အဆောက်အအုံနှင့်ဖြန့်ကျက်ခြင်းအားဖြင့်ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်သည်ချောချောမွေ့မွေ့ဖြစ်လာသည်။ ကိုယ်ရေးကိုယ်တာစီမံကိန်းသို့မဟုတ်အဖွဲ့လိုက်ဖွံ့ဖြိုးတိုးတက်မှုရှိမရှိ Jenkins သည်အရည်အသွေးမြင့် PHP application များကိုတည်ဆောက်ရန်အတွက်မရှိမဖြစ်လိုအပ်သောကိရိယာတစ်ခုဖြစ်သည်။