基於 deployer 的 Web 端自動部署

jcc123發表於2019-04-06

命令列端的deployer是無狀態,對於每一個專案想要檢視釋出的記錄是一件很難受的一件事,因此有了此專案
效果預覽

專案列表

基於 deployer 的 Web 端自動部署

新建伺服器

基於 deployer 的 Web 端自動部署

新建任務

基於 deployer 的 Web 端自動部署

新建專案

基於 deployer 的 Web 端自動部署

釋出專案

基於 deployer 的 Web 端自動部署

ajax輪詢展示專案部署狀態

基於 deployer 的 Web 端自動部署

install

git clone https://github.com/jc91715/deployer project 

composer

cd project && composer install

配置資料庫遷移

php artisan db:seed

佇列監聽

php artisan queue:listen &

訪問 yourdomain.com 或者 yourdomain.com/build/admin/index.html

賬戶 admin@admin.com
密碼 secret

前後端分離

後端

  • Laravel 5.5
    前端
  • vue 2.6.6

使用laravel-mix 前端打包後的程式碼在public/build/admin 路徑下。兩種方式訪問前端程式碼

  • 1 yourdomain.com
  • 2 yourdomain.com/build/admin/index.html

    如何使用

    使用之前部署該web的伺服器的id_rsa.pub放到要部署的伺服器上

先熟悉使用 deployer
瞭解server和task的概念
專案之間是透過空間隔開的,同一空間下的專案可以共享task和server。假如要配置測試環境,測試環境就是配置的一些引數不一樣,可以新建一個專案,在專案的env(laravel框架)配置不同就可以,其它框架可以自行實現測試環境的配置

1新建空間

2 新建伺服器

配置格式

jc91715.top:
    host: 47.96.15.116
    user: root
    identity_file:
        public_key: ~/.ssh/id_rsa.pub
        private_key: ~/.ssh/id_rsa
    stage: master
    deploy_path: /var/www/sites/helloworld
jc91715.top:
    host: 47.96.15.116
    user: root
    identity_file:
        public_key: ~/.ssh/id_rsa.pub
        private_key: ~/.ssh/id_rsa
    stage: master
    deploy_path: /var/www/sites/helloworld

3 新建任務

任務格式

 <?php  
require 'recipe/laravel.php';
task('chown:user', function() {

    run('cd {{deploy_path}}/../ && chown  ubuntu:www-data {{deploy_path}} -R');
});after('deploy:unlock', 'chown:user');

4 新建專案

  • 填寫倉庫名字
  • 選擇伺服器
  • 選擇任務
  • 填寫配置檔案

    5 釋出

  • 填寫分支名字
  • 填寫分支hash
本作品採用《CC 協議》,轉載必須註明作者和本文連結
NOT IS BECAUSE I WANT TO WRITE, BUT I WANT TO INCREASE, SO I GO TO WRITE~~

相關文章