(二)使用 jenkins 靈活的構建項目

(一)jenkins + GitHub 實現項目自動化部署

1、想要靈活的構建項目的不一樣分支怎麼辦?

一、安裝 Git Parameter 插件

打開系統管理 --> 插件管理
php

在可選插件選項中搜索 Git Parameter,並將它勾選,直接進行安裝,等待安裝完成並重啓
html

此時在已安裝選項中能夠看到該插件
vue

二、從新配置咱們以前已有的任務工程

General 選項下,勾選參數化構建過程,並添加 Git 參數
node

在新出現的參數配置中填寫名稱、選擇參數類型爲「分支」
nginx

在源碼管理選項下,選擇 Git 項,分支填寫爲上面定義的變量,源碼庫瀏覽器選擇 「自動」 並保存。
laravel

三、測試並構建不一樣分支。

進入工程中,能夠看到以前的 「當即構建」 已經改變爲 Build with Parameters
git

點擊進入後能夠看到分支列表,選中分支便可 「當即構建」,訪問 ip 地址,能夠看到頁面內容已經發生改變,說明配置成功
shell

2、想要 npm run 選項怎麼辦?

以前的演示項目只是單純的 h5,如今咱們以 laravel + vue 來進行演示。咱們知道,vue 項目中,若頁面內容發生改變,須要編譯事後才能把效果展現出來。那用 jenkins 怎麼方便的操做呢。
一、配置任務工程npm

(二)使用 jenkins 靈活的構建項目

二、在參數化構建過程下,添加參數,選擇布爾值參數,如圖所示。瀏覽器

(二)使用 jenkins 靈活的構建項目

三、修改 shell 命令,命令以下。

// 當前目錄
pwd 

composer install

// 若不勾選 `npmrun` 選項,將除了如下這幾個文件打包到指定目錄
if [ $npmrun = 'false' ];then
    rsync -arlh --exclude=node_modules --exclude=.git --exclude=.env --exclude=public * /usr/share/nginx/html/ceshi #將文件除了這幾個文件打包到指定目錄
fi

chmod -R 777 storage

// 若勾選 `npmrun` 選項,將除了如下這幾個文件打包到指定目錄,並編譯
if [ $npmrun = 'true' ];then
    rsync -arlh --exclude=node_modules --exclude=.git --exclude=.env * /usr/share/nginx/html/ceshi
    cd /usr/share/nginx/html/ceshi
    npm install
    npm run dev
fi

(二)使用 jenkins 靈活的構建項目

四、此時咱們去構建項目時,會出錯,打開控制檯輸出,能夠看到報 composer: command not found

(二)使用 jenkins 靈活的構建項目

(二)使用 jenkins 靈活的構建項目

五、咱們去安裝 composerPHPnodeJs
PHP 安裝教程
composer 安裝教程
nodejs 安裝教程

六、安裝完畢以後,若再次構建的時候仍是出現 composer: command not found,在命令行輸入 echo $PATH,拿到環境變量,將之配置到 jenkins 中。

(二)使用 jenkins 靈活的構建項目

系統管理 --> 系統配置 --> 全局屬性 --> 環境變量,新建鍵值

(二)使用 jenkins 靈活的構建項目

(二)使用 jenkins 靈活的構建項目

七、修改 nginx 配置文件,並使用 nginx -s reload 命令重啓 nginx

server {
    listen 80;
    server_name localhost;
    root  /usr/share/nginx/html/ceshi/public;

    index index.html
    index.php;

    location / {
    try_files $uri $uri/
        /index.php$is_args$query_string;
    }

    location ~ \.php$ {
    try_files $uri = 404; 
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

八、訪問服務器 ip,若出現錯誤,能夠到 nginx 的錯誤日誌裏去看具體緣由 /var/log/nginx/error.log。出現 500 錯誤,多是 vendorstorage文件夾權限問題。

chown -R nginx:nginx vendor     // vendor文件夾的全部者修改成nginx
chown -R nginx:nginx storage    // storage文件夾的全部者修改成nginx

大功告成

(二)使用 jenkins 靈活的構建項目

相關文章
相關標籤/搜索